要了解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 和备份恢复能力解读》