Как настроить yugabytedb для строгой сериализации?

Из портала dbmsmusings известно, что финансовые транзакции требуют строгой сериализации, а несоблюдение приведет к аномалиям.

Пожалуйста, помогите мне настроить yugabytedb для строгой сериализации, а также его стоимость на производительность и/или функциональность.


person AVA    schedule 25.02.2020    source источник


Ответы (1)


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
person dorian YB    schedule 25.02.2020