Tarantool WAL против Redis AOF - PullRequest
2 голосов
/ 10 июля 2020

Redis с включенным параметром AOF (добавить только файл) может потерять только секунду данных. Я знаю, что в Tarantool по умолчанию установлено wal_move='write', так как этот режим обеспечивает сохранение данных для vinyl и memtx, и в каком случае это может привести к потере данных, которые невозможно восстановить?

Вторая часть на вопрос: какую настройку wal_mode вы рекомендуете none/write/fsync для vinyl и memtx в частности?

Я бы хотел получить конструктивный ответ, потому что аналогичный вопрос задавался ранее, но даже поднимался больше вопросов, но он не дал четкого ответа: Разница между Redis AOF и Tarantool WAL log

1 Ответ

0 голосов
/ 16 июля 2020

Wal-mode write 'может потерять не более 1 записи (при жесткой перезагрузке сервера); wal-mode fsync никогда не теряет данные.

Вы можете обратиться к документации tarantool здесь: https://www.tarantool.io/en/doc/1.10/reference/configuration/#confval -wal_mode

Это означает, что для режима write каждый операция не подтверждается клиенту до тех пор, пока системный вызов write не завершится успешно, а для режима fsync он не подтверждается до тех пор, пока не будет выполнен следующий системный вызов fsync.

Таким образом, режим fsync "никогда" не теряет данные - поскольку он сохраняется на диске до ответа клиенту. В режиме write при перезагрузке системы могут быть потеряны данные - данные, которые были приняты в буфер ОС, но не сброшены на диск. На типичных рабочих нагрузках мы сталкивались со случаями, когда в таком случае терялась одна операция.

...