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