Технологии Raima
Изоляция моментальных снимков
Snapshot
(MVCC)
Изоляция моментальных снимков (MVCC)
- Вы находитесь в ситуации, когда вам нужно иметь несколько запросов на чтение, а обновления нужно продолжать
- Вы хотите иметь возможность продолжать писать без перерывов
RDM обеспечивает решение вышеуказанных проблем с помощью MVCC (Multiversion Concurrency Control) за счет использования изоляции моментальных снимков.
![](https://globaltagnetwork.com/wp-content/uploads/2021/06/Multiple-Users-Snapshot-Isolation-1024x576.png)
Что такое изоляция снимков и как она работает в RDM?
Изоляция моментальных снимков позволяет одновременное чтение из базы данных при выполнении транзакций обновления. Как правило, RDM выполняет обновления путем «copy on write” копировании при записи, поэтому моментальный снимок данных может обрабатываться, предоставляя доступ к старым немодифицированным данным. После этого немодифицированные данные могут быть прочитаны без остановки записи. В любой момент пользователь может создать снимок определенных таблиц, вызвав наш API rdm_dbStartSnapshot () . После этого RDMсистема будет использовать старое представление указанных таблиц, при этом изменения в этих таблицах не будут отражены в моментальном снимке. После этого пользователь может выполнять записи в эту таблицу вне моментального снимка, и операции чтения в представлении моментального снимка не будут ждать завершения этих записей или препятствовать завершению этих операций записи. Когда снимок больше не нужен, можно вызвать rdm_dbEnd () ¹ , чтобы освободить доступ к старым немодифицированным данным. Эта функция предоставляет конечному пользователю наибольшее возможное количество одновременных операций записи и чтения.