技术白皮书—行业趋势与背景-阿里云开发者社区

开发者社区> -技术小能手-> 正文

技术白皮书—行业趋势与背景

简介: 行业趋势 数据库系统至关重要 数据库与操作系统、中间件并称为系统软件的“三架马车”,是企业IT系统不可或缺的组件,也是互联网应用级企业信息管理系统存储数据和管理数据的核心平台。
+关注继续查看

数据库系统是一切应用软件的数据处理及交换核心,是所有基础软件进行数据存储、查询、分析处理的中心。数据库系统运行性能是否高效稳定、接口语言是否通用,直接决定了上层应用能否给用户提供最好的性能,同时直接影响开发人员效率。根据全球权威 IT 研究咨询公司Gartner数据,2017年全球企业基础软件市场规模1958.52亿美金,其中数据库市场规模388亿美金,占比近20%,是最大组成部分。

分布式数据库是发展方向

近年来,随着互联网、大数据的飞速发展,特别是“双十一”指数型的成交总额发展曲线,让世界看到了中国电子商务业务的火箭式发展势头。而同时,对于背后的业务支撑系统来说,同样经历了火箭式的系统压力增长。以“双十一”为例,除了直接面向用户的电商网站系统,还有背后各相关物流公司的物流系统,各相关银行的支付系统, 各卖家的仓储系统等等。

随着普惠金融、数字金融的快速推进,数据能力也已经成为金融机构在新时代提升业务能力的重要抓手。与此同时,移动互联网和电子支付业务的蓬勃发展,给金融行业的典型应用场景,如核心账户与账务交易、在线支付/移动支付交易业务、实时交易监控与指标分析等,带来新数据形态下的金融系统能力需求。

传统的银行支付系统通常采用所谓的“IOE”结构,即IBM的大型机或小型机、Oracle的数据库、EMC的存储设备,这套系统仍存在成本巨大且与服务提供商严重捆绑的隐患。随着移动互联网的快速发展以及电子支付的兴起,对于银行核心支付系统来说是爆炸式的业务增速。传统的“IOE”系统为集中式系统,但是随着“摩尔定律”的逐渐失效,单台服务器上的性能极限已经慢慢显露,在这种情况下,技术人员逐渐开始探索将原有的集中式系统改造为分布式系统,通过多台中低端服务器的水平扩展方式替换一台高性能服务器垂直扩展方式,同时完成降低成本、增长性能的目的。在这种需求下,未来大规模分布式事务型数据库成为解决分布式系统数据存储、管理的主要方向。

PolarDB-X技术发展

产品前言

PolarDB-X是由阿里巴巴自主研发的云原生分布式数据库,融合分布式SQL引擎DRDS与分布式自研存储X-DB,基于云原生一体化架构设计,可支撑千万级并发规模及百PB级海量存储。专注解决海量数据存储、超高并发吞吐、大表瓶颈以及复杂计算效率等数据库瓶颈问题,历经各届天猫双十一及阿里云各行业客户业务的考验,助力企业加速完成业务数字化转型。

PolarDB-X核心能力采用标准关系型数据库技术实现,配合完善的管控运维及产品化能力,使其具备稳定可靠、高度可扩展、持续可运维、类传统单机MySQL数据库体验的特点。

PolarDB-X在公共云和专有云环境沉淀打磨多年,历经各届天猫双十一核心交易业务及各行业阿里云客户业务的考验。承载大量用户核心在线业务,横跨互联网、金融支付、教育、通信、公共事业等多行业,是阿里巴巴集团内部所有在线核心业务及众多阿里云客户业务接入分布式数据库的事实标准。

发展历程

2003年,淘宝网成立之初,采用经典的LAMP架构(Linux-Apache-MySQL-PHP)。随着用户量迅速增长,单机MySQL数据库很快便无法满足数据存储需求。之后,淘宝网进行了架构升级,数据库改用Oracle。随着用户量的继续快速增长,Oracle数据库也开始成批的增加,即使这样,仍然无法满足业务对数据库扩展性的诉求。因此,阿里巴巴内部在2009年时发起了著名的去IOE运动,PolarDB-X也开启了自己的演进之路。

整个技术架构的发展,可分为四个阶段:p338274 (1).png

TDDL

去IOE的关键一环是实现对Oracle的替换。当时淘宝的业务体量已很难用成熟的技术产品支撑,为了避免以后出现卡脖子情况,技术的自力更生和自主可控成为一个核心诉求。一方面,随着x86技术日趋成熟,稳定性与小型机的差距不断缩小,另一方面,MySQL采用轻量化线程模型并具备高并发的支持能力,其生态逐步完善,因此新方案采用了基于Sharding技术+开源MySQL的分布式架构(TDDL+ AliSQL ),这代产品的特征是以解决扩展性为目标、面向系统架构使用,尚不具备产品化能力。

DRDS

随着TDDL时代架构的逐渐成熟,2014年开始,基于阿里云,数据库的发展走上了云数据库之路。作为分库分表技术的开创者,我们推出了DRDS+RDS的分布式云数据库服务。这代产品的特征是采用Share-Nothing架构,以解决存储扩展性为出发点,提供面向用户的产品化交付能力。DRDS是国内第一家落地分布式技术的云服务,成为云市场上分布式数据库技术方向的开创者和引领者。

PolarDB-X 1.0

针对分库分表使用中的痛点,我们不断进行产品能力迭代,陆续支持了分布式事务、全局二级索引、异步DDL等内核特性,持续改进SQL兼容性,实现子查询展开、Join下推等复杂优化,并开发了平滑扩容、一致性备份恢复、SQL闪回、SQL审计等运维能力。这期间,我们不断扩展 Sharding 技术的能力边界,探寻它的能力上限。这个探索的过程,一方面使我们的计算层能力更加稳定、丰富和标准化,另一方面也促使着DRDS从中间件到分布式数据库的蜕变。2019年PolarDB-X全新产品线发布,成为一个新的里程碑。

PolarDB-X 2.0

2018年开始,我们逐渐触碰到了计算层的能力边界,比如无法提供RR隔离级别的事务能力、计算下推受限于SQL表达能力、数据查询的传输效率底下、多副本的线性一致性不可控等,这些问题像一个无法穿透的屏障,但我们能看到屏障的对面是什么,能看到所有障碍都指向了同一个方向:计算层需要与存储层深度融合。

值得高兴的是,我们的AliSQL分支从诞生起就没有停止前进的步伐。通过集团业务多年的技术锤炼,基于AliSQL演化而来的X-DB数据库(包括X-Paxos协议库、X-Engine存储引擎等),在三副本、低成本存储等技术有了非常好的沉淀。

与此同时,基于云原生架构理念的PolarDB,通过引入RDMA网络优化存储计算分离架构,实现了一写多读的能力,并提供资源池化,降低用户成本;具备优化并提供秒级备份恢复、秒级弹性等能力,成为公有云增速最快的数据库产品。

基于这些技术探索和沉淀,我们开始思考基于云架构的分布式数据库应该是什么样的形态。从宏观角度来看,会有云原生、国产化、分布式、HTAP等诉求。

从用户角度来看,需要满足用户使用云的一些期望,比如用户的数据库数据永远不会丢,即使主机异常宕机,这里需要有数据强一致以及高可用容灾等能力;比如随着移动互联网和IoT的普及,数据层面会有爆炸式的增长,以及疫情之后有更多的企业会关注IT成本,因此高性能、低成本和可扩展的计算和存储能力也成为普适性诉求;另外,按查询付费的弹性能力,也是市场的一个诉求。

因此,下一代的分布式数据库需要具备:金融级高可用和容灾、水平扩展、低成本存储、按需弹性、透明分布式、HTAP混合负载、融合新硬件等。

2021年,我们完成原DRDS SQL引擎和X-DB数据库存储技术的融合,并结合PolarDB的云原生特性,承上启下推出了新一代的云原生分布式数据库,就此开启了PolarDB-X 2.0时代。该时代的产品专注解决单机解决不好的分布式扩展性问题,满足分布式数据一致性要求,并支持从单机到分布式的平滑演进,利用云原生技术的优势提供低成本和弹性能力,在交付上具备线上公有云、线下专有云、轻量化等全形态输出。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
4121 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4569 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
9480 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
5512 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
5784 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
3514 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
17219 0
1555
文章
0
问答
来源圈子
更多
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载