暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PolarDB分布式版的发展历史

酷数据库 2023-06-21
300

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

整个技术架构的发展,可分为四个阶段:发展历程

TDDL

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

DRDS

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

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网络优化存储计算分离架构,实现了一写多读的能力,并提供资源池化,降低用户成本;具备优化并提供秒级备份恢复、秒级弹性等能力,成为公有云增速最快的数据库产品。

基于这些技术探索和沉淀,我们开始思考基于云架构的分布式数据库应该是什么样的形态。

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

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

2021年,我们完成原DRDS SQL引擎和X-DB数据库存储技术的融合,并结合PolarDB的云原生特性,承上启下推出了新一代的云原生分布式数据库,就此开启了PolarDB-X 2.0时代。该时代的产品专注解决单机解决不好的分布式扩展性问题,满足分布式数据一致性要求,并支持从单机到分布式的平滑演进,利用云原生技术的优势提供低成本和弹性能力,在交付上具备线上公有云、线下专有云、轻量化等全形态输出。2003年,淘宝网成立之初,采用经典的LAMP架构(Linux-Apache-MySQL-PHP)。随着用户量迅速增长,单机MySQL数据库很快便无法满足数据存储需求。之后,淘宝网进行了架构升级,数据库改用Oracle。随着用户量的继续快速增长,Oracle数据库也开始成批的增加,即使这样,仍然无法满足业务对数据库扩展性的诉求。因此,阿里巴巴内部在2009年时发起了著名的去IOE运动,PolarDB-X也开启了自己的演进之路。

整个技术架构的发展,可分为四个阶段:发展历程

TDDL

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

DRDS

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

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网络优化存储计算分离架构,实现了一写多读的能力,并提供资源池化,降低用户成本;具备优化并提供秒级备份恢复、秒级弹性等能力,成为公有云增速最快的数据库产品。

基于这些技术探索和沉淀,我们开始思考基于云架构的分布式数据库应该是什么样的形态。

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

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

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

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论