 Greenplum分布式事务和两阶段提交协议https://cn.greenplum.org 博文 资料 文档 项目 全新的问答论坛 分布式事务和 两阶段提交协议 6 ● 事务实现原理和Write Ahead Logging(WAL) ● 分布式事务和两阶段提交的原理 ● Greenplum两阶段提交协议的实现 ● Greenplum两阶段提交协议的优化 Outline 7 事务的属性:ACID 属性 含义 数据库系统的实现 Atomic Atomic 原子性 事务中的操作要么全部正确执行,要么完全不 执行。 Write Ahead Logging,分布式事务:两阶段提交协议 Consistency 一致性 数据库系统必须保证事务的执行使得数据库 从一个一致性状态转移到另一个一致性状态。 (满足完整性约束) 实现对A、I、D三个属性的支持 Isolation 隔离性 多个事务并发地执行,对每个事务来说,它并 不会感知系统中有其他事务在同时执行。 不会感知系统中有其他事务在同时执行。 多版本并发控制Multi-Version Concurrency Control、 两阶段加锁(Two Phase Locking, 2PL)、乐观并发控制 (OCC) Durability 持久性 一个事务在提交之后,该事务对数据库的改变 是持久的。 Write Ahead Logging + 存储管理 Jim Gray于1981年VLDB描述了事务的原子性、0 码力 | 42 页 | 2.12 MB | 1 年前3 Greenplum分布式事务和两阶段提交协议https://cn.greenplum.org 博文 资料 文档 项目 全新的问答论坛 分布式事务和 两阶段提交协议 6 ● 事务实现原理和Write Ahead Logging(WAL) ● 分布式事务和两阶段提交的原理 ● Greenplum两阶段提交协议的实现 ● Greenplum两阶段提交协议的优化 Outline 7 事务的属性:ACID 属性 含义 数据库系统的实现 Atomic Atomic 原子性 事务中的操作要么全部正确执行,要么完全不 执行。 Write Ahead Logging,分布式事务:两阶段提交协议 Consistency 一致性 数据库系统必须保证事务的执行使得数据库 从一个一致性状态转移到另一个一致性状态。 (满足完整性约束) 实现对A、I、D三个属性的支持 Isolation 隔离性 多个事务并发地执行,对每个事务来说,它并 不会感知系统中有其他事务在同时执行。 不会感知系统中有其他事务在同时执行。 多版本并发控制Multi-Version Concurrency Control、 两阶段加锁(Two Phase Locking, 2PL)、乐观并发控制 (OCC) Durability 持久性 一个事务在提交之后,该事务对数据库的改变 是持久的。 Write Ahead Logging + 存储管理 Jim Gray于1981年VLDB描述了事务的原子性、0 码力 | 42 页 | 2.12 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.4.19.2.1 启动手册 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 使用二进制发布包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 使用 Docker . . . . . . . . . 433 测试环境搭建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 测试阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 11.5.2 BenchmarkSQL 12.6.2 执行阶段说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 准备阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 存量数据迁移阶段 . . . . .0 码力 | 530 页 | 4.49 MB | 1 年前3 Apache ShardingSphere 中文文档 5.4.19.2.1 启动手册 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 使用二进制发布包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 使用 Docker . . . . . . . . . 433 测试环境搭建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 测试阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 11.5.2 BenchmarkSQL 12.6.2 执行阶段说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 准备阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 存量数据迁移阶段 . . . . .0 码力 | 530 页 | 4.49 MB | 1 年前3
 Apache ShardingSphere v5.5.0 中文文档9.2.1 启动手册 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 使用二进制发布包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 使用 Docker . . . . . . . . . 458 测试环境搭建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 测试阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 11.5.2 BenchmarkSQL 12.6.2 执行阶段说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 准备阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 存量数据迁移阶段 . . . . .0 码力 | 557 页 | 4.61 MB | 1 年前3 Apache ShardingSphere v5.5.0 中文文档9.2.1 启动手册 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 使用二进制发布包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 使用 Docker . . . . . . . . . 458 测试环境搭建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459 测试阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 11.5.2 BenchmarkSQL 12.6.2 执行阶段说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 准备阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 存量数据迁移阶段 . . . . .0 码力 | 557 页 | 4.61 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.2.04.2.1 启动手册 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 使用二进制发布包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 使用 Docker . . . . . . . . . 304 测试环境搭建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 测试阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 x 6.5.2 BenchmarkSQL 361 7.6.2 执行阶段说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 准备阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 存量数据迁移阶段 . . . . .0 码力 | 449 页 | 5.85 MB | 1 年前3 Apache ShardingSphere 中文文档 5.2.04.2.1 启动手册 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 使用二进制发布包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 使用 Docker . . . . . . . . . 304 测试环境搭建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 测试阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 x 6.5.2 BenchmarkSQL 361 7.6.2 执行阶段说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 准备阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 存量数据迁移阶段 . . . . .0 码力 | 449 页 | 5.85 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.3.29.2.1 启动手册 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 使用二进制发布包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 使用 Docker . . . . . . . . . 411 测试环境搭建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 测试阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 11.5.2 BenchmarkSQL 12.6.2 执行阶段说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 准备阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 存量数据迁移阶段 . . . . .0 码力 | 508 页 | 4.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.3.29.2.1 启动手册 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 使用二进制发布包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 使用 Docker . . . . . . . . . 411 测试环境搭建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 测试阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 11.5.2 BenchmarkSQL 12.6.2 执行阶段说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 准备阶段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 存量数据迁移阶段 . . . . .0 码力 | 508 页 | 4.44 MB | 1 年前3
 TiDB v5.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1978 14 版本发布历史 1980 14.1 TiDB 版本发布历史· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1983 14.2 TiDB 版本发布时间线 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · Dumpling 在特定 MySQL 版本下获取上游表名时卡住的问题 #322 2.3 TiDB 基本功能 本文列出了 TiDB 功能在各版本的支持变化情况。请注意,实验特性的支持可能会在最终版本发布前发生变化。 2.3.1 数据类型,函数和操作符 数据类型,函数,操作符 5.2 5.1 5.0 4.0 数值类型 Y Y Y Y 日期和时间类型 Y Y Y Y 字符串类型 Y Y Y Y0 码力 | 2259 页 | 48.16 MB | 1 年前3 TiDB v5.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1978 14 版本发布历史 1980 14.1 TiDB 版本发布历史· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1983 14.2 TiDB 版本发布时间线 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · Dumpling 在特定 MySQL 版本下获取上游表名时卡住的问题 #322 2.3 TiDB 基本功能 本文列出了 TiDB 功能在各版本的支持变化情况。请注意,实验特性的支持可能会在最终版本发布前发生变化。 2.3.1 数据类型,函数和操作符 数据类型,函数,操作符 5.2 5.1 5.0 4.0 数值类型 Y Y Y Y 日期和时间类型 Y Y Y Y 字符串类型 Y Y Y Y0 码力 | 2259 页 | 48.16 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.0.0-alpha. . 54 本地事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 两阶段提交 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 柔性事务 . . . . . . 56 导览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 XA 两阶段事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Seata 柔性事务 . . . . 57 导览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 XA 两阶段事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Seata 柔性事务 . . . .0 码力 | 301 页 | 3.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.0.0-alpha. . 54 本地事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 两阶段提交 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 柔性事务 . . . . . . 56 导览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 XA 两阶段事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Seata 柔性事务 . . . . 57 导览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 XA 两阶段事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Seata 柔性事务 . . . .0 码力 | 301 页 | 3.44 MB | 1 年前3
 TiDB v5.4 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1202 11.8.12 TiDB Data Migration 版本发布历史 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1210 11 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2523 14 版本发布历史 2523 19 14.1 TiDB 版本发布历史· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2527 14.2 TiDB 版本发布时间线 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 2852 页 | 52.59 MB | 1 年前3 TiDB v5.4 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1202 11.8.12 TiDB Data Migration 版本发布历史 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1210 11 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2523 14 版本发布历史 2523 19 14.1 TiDB 版本发布历史· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2527 14.2 TiDB 版本发布时间线 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 2852 页 | 52.59 MB | 1 年前3
 TiDB v6.1 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1993 13.15.6 发布版本历史· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3175 16 版本发布历史 3175 23 16.1 TiDB 版本发布历史· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3179 16.2 TiDB 版本发布时间线 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 3572 页 | 84.36 MB | 1 年前3 TiDB v6.1 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1993 13.15.6 发布版本历史· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3175 16 版本发布历史 3175 23 16.1 TiDB 版本发布历史· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3179 16.2 TiDB 版本发布时间线 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 3572 页 | 84.36 MB | 1 年前3
 TiDB v5.1 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1929 14 版本发布历史 1930 14.1 TiDB 版本发布历史· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 安全增强模式 (SEM)。默认值 为 false,代表 未启用。 TiDB 配置文件 performance. �→ committer- �→ concurrency �→ 修改 在单个事务的 提交阶段,控 制用于执行提 交操作相关请 求的并发数。 默认值从 16 修 改为 128。 TiDB 配置文件 performance. �→ tcp-no- �→ delay 新增 控制 TiDB 是否 断点卡住导致 TiKV GC safe point 不推进的问题 #1759 34 2.3 TiDB 基本功能 本文列出了 TiDB 功能在各版本的支持变化情况。请注意,实验特性的支持可能会在最终版本发布前发生变化。 2.3.1 数据类型,函数和操作符 数据类型,函数,操作符 5.2 5.1 5.0 4.0 数值类型 Y Y Y Y 日期和时间类型 Y Y Y Y 字符串类型 Y Y Y Y0 码力 | 2189 页 | 47.96 MB | 1 年前3 TiDB v5.1 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1929 14 版本发布历史 1930 14.1 TiDB 版本发布历史· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 安全增强模式 (SEM)。默认值 为 false,代表 未启用。 TiDB 配置文件 performance. �→ committer- �→ concurrency �→ 修改 在单个事务的 提交阶段,控 制用于执行提 交操作相关请 求的并发数。 默认值从 16 修 改为 128。 TiDB 配置文件 performance. �→ tcp-no- �→ delay 新增 控制 TiDB 是否 断点卡住导致 TiKV GC safe point 不推进的问题 #1759 34 2.3 TiDB 基本功能 本文列出了 TiDB 功能在各版本的支持变化情况。请注意,实验特性的支持可能会在最终版本发布前发生变化。 2.3.1 数据类型,函数和操作符 数据类型,函数,操作符 5.2 5.1 5.0 4.0 数值类型 Y Y Y Y 日期和时间类型 Y Y Y Y 字符串类型 Y Y Y Y0 码力 | 2189 页 | 47.96 MB | 1 年前3
共 80 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8














