На чем дискуссия о durability тарантула то закончилась? Я не вижу море крови.
Про тарантул всё просто:
memtx:
- фиксирует данные в памяти, отправляет транзакцию записываться на диск
- файбер, который транзакцию спровоцировал засыпает в ожидании ответа от wal
- в это время другие файберы уже видят данные в памяти
- в success-кейсе транзакция коммитится (в зависимости от wal_mode раньше или позже, можно хоть с fsync'ом: это влияет только на лтенси модифицирующих операций) и управление возвращается коммитящему файберу с результатом
- после успешного коммита данные из WAL отправляются на реплику
- в неуспешном кейсе (диск кончился, например), транзакция откатывается в памяти и тарантул переходит в read-only. т.е. существовал интервал времени с чтением другими файберамим uncommited данных