Apache Cassandra · Apache Cassandra 5.0
Сбер примерял Cassandra под банковские данные. RF=1 отбросили сразу: при падении узла часть ключей просто пропадает. Взяли keyspace с NetworkTopologyStrategy и тремя репликами.
Профиль нагрузки — чтений в 10 раз больше, чем записей. Записанное значение клиент читает сразу и должен увидеть его, а не старую версию. Нужно выбрать consistency level для записи и для чтения так, чтобы чтение было как можно дешевле.
В работе: Настройка уровней согласованности драйвера Cassandra для критичных данных.
Источник: блог Сбера на Хабре: сравнение Cassandra и HBase под банковскую нагрузку. Условие пересказано своими словами.
Какая пара «запись + чтение» гарантирует, что чтение увидит последнюю запись, и при этом делает чтение дешёвым?
- Запись ALL, чтение ONE
- Запись ONE, чтение ONE
- Запись QUORUM, чтение ONE
- Запись ANY, чтение ALL