GBase 8a MPP Cluster 事务控制说明

1. 功能描述

GBase 8a MPP Cluster 标准事务目前主要实现如下功能:

  1. 实现统一的标准事务机制,保证事务的 ACID 特性;
    • 原子性(atomicity),事务对数据的修改必须是原子的,要么全部执行,要么全部不执行。
    • 一致性(consistency),事务在完成时,必须使所有的数据都保持一致性状态。
    • 隔离性(isolation),由并发事务所做的修改必须与任何其他并发事务隔离。ANSI/ISOSQL92 标准定义了一些数据库操作的隔离级别:未提交读(Read uncommitted),提交读 Read committed),重复读(Repeatable read),序列化(Serializable)。GBase 8a MPP Cluster 支持的事务隔离级别为快照(snapshot)级别。
    • 持久性(durability),事务完成之后对数据库系统的影响是持久的,即使数据库宕机也能对数据进行恢复。
  2. 支持事务标准语法:
    START TRANSACTION | BEGIN
    COMMIT
    ROLLBACK
  3. 支 持 如 下 DML 操 作,INSERT VALUESUPDATEDELETEINSERT…SELECTMERGE
  4. 支持事务内连续写;
  5. 支持查询与 DML 同表并发,不支持同表写操作并发( INSERT VALUESINSERT VALUES 可以并发);
  6. 支持表中含有 hash 索引,全文索引;
  7. 支持表存储配额机制;
  8. 支持表行存列属性;
  9. 支持 LOAD 数据加载操作。

2. 参数配置

GBase 8a MPP Cluster 打开事务功能,需要在全部集群节点的如下文件中添加配置参数

  • 在GNode节点 $GBASE_BASE/config/gbase_8a_gbase.cnf 配置文件中增加如下参数
    gbase_tx_log_mode=USE,STANDARD_TRANS
  • 在 GCluster 节点 $GCLUSTER_BASE/config/gbase_8a_gcluster.cnf 配置文件中增加如下参数
    gcluster_transaction_disable=0

注意:修改配置文件后,一定要重启集群,事务功能才会生效。

3. 事务标准语法


语法格式

[START TRANSACTION | BEGIN] [COMMIT] [ROLLBACK]
表 5-49 参数说明
参数名称说明
START TRANSACTION | BEGIN开始一项新的事务。
COMMIT提交当前事务,使变更成为永久变更。
ROLLBACK回滚当前事务,取消其变更。

示例

gbase> create table t1(a int); 
Query OK, 0 rows affected (Elapsed: 00:00:00.00)

gbase> start transaction; 
Query OK, 0 rows affected (Elapsed: 00:00:00.00)

gbase> insert into t1 values(10); 
Query OK, 1 row affected (Elapsed: 00:00:00.00)

gbase> commit; 
Query OK, 0 rows affected (Elapsed: 00:00:00.00)

gbase> SELECT * from t1; 
+------+
| a    |
+------+
| 10   |
+------+
1 row in set (Elapsed: 00:00:00.00)

gbase> begin; 
Query OK, 0 rows affected (Elapsed: 00:00:00.00)

gbase> insert into t1 values(200); 
Query OK, 1 row affected (Elapsed: 00:00:00.01)

gbase> rollback; 
Query OK, 0 rows affected (Elapsed: 00:00:00.00)

gbase> SELECT * from t1; 
+------+
| a    |
+------+
| 10   |
+------+
1 row in set (Elapsed: 00:00:00.01)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值