Simultaneous Use of Serializable and Snapshot Isolation

Are there any problems using SNAPSHOT isolation to constantly read data for viewing without blocking, blocking or dirty / phantom, while a separate process processes continuous incoming data in serializable transactions?

We need readers (read-only guaranteed: synchronization of web data, viewing in real time, etc.) in order to be able to read consistent data without blocking or blocking updates. We used SNAPSHOT for everything, but had too many negotiation failures, so we switched the update process to SERIALIZABLE.

I read about it, but it’s not entirely clear with regard to the simultaneous use of different levels of isolation. I saw matrix compatibility lock and read various data. Everything seems to be in order, but I would really appreciate the wise guidance of people with practical experience regarding any serious errors.

Are there problems using snapshot isolation for readers while SERIALIZABLE transactions are being recorded? Are there any circumstances that it will block the SERIALIZABLE transaction? Is there any benefit to using SNAPSHOT against READ COMMITTED (with READ_COMMITTED_SNAPSHOT ON)?

Thanks, any help is much appreciated :-)

+3
source share
1

, SNAPSHOT, . , . . SNAPSHOT .

READ_COMMITTED_SNAPSHOT ON READ COMMITTED SNAPSHOT. , SNAPSHOT: READ_COMMITTED_SNAPSHOT SNAPSHOT . , .

+4

Source: https://habr.com/ru/post/1778544/


All Articles