【TBase开源版测评】分布式事务全局一致性

时间:2022-07-22
本文章向大家介绍【TBase开源版测评】分布式事务全局一致性,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

TBase作为支持分布式事务的数据库,数据是分散存储在不同节点上,分布式事务特性可以保证跨节点的数据修改的一致性,相比传统其他分布式系统,无需应用层来实现事务,减少应用层开发的复杂度。我们在已经搭建好的集群中去体验TBase的分布式事务。

一、体验流程

1、查看集群的数据节点情况,确保我们已经搭建了两个DN节点。

连接数据库,:psql -p 30004 -d postgres -U tbase
输入查看命令:select node_name,node_type,node_host,node_port from pgxc_node where node_type='D';

这里是我已经安装好的集群的数据节点的情况。

2、创建测试用的表,并插入测试数据

create table transaction_test(account varchar(12), cash int, PRIMARY KEY(account));
insert into transaction_test values('A',10); --A在DN1
insert into transaction_test values('B',10); --B在DN2

确认数据分散在不同DN上:

postgres=# select xc_node_id,* from transaction_test;
xc_node_id | account | cash 
------------+---------+------
 2142761564 | A | 10
 -17499968 | B  | 10
(2 rows)

根据文档提示操作相关语句,并查看执行结果:

可以看到在任意时刻查看数据,数据都是一致的,表中查询到的账户总额不变。

二、体验总结

分布式事务全局一致性的特性,分布式事务特性可以保证跨节点的数据修改的一致性。从一个程序员的角度来看,这个分布式事务全局一致性确实解决了写代码的时候需要考虑的一些事情 ,从程序员的角度来看,无需关注数据库中的数据在各个节点是否会出现不一致的情况,无需应用层来实现事务,这为代码编写省去了很多事情 。因为我们只是搭建了两个数据节点,而且数据量非常的小,应用场景和表结构也很简单,不知道在大数据量、高并发、表结构和表关系都比较复杂的应用场景情况下,这个全局一致性是否可以保持,这个有待我们在实际项目中应用或是后期有时间的时候去体验测试一下了。