从dbmsmusings门户了解到,金融交易需要严格的序列化,不遵守会导致异常。
请指导我配置 yugabytedb 以实现严格的序列化以及性能和/或功能的成本。
YugabyteDB支持 snapshot isolation
和serializable isolation
.
一种方法是设置隔离级别BEGIN
:
yb_demo=# begin transaction isolation level serializable;
BEGIN
yb_demo=# SHOW transaction_isolation;
transaction_isolation
-----------------------
serializable
(1 row)
yb_demo=# commit;
COMMIT
yb_demo=# SHOW transaction_isolation;
transaction_isolation
-----------------------
read committed
(1 row)
另一种方法是使用SET TRANSACTION
语句:
yb_demo=# begin;
BEGIN
yb_demo=# SHOW transaction_isolation;
transaction_isolation
-----------------------
read committed
(1 row)
yb_demo=# SET TRANSACTION ISOLATION LEVEL serializable;
SET
yb_demo=# SHOW transaction_isolation;
transaction_isolation
-----------------------
serializable
(1 row)
yb_demo=# commit;
COMMIT