云原生数据库PolarDB分布式版(PolarDB-X)原理导读

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 由于PolarDB-X相关文档比较丰富,知识点分布广泛,因此我专门整理一篇导读文章帮助大家更有节奏有方向的学习。本文所推荐文章会按照由浅入深的顺序,并且每个知识点前都会进行提问,大家可以带着问题进入章节学习。最后希望大家都能领会到分布式数据库的魅力。

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

https://zhuanlan.zhihu.com/p/385608337

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
相关文章
|
8天前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB 分布式版 V2.0,安全可靠的集中分布式一体化数据库管理软件
阿里云PolarDB数据库管理软件(分布式版)V2.0 ,安全可靠的集中分布式一体化数据库管理软件。
|
21天前
|
存储 缓存 网络安全
南大通用GBase 8s 数据库 RHAC集群基本原理和搭建步骤
南大通用GBase 8s 数据库 RHAC集群基本原理和搭建步骤
|
2月前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
78 5
Mysql(3)—数据库相关概念及工作原理
|
1月前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
61 2
|
2月前
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
96 5
|
2月前
|
SQL 关系型数据库 MySQL
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
sql注入原理与实战(三)数据库操作
|
2月前
|
SQL 存储 Java
sql注入原理与实战(二)数据库原理
sql注入原理与实战(二)数据库原理
|
2月前
|
NoSQL Java Redis
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
Redis分布式锁在高并发场景下是重要的技术手段,但其实现过程中常遇到五大深坑:**原子性问题**、**连接耗尽问题**、**锁过期问题**、**锁失效问题**以及**锁分段问题**。这些问题不仅影响系统的稳定性和性能,还可能导致数据不一致。尼恩在实际项目中总结了这些坑,并提供了详细的解决方案,包括使用Lua脚本保证原子性、设置合理的锁过期时间和使用看门狗机制、以及通过锁分段提升性能。这些经验和技巧对面试和实际开发都有很大帮助,值得深入学习和实践。
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
|
14天前
|
存储 NoSQL Java
使用lock4j-redis-template-spring-boot-starter实现redis分布式锁
通过使用 `lock4j-redis-template-spring-boot-starter`,我们可以轻松实现 Redis 分布式锁,从而解决分布式系统中多个实例并发访问共享资源的问题。合理配置和使用分布式锁,可以有效提高系统的稳定性和数据的一致性。希望本文对你在实际项目中使用 Redis 分布式锁有所帮助。
40 5
|
17天前
|
NoSQL Java 数据处理
基于Redis海量数据场景分布式ID架构实践
【11月更文挑战第30天】在现代分布式系统中,生成全局唯一的ID是一个常见且重要的需求。在微服务架构中,各个服务可能需要生成唯一标识符,如用户ID、订单ID等。传统的自增ID已经无法满足在集群环境下保持唯一性的要求,而分布式ID解决方案能够确保即使在多个实例间也能生成全局唯一的标识符。本文将深入探讨如何利用Redis实现分布式ID生成,并通过Java语言展示多个示例,同时分析每个实践方案的优缺点。
34 8

相关产品

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