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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 以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-X
《PolarDB-X 动手实践》系列第一期,体验如何一键安装部署 PolarDB-X。
相关文章
|
1天前
|
机器学习/深度学习 存储 人工智能
新一代数据库技术:融合人工智能与分布式系统的未来前景
传统数据库技术在应对大规模数据处理和智能化需求方面逐渐显露出瓶颈。本文探讨了新一代数据库技术的发展趋势,重点关注了人工智能与分布式系统的融合,以及其在未来数据管理和分析中的潜在优势。通过深度学习和自动化技术,新型数据库系统能够实现更高效的数据处理和智能化决策,为企业带来更灵活、可靠的数据解决方案。
|
1天前
|
运维 Cloud Native 持续交付
构建未来:云原生技术在企业数字化转型中的关键作用
【5月更文挑战第12天】 随着企业加速其数字化转型的步伐,云原生技术已站在风口浪尖,成为支撑现代应用架构的骨干力量。本文深入探讨了云原生技术的核心概念、发展历程以及如何在不断变化的技术环境中满足企业的动态需求。我们将分析微服务、容器化、持续集成和持续部署(CI/CD)以及DevOps文化如何共同塑造了一个敏捷、可扩展且高效的系统环境。通过实际案例和最新趋势的讨论,文章旨在揭示云原生技术如何使企业能够快速响应市场变化,提高运营效率,并最终实现业务目标。
7 2
|
3天前
|
Cloud Native Devops 持续交付
构建未来:云原生技术在企业数字化转型中的关键作用
【5月更文挑战第9天】 随着企业加速其数字化转型的步伐,云原生技术已经成为推动创新和灵活性的核心力量。本文将探讨云原生架构的基本原理、它如何促进微服务和容器化策略的实施,以及它如何帮助企业实现敏捷性和可扩展性。通过对最新行业趋势的分析与实际案例研究,文章揭示了云原生技术如何助力企业优化资源配置,提高运营效率,并最终在竞争激烈的市场中保持领先地位。
|
4天前
|
存储 NoSQL 搜索推荐
探索新一代数据库技术:基于图数据库的应用与优势
传统关系型数据库在处理复杂的关系数据时存在着诸多限制,而基于图数据库的新一代数据库技术则提供了更为灵活和高效的解决方案。本文将深入探讨图数据库的核心概念、应用场景以及与传统数据库相比的优势,带领读者一窥未来数据库技术的发展趋势。
|
5天前
|
存储 缓存 算法
ICDE2024 |VDTuner:向量数据库自动调优技术
在CodeFuse接入实际业务的过程中,大模型的推理成本以及生成内容的准确性是产品规模落地的两个核心考量因素。为了降低推理成本,我们研发了CodeFuse-ModelCache语义缓存加速功能,通过引入Cache机制,缓存已经计算的结果,当接收到类似请求后直接提取缓存结果返回给用户。另一方面,为了提升代码生成的准确度,我们引入了few shot机制,在输入大模型之前拼接一些类似的代码片段,帮助大模型更好的理解希望生成的目标代码。上述两个核心功能的实现都依赖于向量数据库(Vector Data Management Systems, VDMS)存储并检索相似的请求或者代码片段。
15 0
|
5天前
|
存储 关系型数据库 分布式数据库
数据库索引回表困难?揭秘PolarDB存储引擎优化技术
PolarDB分布式版存储引擎采用CSM方案均衡资源开销与可用性。
数据库索引回表困难?揭秘PolarDB存储引擎优化技术
|
6天前
|
存储 机器学习/深度学习 人工智能
RAG:AI大模型联合向量数据库和 Llama-index,助力检索增强生成技术
RAG:AI大模型联合向量数据库和 Llama-index,助力检索增强生成技术
RAG:AI大模型联合向量数据库和 Llama-index,助力检索增强生成技术
|
7天前
|
边缘计算 运维 Cloud Native
探索云原生技术的未来发展趋势
随着数字化时代的不断深入,云原生技术已成为企业数字化转型的重要支撑。本文将探讨云原生技术的定义、特点以及未来发展趋势,重点关注容器化、微服务、自动化运维等方面,展望云原生技术在未来的发展方向与挑战。
22 1
|
8天前
|
Cloud Native 安全 Devops
构建未来:云原生技术在企业数字化转型中的关键角色
【5月更文挑战第5天】 随着企业加速其数字化进程,云原生技术已成为推动创新和灵活性的重要力量。本文探讨了云原生技术的核心组件、实施策略以及它们如何帮助企业实现敏捷开发和持续交付。通过深入分析容器化、微服务架构、DevOps实践和自动化工具的融合,揭示了这些技术如何共同作用,支持企业在竞争激烈的市场中快速适应变化。同时,文章还将讨论云原生安全挑战及应对措施,为读者提供一个全面的云原生技术应用视角。
44 14
|
8天前
|
Cloud Native 持续交付 云计算
构建未来:云原生技术在企业数字化转型中的关键作用
【5月更文挑战第5天】 随着企业不断探索在竞争激烈的市场中保持敏捷和创新的方法,云计算已经成为了推动数字化转型的重要动力。特别是云原生技术,作为构建和运行应用程序的一种新范式,正在改变企业开发、部署及管理软件的方式。本文将深入探讨云原生架构的核心组件、它如何促进企业的敏捷性,以及在采用云原生技术时面临的挑战和解决策略。通过分析案例研究和行业趋势,我们将揭示云原生技术在未来企业数字化道路上扮演的角色,并为希望利用这些技术的决策者提供实用的见解。

相关产品

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