Apache ShardingSphere 中文文档 5.0.0-alpha
ACID 原生支持。但在分布式的场景下,它却成为系统性能 的桎梏。如何让数据库在分布式场景下满足 ACID 的特性或找寻相应的替代方案,是分布式事务的重点 工作。 本地事务 在不开启任何分布式事务管理器的前提下,让每个数据节点各自管理自己的事务。它们之间没有协调以 及通信的能力,也并不互相知晓其他数据节点事务的成功与否。本地事务在性能方面无任何损耗,但在 强一致性以及最终一致性方面则力不从心。 : • 基于 XA 协议的两阶段事务 • 基于 Seata 的柔性事务 XA 两阶段事务 两阶段事务提交采用的是 X/OPEN 组织所定义的DTP 模型所抽象的 AP(应用程序), TM(事务管理器) 和 RM(资源管理器)概念来保证分布式事务的强一致性。其中 TM 与 RM 间采用 XA 的协议进行双向通 信。与传统的本地事务相比,XA 事务增加了准备阶段,数据库除了被动接受提交指令外,还可以反向通 需要数据库厂商提供 XA 驱动 实现,TransactionManager 则需要事务管理器的厂商实现,传统的事务管理器需要同应用服务器绑 定,因此使用的成本很高。而嵌入式的事务管器可以以 jar 包的形式提供服务,同 Apache ShardingSphere 集成后,可保证分片后跨库事务强一致性。 通常,只有使用了事务管理器厂商所提供的 XA 事务连接池,才能支持 XA 的事务。Apache ShardingSphere0 码力 | 301 页 | 3.44 MB | 1 年前3Mybatis 3.3.0 中文用户指南
service XML 配置文件(configuration XML)中包含了对 MyBatis 系统的核心设置,包含获取数据库连接实例的数据源(DataSource)和 决定事务范围和控制方式的事务管理器(TransactionManager)。XML 配置文件的详细内容后面再探讨,这里先给出一个简单的示 例: < 当然,还有很多可以在XML 文件中进行配置,上面的示例指出的则是最关键的部分。要注意 XML 头部的声明,用来验证 XML 文档正 确性。environment 元素体中包含了事务管理和连接池的配置。mappers 元素则是包含一组 mapper 映射器(这些 mapper 的 XML 文件包含了 SQL 代码和映射定义信息)。 不使用 不使用 XML 构建 构建 SqlSessionFactory typeHandlers 类型处理器 objectFactory 对象工厂 plugins 插件 environments 环境 environment 环境变量 transactionManager 事务管理器 dataSource 数据源 databaseIdProvider 数据库厂商标识 mappers 映射器 properties 这些属性都是可外部配置且可动态替换的,既可以在典型的 Java0 码力 | 98 页 | 2.03 MB | 1 年前3Apache ShardingSphere 中文文档 5.0.0
ACID 原生支持。但在分布式的场景下,它却成为系统性能的 桎梏。如何让数据库在分布式场景下满足 ACID 的特性或找寻相应的替代方案,是分布式事务的重点工 作。 本地事务 在不开启任何分布式事务管理器的前提下,让每个数据节点各自管理自己的事务。它们之间没有协调以 及通信的能力,也并不互相知晓其他数据节点事务的成功与否。本地事务在性能方面无任何损耗,但在 强一致性以及最终一致性方面则力不从心。 本小节主要介绍分布式事务的核心概念,主要包括: • 基于 XA 协议的两阶段事务 • 基于最终一致性的柔性事务 XA 事务 两阶段事务提交采用的是 X/OPEN 组织所定义的 DTP 模型所抽象的 AP(应用程序), TM(事务管理器) 和 RM(资源管理器)概念来保证分布式事务的强一致性。其中 TM 与 RM 间采用 XA 的协议进行双向通 信。与传统的本地事务相比,XA 事务增加了准备阶段,数据库除了被动接受提交指令外,还可以反向通 需要数据库厂商提供 XA 驱动 实现,TransactionManager 则需要事务管理器的厂商实现,传统的事务管理器需要同应用服务器绑 定,因此使用的成本很高。而嵌入式的事务管器可以通过 jar 形式提供服务,同 Apache ShardingSphere 集成后,可保证分片后跨库事务强一致性。 通常,只有使用了事务管理器厂商所提供的 XA 事务连接池,才能支持 XA 的事务。Apache ShardingSphere0 码力 | 385 页 | 4.26 MB | 1 年前3Greenplum分布式事务和两阶段提交协议
Components 数据库管理系统组成图 Hector Garcia-Molina /Jeffrey D.Ullman/Jennifer Widom《数据库系统实现》 查询编译器/ 优化器 事务管理器 DDL编译器 执行引擎 日志和恢复 并发控制 索引/文件/ 记录管理器 缓冲区管理器 缓冲区 锁表 存储管理器 存储 查询计划 对索引、文件和 记录的请求 页命令 事务命令 两阶段提交协议 ● Jim Gray等研究者在1978年提出了两阶段提交协议,用于保证分布式事务提交的原子性 ● 可以用于单机集中式系统,由事务管理器协调多个资源管理器;也可以用于分布式系 统,由一个全局的 事务管理器协调各个子系统的局部事务管理器完成两阶段提交 ● 广泛应用于商业分布式数据库 ❏ A节点是事务的协调者(coordinator) ❏ B和C是事务的参与者(participant) 恢复成功后,删掉pg_twophase目录下的文件 《数据库系统概念》19.4.1.3节,参与者在响应prepare消息之前记录32 Greenplum实现分布式事务与并发控制 • 分布式事务管理 • 分布式事务的创建、状态迁移等 • QD向QE发起两阶段提交 • 分布式快照 • QD向QE发送全局快照信息 • Writer QE和Reader QE共享本地快照信息 • distributed 0 码力 | 42 页 | 2.12 MB | 1 年前3Apache ShardingSphere 中文文档 5.1.1
ACID 原生支持。但在分布式的场景下,它却成为系统性能的 桎梏。如何让数据库在分布式场景下满足 ACID 的特性或找寻相应的替代方案,是分布式事务的重点工 作。 本地事务 在不开启任何分布式事务管理器的前提下,让每个数据节点各自管理自己的事务。它们之间没有协调以 及通信的能力,也并不互相知晓其他数据节点事务的成功与否。本地事务在性能方面无任何损耗,但在 强一致性以及最终一致性方面则力不从心。 本小节主要介绍分布式事务的核心概念,主要包括: • 基于 XA 协议的两阶段事务 • 基于最终一致性的柔性事务 XA 事务 两阶段事务提交采用的是 X/OPEN 组织所定义的 DTP 模型所抽象的 AP(应用程序), TM(事务管理器) 和 RM(资源管理器)概念来保证分布式事务的强一致性。其中 TM 与 RM 间采用 XA 的协议进行双向通 信。与传统的本地事务相比,XA 事务增加了准备阶段,数据库除了被动接受提交指令外,还可以反向通 需要数据库厂商提供 XA 驱动 实现,TransactionManager 则需要事务管理器的厂商实现,传统的事务管理器需要同应用服务器绑 定,因此使用的成本很高。而嵌入式的事务管器可以通过 jar 形式提供服务,同 Apache ShardingSphere 集成后,可保证分片后跨库事务强一致性。 通常,只有使用了事务管理器厂商所提供的 XA 事务连接池,才能支持 XA 的事务。Apache ShardingSphere0 码力 | 409 页 | 4.47 MB | 1 年前3Apache ShardingSphere 中文文档 5.1.0
ACID 原生支持。但在分布式的场景下,它却成为系统性能的 桎梏。如何让数据库在分布式场景下满足 ACID 的特性或找寻相应的替代方案,是分布式事务的重点工 作。 本地事务 在不开启任何分布式事务管理器的前提下,让每个数据节点各自管理自己的事务。它们之间没有协调以 及通信的能力,也并不互相知晓其他数据节点事务的成功与否。本地事务在性能方面无任何损耗,但在 强一致性以及最终一致性方面则力不从心。 本小节主要介绍分布式事务的核心概念,主要包括: • 基于 XA 协议的两阶段事务 • 基于最终一致性的柔性事务 XA 事务 两阶段事务提交采用的是 X/OPEN 组织所定义的 DTP 模型所抽象的 AP(应用程序), TM(事务管理器) 和 RM(资源管理器)概念来保证分布式事务的强一致性。其中 TM 与 RM 间采用 XA 的协议进行双向通 信。与传统的本地事务相比,XA 事务增加了准备阶段,数据库除了被动接受提交指令外,还可以反向通 需要数据库厂商提供 XA 驱动 实现,TransactionManager 则需要事务管理器的厂商实现,传统的事务管理器需要同应用服务器绑 定,因此使用的成本很高。而嵌入式的事务管器可以通过 jar 形式提供服务,同 Apache ShardingSphere 集成后,可保证分片后跨库事务强一致性。 通常,只有使用了事务管理器厂商所提供的 XA 事务连接池,才能支持 XA 的事务。Apache ShardingSphere0 码力 | 406 页 | 4.40 MB | 1 年前3Apache ShardingSphere 中文文档 5.1.2
ACID 原生支持。但在分布式的场景下,它却成为系统性能的 桎梏。如何让数据库在分布式场景下满足 ACID 的特性或找寻相应的替代方案,是分布式事务的重点工 作。 本地事务 在不开启任何分布式事务管理器的前提下,让每个数据节点各自管理自己的事务。它们之间没有协调以 及通信的能力,也并不互相知晓其他数据节点事务的成功与否。本地事务在性能方面无任何损耗,但在 强一致性以及最终一致性方面则力不从心。 本小节主要介绍分布式事务的核心概念,主要包括: • 基于 XA 协议的两阶段事务 • 基于最终一致性的柔性事务 XA 事务 两阶段事务提交采用的是 X/OPEN 组织所定义的 DTP 模型所抽象的 AP(应用程序), TM(事务管理器) 和 RM(资源管理器)概念来保证分布式事务的强一致性。其中 TM 与 RM 间采用 XA 的协议进行双向通 信。与传统的本地事务相比,XA 事务增加了准备阶段,数据库除了被动接受提交指令外,还可以反向通 需要数据库厂商提供 XA 驱动 实现,TransactionManager 则需要事务管理器的厂商实现,传统的事务管理器需要同应用服务器绑 定,因此使用的成本很高。而嵌入式的事务管理器可以通过 jar 形式提供服务,同 Apache ShardingSphere 集成后,可保证分片后跨库事务强一致性。 通常,只有使用了事务管理器厂商所提供的 XA 事务连接池,才能支持 XA 的事务。Apache ShardingSphere0 码力 | 446 页 | 4.67 MB | 1 年前3Doris的数据导入机制以及原子性保证
• 创建事务 • 规划导入执行计划 • 分发子任务 03 Doris 中的导入 FE Leader Analyzer FE Follower 数据版本 N 事务状态 PREPARE 事务管理 1.Begin Txn Phase 1 Execute Txn • 接受查询计划 • 初始化ScanNode • 初始化 TableSink和 tablet writer • Extract Leader V1 V2 Vn tid-1 Analyzer … BE BE tid-n FE Follower 2. Load 数据 数据版本 N 事务状态 PREPARE 事务管理 1.Begin Txn 3.汇报导入 Phase 1 Publish • 收集导入任务汇报结果 • 发送Publish 消息 • 事务状态改为 COMMITED • 等待BE 返回 数据 数据版本 N 事务状态 COMMITED 事务管理 1.Begin Txn 3.汇报导入 4 publish Phase 2 03 Doris 中的导入 BE FE Leader Analyzer BE BE FE Follower 2. Load 数据 数据版本 N+1 事务状态 VISIBLE 事务管理 1.Begin Txn 3.汇报导入 4. publish0 码力 | 33 页 | 21.95 MB | 1 年前3πDataCS赋能工业软件创新与实践
Lake Bare-Metal IaaS资源 执⾏器 执⾏器 执⾏器 协调器 协调器 虚拟数仓1 执⾏器 协调器 虚拟数仓2 执⾏器 … 连接管理 查询优化器 资源隔离 向量化执⾏ 事务管理 执⾏计划 并⾏计算 ⾼可用 数据查询 数据加载 弹性伸缩 自定义函数 集群管控 元数据访问 业务数据读写 元数据映射 元数据: Ø 分布式KV,存储系统表 Ø 基于key的自然排序实现索引 ⾼可靠,支持跨多数据中⼼的灾备复制。 Ø 节约成本,全局数据唯⼀存储,通过共享存储来实现数据共 享,避免拷贝和维护多份数据副本。 事务管理: Ø 存两种隔离级别:Read Committed、Repeatable Read Ø ⾼性能事务管理器,支持自动扩展。 Ø ⾼可靠性,支持故障自动容错。 Ø 租户之间的事务管理器完全隔离,互不⼲扰。 @2024 OpenPie. All rights reserved. OpenPie0 码力 | 36 页 | 4.25 MB | 1 年前3PieCloudDB:基于PostgreSQL的eMPP云原生数据库
reserved. OpenPie Confidential • ACID - 支持两种隔离级别:读已提交、可重复读 • 扩展性 - 事务管理器无单点性能瓶颈 • 隔离性 - 不同租户之间的事务管理器是完全隔离的,不会相互影响 • 容错性 - 事务管理器支持对各类基础设施故障进行自动容错 事务 @2022 OpenPie. All rights reserved. OpenPie Confidential0 码力 | 45 页 | 1.32 MB | 1 年前3
共 57 条
- 1
- 2
- 3
- 4
- 5
- 6