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

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 以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

相关文章
|
1月前
|
监控 Cloud Native Java
Quarkus 云原生Java框架技术详解与实践指南
本文档全面介绍 Quarkus 框架的核心概念、架构特性和实践应用。作为新一代的云原生 Java 框架,Quarkus 旨在为 OpenJDK HotSpot 和 GraalVM 量身定制,显著提升 Java 在容器化环境中的运行效率。本文将深入探讨其响应式编程模型、原生编译能力、扩展机制以及与微服务架构的深度集成,帮助开发者构建高效、轻量的云原生应用。
145 44
|
25天前
|
SQL 数据可视化 关系型数据库
MCP与PolarDB集成技术分析:降低SQL门槛与简化数据可视化流程的机制解析
阿里云PolarDB与MCP协议融合,打造“自然语言即分析”的新范式。通过云原生数据库与标准化AI接口协同,实现零代码、分钟级从数据到可视化洞察,打破技术壁垒,提升分析效率99%,推动企业数据能力普惠化。
117 3
|
11天前
|
Kubernetes Cloud Native 云计算
云计算与云原生技术探索
🌟蒋星熠Jaxonic,云原生探索者!以代码为舟,遨游技术星河。专注容器化、微服务、K8s与DevOps,践行GitOps理念,拥抱多云未来。用架构编织星辰,让创新照亮极客征途!
云计算与云原生技术探索
|
3天前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
60 1
|
5月前
|
人工智能 Cloud Native 安全
云原生+AI 为企业出海提供全新技术引擎!明天见
5月22日 14:00「飞天发布时刻」,阿里云云原生应用平台产品负责人李国强将重磅揭晓面向 AI 场景的云原生产品体系升级,通过弹性智能的全球一体化架构、开箱即用的云原生 AI 工程化能力,为中国企业出海提供全新技术引擎。
|
23天前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
91 8
|
23天前
|
消息中间件 监控 Java
Apache Kafka 分布式流处理平台技术详解与实践指南
本文档全面介绍 Apache Kafka 分布式流处理平台的核心概念、架构设计和实践应用。作为高吞吐量、低延迟的分布式消息系统,Kafka 已成为现代数据管道和流处理应用的事实标准。本文将深入探讨其生产者-消费者模型、主题分区机制、副本复制、流处理API等核心机制,帮助开发者构建可靠、可扩展的实时数据流处理系统。
213 4
|
21天前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
69 1
|
9天前
|
机器学习/深度学习 监控 PyTorch
68_分布式训练技术:DDP与Horovod
随着大型语言模型(LLM)规模的不断扩大,从早期的BERT(数亿参数)到如今的GPT-4(万亿级参数),单卡训练已经成为不可能完成的任务。分布式训练技术应运而生,成为大模型开发的核心基础设施。2025年,分布式训练技术已经发展到相当成熟的阶段,各种优化策略和框架不断涌现,为大模型训练提供了强大的支持。
107 0
|
18天前
|
JSON 监控 Java
Elasticsearch 分布式搜索与分析引擎技术详解与实践指南
本文档全面介绍 Elasticsearch 分布式搜索与分析引擎的核心概念、架构设计和实践应用。作为基于 Lucene 的分布式搜索引擎,Elasticsearch 提供了近实时的搜索能力、强大的数据分析功能和可扩展的分布式架构。本文将深入探讨其索引机制、查询 DSL、集群管理、性能优化以及与各种应用场景的集成,帮助开发者构建高性能的搜索和分析系统。
139 0

相关产品

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