数据仓库服务 GAUSSDB(DWS)-事务管理:两阶段事务
两阶段事务
GaussDB (DWS)属于分布式share-nothing架构,表的数据分布在不同的节点上。客户端的一条或多条语句可能会同时修改多个节点上的数据,这种情况下,会产生分布式事务。GaussDB(DWS)采用两阶段提交事务来保证分布式事务中数据的一致性和事务的原子性。顾名思义,两阶段提交就是将事务提交划分为两个阶段,通常针对的是包含写操作的事务。当写操作将数据写入不同的节点时,需要满足事务的原子性要求,要么全部提交,要么全部回滚。
不支持两阶段的场景如下:
- 不支持显示的两阶段提交语法PREPARE TRANSACTION。
1 2
BEGIN; PREPARE TRANSACTION 'p1';
- 不支持在两阶段事务中修改系统表的文件映射关系。
1
REINDEX TABLE pg_class;
- 不支持在跨节点的事务中提交导出事务快照。
1 2 3 4
BEGIN; CREATE TABLE t1(a int); SELECT pg_export_snapshot(); END;
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具
- DWS资源管理_GaussDB(DWS)资源管理作用_DWS资源管控
- 数据库监控DMS_数据库智能运维_了解Auto Pilot_DMS_DWS节点监控
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- GaussDB发展_gaussdb数据库发展_高斯数据库发展_华为云
- GaussDB发展_gaussdb数据库_高斯数据库发展_华为云