要了解PolarDB-X的源码,首先要学习PolarDB-X的基本原理,建议可以从以下渠道开始学习。
由于PolarDB-X相关文档比较丰富,知识点分布广泛,因此我专门整理一篇导读文章帮助大家更有节奏有方向的学习。本文所推荐文章会按照由浅入深的顺序,并且每个知识点前都会进行提问,大家可以带着问题进入章节学习。最后希望大家都能领会到分布式数据库的魅力。
一、了解PolarDB-X诞生历史
问题:TDDL、DRDS、PolarDB-X各是什么时期的产品?
《PolarDB-X 的诞生和发展》
https://zhuanlan.zhihu.com/p/289870241
《PolarDB-X与DRDS有什么区别》
https://zhuanlan.zhihu.com/p/333458136
《PolarDB-X 与 X-DB、PolarDB》
https://zhuanlan.zhihu.com/p/296392729
二、了解整体架构
问题:什么是CN、DN、GMS、CDC? CN 和 DN 如何通信?
《PolarDB-X 简介》
https://zhuanlan.zhihu.com/p/290053012
《PolarDB-X:云原生分布式数据库》
https://zhuanlan.zhihu.com/p/343454525
《数据库架构杂谈(1)云数据库架构》
https://zhuanlan.zhihu.com/p/321353390
《PolarDB-X 私有协议设计》
https://zhuanlan.zhihu.com/p/308173106
《PolarDB-X 全局 Binlog 解读》
https://zhuanlan.zhihu.com/p/369115822
《PolarDB-X 全局 Binlog 解读之 DDL》
https://zhuanlan.zhihu.com/p/377854011
三、了解数据分布
问题:什么是Table Group 和 Partition Group ?为什么PolarDB-X默认选择Hash分区方式?
《PolarDB-X 数据分布解读(一)》和《PolarDB-X 数据分布解读》系列文章
https://zhuanlan.zhihu.com/p/395415647
《谈谈 PolarDB-X 的水平扩展》
https://zhuanlan.zhihu.com/p/357338439
《PolarDB-X 拆分规则变更》
https://zhuanlan.zhihu.com/p/358379137
《谈谈 PolarDB-X 的分区实现》
https://zhuanlan.zhihu.com/p/353697706
《分布式数据库如何实现 Join?》
https://zhuanlan.zhihu.com/p/349420901
四、PolarDB-X的ACID实现
问题:什么是MDL? 什么是双版本元数据? 什么是同城三机房和三地五中心?PolarDB-X的HA如何实现?
《PolarDB-X Online Schema Change》
https://zhuanlan.zhihu.com/p/341685541
《PolarDB-X:让“Online DDL”更Online》
https://zhuanlan.zhihu.com/p/347885003
《PolarDB-X:一条Alter语句修改拆分键、分区数》
https://zhuanlan.zhihu.com/p/346026906
《PolarDB-X 一致性共识协议 —— X-Paxos》
https://zhuanlan.zhihu.com/p/302845832
《PolarDB-X 存储架构之“基于Paxos的最佳生产实践”》
https://zhuanlan.zhihu.com/p/315596644
五、PolarDB-X的分布式事务实现
问题:XA和2PC有什么区别和联系?什么是TSO? 什么是HLC? 什么是MVCC?
《无处不在的 MySQL XA 事务》
https://zhuanlan.zhihu.com/p/372300181
《InnoDB事务 - 从原理到实现》
https://zhuanlan.zhihu.com/p/365415843
《PolarDB-X 强一致分布式事务原理》
https://zhuanlan.zhihu.com/p/329978215
《分布式数据库中的一致性与时间戳》
https://zhuanlan.zhihu.com/p/360690247
《PolarDB-X 全局时间戳服务的设计》
https://zhuanlan.zhihu.com/p/360160666
《PolarDB-X 分布式事务的实现(一)》
https://zhuanlan.zhihu.com/p/338535541
《PolarDB-X 分布式事务的实现(二)InnoDB CTS 扩展》
https://zhuanlan.zhihu.com/p/355413022
《PolarDB-X 分布式事务的实现(三):异步提交优化》
https://zhuanlan.zhihu.com/p/411794605
《PolarDB-X 分布式事务的实现(四):跨地域事务》
https://zhuanlan.zhihu.com/p/415744064
六、PolarDB-X优化器与执行器
问题:什么是AST?LogicalView算子是什么?什么是计算下推?如何查看执行计划?SPM是什么?MPP是什么?什么是隐式类型转换?
《查询优化器介绍》
https://help.aliyun.com/document_detail/316594.html
《查询执行器介绍》
https://help.aliyun.com/document_detail/316598.html
《执行计划介绍》
https://help.aliyun.com/document_detail/316590.html
《PolarDB-X 面向 HTAP 的 CBO 优化器》
https://zhuanlan.zhihu.com/p/336084031
《PolarDB-X 面向 HTAP 的混合执行器》
https://zhuanlan.zhihu.com/p/337062566
《PolarDB-X 的执行计划管理》
https://zhuanlan.zhihu.com/p/398558605
《PolarDB-X 中的计算下推》
https://zhuanlan.zhihu.com/p/366312701
《PolarDB-X 类型系统概述》
https://zhuanlan.zhihu.com/p/374130246
《子查询漫谈》
https://zhuanlan.zhihu.com/p/350009405
《PolarDB-X 向量化执行引擎(1)》
https://zhuanlan.zhihu.com/p/337574939
《优化器技术演进:统计信息feedback》
https://zhuanlan.zhihu.com/p/381127564
七、PolarDB-X资源管理和调度
问题:PolarDB-X内存池如何划分?动态抢占内存机制过程?一层调度和二层调度的区别?PolarDB-X如何解决调度死锁问题?
《PolarDB-X 如何用 15M 内存跑 TPC-H 1G?》
https://zhuanlan.zhihu.com/p/363435372
《PolarDB-X 并行计算框架》
https://zhuanlan.zhihu.com/p/346320114
八、PolarDB-X易用性
问题:如何在Kubernetes 上运行 PolarDB-X?SQL闪回如何实现? 发现问题SQL如何快速止血? 如何利用PolarDB-X特性优化慢SQL? 如何快速迁移数据?如何设计你的索引?
《PolarDB-X on Kubernetes(一)》
https://zhuanlan.zhihu.com/p/382877178
《PolarDB-X SQL 限流》
https://zhuanlan.zhihu.com/p/345227459
《PolarDB-X SQL 限流 (二)》
https://zhuanlan.zhihu.com/p/406517137
《如何分析及优化慢SQL》
https://help.aliyun.com/document_detail/311122.html
《如何分析数据分布不均衡》
https://help.aliyun.com/document_detail/309469.html
《PolarDB-X 智能索引推荐技术尝鲜》
https://zhuanlan.zhihu.com/p/346792091
《PolarDB-X 如何拯救误删数据的你(一)》
https://zhuanlan.zhihu.com/p/367137740
《真·异地多活架构怎么实现?使用PolarDB-X!》
https://zhuanlan.zhihu.com/p/364240552
《淘宝订单中隐藏的PolarDB-X最佳实践》
https://zhuanlan.zhihu.com/p/361903384
《1分钟搞定PolarDB-X的在线扩容》
https://zhuanlan.zhihu.com/p/342274954
《将WordPress从MySQL迁移到PolarDB-X》
https://zhuanlan.zhihu.com/p/382964588
《PolarDB-X 全局 Binlog 和备份恢复能力解读》