OrientDB - обеспечить согласованное состояние

1

Я не совсем уверен, как задать этот вопрос, но я надеюсь, что вы получите мой дрейф...

Я использую OrientDB как встроенную базу данных, которая используется одним приложением. Я хотел бы убедиться, что при сбое этого приложения база данных всегда находится в согласованном состоянии, так что мое приложение может быть запущено снова без необходимости обслуживания в базе данных или потери каких-либо данных.

Т.е. поэтому, когда я меняю базу данных и получаю сообщение об успешном завершении, я знаю, что изменения были написаны.

Является ли эта поддержка OrientDB, если да, то какой вариант включить?

(PS, если бы я знал, что называется общепринятым термином для такого рода установок, я мог бы найти себя...)

Теги:
orientdb

1 ответ

2
Лучший ответ

OrientDB использует какой-то журнал отката, что означает, что по умолчанию он регистрирует все операции, выполняемые с данными, хранящимися на диске, и помещает их в файл только для добавления. Записи этого журнала кэшируются и сбрасываются каждую секунду. Если приложение выйдет из строя WAL (запись вперед)/журнал операций будет прочитан, и все операции будут применены еще раз. Также WAL имеет понятие транзакций, что означает, что если транзакция не будет завершена во время сбоя, все прикладные изменения будут отброшены назад. Поэтому вы можете быть уверены в следующем в OrientDB:

  1. Все данные, которые были записаны до одного интервала перед сбоем, будут восстановлены.
  2. Все данные, записанные внутри транзакции, будут в согласованном состоянии.
  3. Вы можете потерять часть данных за последний один интервал.

Интервал сбросов кеша WAL может быть изменен, но это может привести к замедлению производительности.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню