十年磨一剑,云原生分布式数据库PolarDB-X的核心技术演化

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS SQL Server,独享型 2核4GB
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
简介: 以MySQL为存储构建分布式数据库这条路上走了10余年,这中间积累了大量的技术,也走了一些弯路,未来我们也会坚定的走下去。

PolarDB-X使TDDL2007JavaDRDS20122014线+MySQLProxy2019PolarDB-XPolarDBMySQL10


PolarDB-XDRDSPolarDB-XPolarDB-XPolarDB-X

20122019

DRDS


  1. RDSMySQL2T
  2. ShareStorageCPU\
  3. 使


TDDLMySQLProxyCobar便DRDS


--使

DRDS


亿使AK/SKOpenAPI

image.png

ECSDRDSSLBSLSSQLDRDSRDS


广DRDSECSIP便DRDS


DRDS

DRDS


SQLMySQL

TDDL使SQLSQLSQLSQLSQL


DRDSTDDLSQL



  • MySQLDRDSMySQLMySQLDRDShttps://github.com/ApsaraDB/galaxysql/tree/main/polardbx-optimizer/src/main/java/com/alibaba/polardbx/optimizer/core/function
  • MySQLcharsetcollation使MySQLDRDS使MySQLDRDSMySQLcharsetcollationutf8mb4_general_cihttps://github.com/ApsaraDB/galaxysql/blob/main/polardbx-common/src/main/java/com/alibaba/polardbx/common/collation/Utf8mb4GeneralCiCollationHandler.java


https://zhuanlan.zhihu.com/p/374130246sql_modePolarDB-X


MySQL使KVFilterMySQLSQLJOINMySQLDRDS


image.png

DRDS
https://zhuanlan.zhihu.com/p/366312701


MPP

JoinHybridHashJoinLookupJoinNestedLoopJoinSortMergeJoinMaterializedSemiJoin


DRDS线SQLSQLSMPMPPhttps://zhuanlan.zhihu.com/p/346320114


spillout使15MTPCH1Ghttps://zhuanlan.zhihu.com/p/363435372


PolarDB-XSQL



使MySQLMySQL使


MySQL



  1. 使使GTSTXCSQLSQL
  2. 使GTMGTMGTMCoordinator使使GTM使
  3. XAMySQLXABUGMySQLXABUGXAXA


PolarDB-XMySQL


DRDS

SQL


0



  1. SQL


西

2019

之路


广


MySQLBB

CREATE TABLE t1(id INT,name CHAR(32),    addr TEXT,    PRIMARY KEY (id))

Bididwhereid=14id

image.png

BKeyRange


wherename='Megan'MySQLnamename

CREATE INDEX idx ON t1(name)

MySQLBTreeKeyt1BTreeidx

id->name,addrname->id

使wherename='Megan'访idxBname='Megan'id使idB

image.png

使



西使GlobalIndex


SQL

INSERT INTO t1 (id,name,addr) VALUES (1,"meng","hz");

ordersseller_idseller_idinsert

INSERT INTO t1 (id,name,addr) VALUES (1,"meng","hz");INSERT INTO idx (id,name) VALUES (1,"meng");

t1ididxname

image.png

DN


DML






  • ...



100%


  1. SNAPSHOTISOLATIONMySQLHLCTrueTimeTSOGTM使
  2. 100%TPCC10%HLCTSOTrueTimeGTMTSOTSOGrouping
  3. 使TSO/HLC1PCAsyncCommit



  • DDL

  • BigKey


使




使


使


使

化器






SQL


  • JOIN3x2x1=66
  • 3(3x3)x(2x3)x(1x3)=162


RBO


PolarDB-X使https://zhuanlan.zhihu.com/p/370372242


MySQL

MySQL


使MVCCTSO+2PCXA


MySQLMVCCstart_timestampMySQLtrx_idMVCC


  • TSOhttps://zhuanlan.zhihu.com/p/360160666
  • 使TSOtrx_id
  • commit_timestampTSO使strat_timestampcommit_timestamp


https://zhuanlan.zhihu.com/p/355413022使GTM

PolarDB-X

image.png

InnoDBLizardhttps://developer.aliyun.com/article/795058

image.png

PolarDB-X

  • PolarDB-X
    https://zhuanlan.zhihu.com/p/329978215
  • PolarDB-X
    https://zhuanlan.zhihu.com/p/338535541


PolarDB-X


PolarDB-X

PolarDB-X


CREATEDATABASEmode='auto'


MySQL

create table orders (id bigint,    buyer_id varchar(128) comment '买家',    seller_id varchar(128) comment '卖家',   primary key(id),index sdx(seller_id),index bdx(buyer_id))

image.png

MySQLOnline

CREATE INDEX idx_seller_id ON orders (seller_id);


PolarDB-XMySQLMySQLRCRR


PolarDB-X使


PolarDB-Xhttps://zhuanlan.zhihu.com/p/424174858



  • TiDBCockroachDB
  • OceanBaseYugabyteDB



使


使使10%90%



PolarDB-XJoinGroup/TableGroup线


PolarDB-X使使


使PaxosRPO=0

MySQL使湿


使PaxosRaftPaxos


MySQL


PolarDB-X使PaxosX-PaxosMySQL100%使X-PaxosMySQL


X-Paxos

  • PolarDB-XX-Paxoshttps://zhuanlan.zhihu.com/p/302845832
  • PolarDB-XPaxoshttps://zhuanlan.zhihu.com/p/315596644


MySQLBinlog

MySQL使MySQL

  • MySQLBinlogDDL
  • CDCOceanBaseTiDBMySQLBinlog使MySQL


PolarDB-XMySQLBinlog使MySQLBinlogCanalPolarDB-XBinlog

image.png

PolarDB-X

  • PolarDB-XMySQLBinloghttps://zhuanlan.zhihu.com/p/512114589
  • PolarDB-XBinloghttps://zhuanlan.zhihu.com/p/369115822

PolarDB-X


MySQLMySQL线异。MySQL使KVMySQLMySQLMySQL


便PolarDB-XCNDNMySQLMySQLServer线MySQLParser使RPCMySQLMySQLServerPolarDB-X


使PolarDB-XJoin使


PolarDB-XOSSOSS线SQL访使SparkOSShttps://zhuanlan.zhihu.com/p/477664175


HTAPHTAP使OKHA使HTAPHTAP出来


使PolarDB-X



PolarDB-Xhttps://www.zhihu.com/org/polardb-x

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
7天前
|
Kubernetes Cloud Native 持续交付
云原生技术的未来之路
本文将探讨云原生技术的现状与未来,揭示其在数字化转型中的核心作用。我们将通过分析云原生技术的发展趋势,展示其如何助力企业实现更高效、灵活的运营模式。文章不仅会深入讨论云原生技术带来的挑战和机遇,还会提供实用的案例分析,帮助读者更好地理解云原生技术的实际价值和应用前景。
因为一个问题、我新学了一门技术 ElasticSearch 分布式搜索
这篇文章讲述了作者因为一个检索问题而学习了ElasticSearch技术,并分享了排查和解决ElasticSearch检索结果与页面展示不符的过程。
因为一个问题、我新学了一门技术 ElasticSearch 分布式搜索
|
1天前
|
Java 关系型数据库 MySQL
"解锁Java Web传奇之旅:从JDK1.8到Tomcat,再到MariaDB,一场跨越数据库的冒险安装盛宴,挑战你的技术极限!"
【8月更文挑战第19天】在Linux上搭建Java Web应用环境,需安装JDK 1.8、Tomcat及MariaDB。本指南详述了使用apt-get安装OpenJDK 1.8的方法,并验证其版本。接着下载与解压Tomcat至`/usr/local/`目录,并启动服务。最后,通过apt-get安装MariaDB,设置基本安全配置。完成这些步骤后,即可验证各组件的状态,为部署Java Web应用打下基础。
7 1
|
6天前
|
Cloud Native API 云计算
云端漫步:探索云原生技术的无限可能
在数字世界的构建中,云原生技术如同一股清泉,为现代企业带来了源源不断的活力与创新。本文将从云原生技术的基本概念出发,深入探讨其在现代IT架构中的应用和影响,以及它如何引领着技术发展的潮流。我们将一同走进云计算的世界,了解云原生的精髓所在,并展望这一技术未来的发展蓝图。
24 7
|
4天前
|
Cloud Native 持续交付 云计算
云原生技术:未来软件开发的航标
在数字时代的洪流中,云原生技术如同一座灯塔,引领着软件开发的未来方向。本文将深入浅出地探讨云原生的核心概念、优势以及实际应用案例,帮助读者理解云原生如何成为现代软件工程的重要支柱,并展望其在未来技术生态中的发展潜力。
|
7天前
|
运维 Cloud Native 云计算
云原生技术在现代企业中的应用与挑战
【8月更文挑战第13天】随着云计算技术的不断发展,云原生作为一种新型的架构模式,正在被越来越多的企业所采用。本文将探讨云原生技术的核心概念、优势以及在现代企业中的应用案例,同时分析企业在实施云原生过程中可能遇到的挑战和解决方案。
|
5天前
|
Cloud Native 持续交付 开发者
"云原生时代,开发者如何坐拥创新利器,秒变技术大牛?揭秘黄金时代背后的秘密武器与无限可能!"
【8月更文挑战第14天】云原生技术的兴起标志着软件开发进入黄金时代。它不仅是一种技术趋势,更是思维的革新,赋予开发者前所未有的灵活性和效率。通过微服务、容器化等技术,云原生加速了创新迭代,提升了资源利用与成本效益,增强了应用的可靠性和韧性,并促进了团队间的协作与知识共享。这一切都为开发者创造了更多机遇与挑战。
16 1
|
6天前
|
设计模式 弹性计算 Cloud Native
云原生技术在现代企业中的应用与挑战
本文旨在探讨云原生技术如何成为现代企业数字化转型的催化剂。通过分析云原生的核心概念和优势,我们深入讨论了容器化、微服务架构等关键技术如何助力企业快速适应市场变化。同时,文章也指出了企业在采纳云原生技术过程中可能遭遇的安全、成本和技术挑战,并提供了相应的解决策略。最后,结合案例分析,展现了云原生技术在实际应用中带来的积极影响及未来的发展趋势。
|
7天前
|
Cloud Native 持续交付 开发者
云原生之旅:从传统到现代的架构演化
本文将通过一次虚拟的旅行,带领读者穿越回过去,探索软件架构的发展脉络。我们将从单体应用开始,一路经过服务化拆分,最终抵达云原生的乐土。这不仅是一段技术演进的历史,也是对如何在不断变化的技术浪潮中保持初心与创新的启示录。
19 2
|
7天前
|
运维 Cloud Native 持续交付
云原生技术在现代企业中的应用与挑战
【8月更文挑战第13天】随着数字化转型的深入,云原生技术成为推动企业IT革新的关键力量。本文将探讨云原生技术的核心价值、在现代企业中的应用场景及其面临的主要挑战,旨在为读者提供一个关于云原生技术实际应用与未来发展趋势的全面视角。

相关产品

  • 云原生分布式数据库 PolarDB-X
  • 云原生数据库 PolarDB