GBase 8c
其他
文章
南大通用GBase 8c数据一致性验证
发表于2024-06-19 15:32:00425次浏览1个评论
GBase 8c采用MVCC(多版本并发控制)技术,实现读写不冲突,提升读写并行处理能力。支持多重机制保证数据一致性。
下文对读已提交、可重复读两种隔离级别进行测试验证。
1、读已提交
默认隔离级别查询:
select name,setting from pg_settings where name='default_transaction_isolation';创建测试表AMOUNT:
CREATE TABLE AMOUNT (
id varchar(10),
money numeric(6,2)
)
distribute by hash(id)
to group default_group;插入测试数据:
insert into amount(id,money) values('A', 800);
insert into amount(id,money) values('B', 200);
insert into amount(id,money) values('C', 1000);
session1,测试读已提交,插入数据:
START TRANSACTION ISOLATION LEVEL read committed;
insert into amount(id,money) values('D', 1000);
开启session2查询数据,只能查到前3行,未提交的D查不到:
select * from amount;
session1,提交事务
commit;session2中查询数据,能查看到D数据:
select * from amount;
2、可重复读 repeatable read
创建测试表AMOUNT
drop table AMOUNT;
CREATE TABLE AMOUNT (
id varchar(10),
money numeric(6,2)
)
distribute by hash(id)
to group default_group;
插入测试数据
insert into amount(id,money) values('A', 800);
insert into amount(id,money) values('B', 200);
insert into amount(id,money) values('C', 1000);
select * from amount;
session1,测试可重复读,插入数据
begin isolation level repeatable read;
select * from amount;
开启session2,插入D数据
insert into amount(id,money) values('D', 1000);
select * from amount;
session1查询数据,可以重复查看之前的数据
select * from amount;
评论
登录后才可以发表评论
GBase用户47954发表于 1个月前
感谢作者的精彩分享!
热门帖子
- 12025-12-01浏览数:182764
- 22023-05-09浏览数:25062
- 42023-09-25浏览数:18526
- 52020-05-11浏览数:17529