Использование кассандры и сохранение согласованности данных - PullRequest
2 голосов
/ 14 декабря 2011

Как мы все знаем, у нас есть уровень согласованности ReplicationFactor в Кассандре.И мы просто хотим использовать его для обеспечения согласованности данных.Потому что он должен хранить информацию о цене.

Какая стратегия лучше?

Write ALL Убедитесь, что запись записана во все N реплик, прежде чем отвечать клиенту.Любые неотвечающие реплики завершатся с ошибкой

Read ALL Запросит все реплики и вернет запись с самой последней отметкой времени, как только все реплики ответят.Любые не отвечающие реплики не выполнят операцию.

Кажется, напиши ВСЕ наверняка самый безопасный.Но не уверен, что «Читать все лучше»?Любое мнение об этом плюсы и минусы?Любой другой выбор nosql вы считаете лучшим?

1 Ответ

2 голосов
/ 15 декабря 2011

«Лучше» зависит от того, чего вы пытаетесь достичь.Использование записи или чтения на уровне согласования ALL означает, что ваш кластер будет недоступен для записи (или чтения), если даже один узел не отвечает.

Как правило, запись и чтение как на уровне согласования QUORUMЭто эффективный сбалансированный подход, так как он обеспечивает полную согласованность (вы никогда не будете читать устаревшее значение), но также может допускать сбой меньшинства узлов.

Но «лучший» подход зависит от вашегоприложение и сколько последовательности вам действительно нужно.В частности, вы можете улучшить производительность чтения и записи (и повысить доступность), если допустите более низкую согласованность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...