Это касается людей, но, вероятно, вы используете cassandra, потому что один сервер базы данных не может удовлетворить ваши потребности из-за масштабирования или проблем с надежностью.Из-за этого вы вынуждены обходить ограничения распределенной системы.
На практике у нас всегда есть функция ACID где-то посередине?Я имею в виду, может быть, реализовать на уровне приложений или добавить промежуточное программное обеспечение для обработки?
Нет, у вас обычно нет кислоты где-то еще, так как предположительно, что где-то еще должно быть также распределено по нескольким машинам.Вместо этого вы разрабатываете свое приложение с учетом ограничений распределенной системы.
Если вы обновляете несколько столбцов для удовлетворения запросов, вы можете взглянуть на раздел в конечном итоге атомарный в этой презентации, чтобы узнать, как это сделать.В основном, вы пишете достаточно информации о своем обновлении на Cassandra, прежде чем сделать свою запись.Таким образом, если запись не удалась, вы можете повторить попытку позже.
Если вы можете структурировать свое приложение таким образом, может быть полезным использование службы координации, такой как Zookeeper или cages .