Что такое конечная согласованность в Cassandra, когда узлы в одном кластере не содержат копии одних и тех же данных, но данные распределяются между узлами. Теперь, когда один фрагмент данных записывается в одном месте (узле). Почему Кассандра не вернет последнее значение из этого единственного места записи? Как возникают множественные копии в этой ситуации?Смысл возможной последовательности в Кассандре?
ответ
Его клиент должен решить соответствующий уровень согласованности (ноль, любой, один, кворум или все). (Уровень согласованности управляет как поведением чтения, так и по записи на основе вашего репликационного фактора.) В одном кластере узлов уровни согласованности any, one, quorom и все эквивалентны.
Даже с коэффициентом репликации = 1 консистенция не обязательно является непосредственной, поскольку записи буферизуются на узле, на который вы отправляете их, и, следовательно, необязательно сразу же отправляются на узел, ответственный за этот ключ.
Но это зависит от того, какой уровень согласованности вы выберете.
В основном используется прецедент для Кассандры с коэффициентом репликации> 1, в котором последовательность становится более важной. RF = 3, как представляется, общая установка (как это позволяет Кворум чтению/записи с одним узлом недоступного)
Сколько времени потребуется, прежде чем запись будет сброшена с memtable (буфер памяти) на диск (= на ответственный узел)? – Kozuch
Вот хороший объяснить о конечном счете последовательны: http://www.allthingsdistributed.com/2008/12/eventually_consistent.html
Cassandra стремится к компромиссу латентности и консистенции доста , Это «в конечном итоге последовательное», модель для согласованности базы данных NoSQL, которая используется с распределенными настройками. Вместо того, чтобы поддерживать строгую согласованность, которая может действительно замедлить работу в масштабе, возможная согласованность обеспечивает высокую доступность - просто за счет того, что каждый экземпляр ваших данных не синхронизируется сразу со всеми серверами.
Консистенция Кассандры настраивается. Что можно настроить?
* Количество узлов, необходимых для согласования данных для чтения .. называть его R * Количество узлов, необходимых для согласования данных для записи .. называть его W
В случае 3 узлов, если мы выбрали 2R и 2W .. затем во время чтения, если 2 узла согласуются на значение, то есть истинное значение. Третий может иметь или не иметь одинаковое значение.
В случае записи, если выбрано 2W, тогда, если данные записаны на 2 узла, это считается достаточным. Эта модель непротиворечива.
Если R + w < = N, где N - количество узлов, оно будет в конечном итоге последовательным.
Cassandra сохраняет временную метку с каждым столбцом и каждым полем столбца, чтобы в итоге стать последовательным. Существует механизм, позволяющий достичь согласованного состояния.
Но, как я уже сказал, если R + W> N, то он устойчив. Вот почему согласованность считается перестраиваемой в Кассандре.
- 1. Отображение всей возможной последовательности карт в руке
- 2. Алгоритм для возврата максимально возможной суммы подпоследовательностей в последовательности
- 3. Дождитесь состояния ферментативной и Шутки (возможной последовательности, утверждать с прерыванием)
- 4. В чем смысл сохранения значений в последовательности экземпляров?
- 5. TimeUUID против timestamp в Кассандре?
- 6. Карта Карта в Кассандре
- 7. Нормализация в Кассандре
- 8. Оптимизация запросов в Кассандре
- 9. соединения в Кассандре
- 10. TimeUUID в Кассандре
- 11. Запроса в Кассандре
- 12. Моделирование в Кассандре Многоквартирный
- 13. таймсерий в Кассандре
- 14. Использование триггеров в Кассандре
- 15. Счетчик в Кассандре
- 16. Удалить запрос в Кассандре
- 17. Размер списка в Кассандре
- 18. Многоквартирный дом в Кассандре
- 19. Как искать в кассандре?
- 20. Atomic Пакетное в Кассандре
- 21. Пакетная мутация в Кассандре?
- 22. Обрезка колонн в Кассандре
- 23. Поддержка присоединений в Кассандре
- 24. Колонны заказа в Кассандре
- 25. Стойка в кассандре
- 26. Отдельные счетчики в Кассандре
- 27. SASI Index в Кассандре
- 28. Разрешения вопроса в Кассандре
- 29. Безопасность в Кассандре
- 30. Порядок заказа в Кассандре
, но согласованность между данными, поскольку отдельные данные расположены в одном месте в кластере .. там несколько копий не копируются ... то какая последовательность? –
на кластере с одним узлом вам не нужно беспокоиться о согласованности (в то время как вы не выполняете асинхронные записи (CL.ZERO, не используйте этот)). – Schildmeijer
Мне жаль, что я не ошибся. Я имею в виду в кластере с несколькими узлами, данные распределяются/распределяются (и ** не реплицируются **), поэтому нет нескольких копий одного фрагмента данных между разными узлами в кластере n-node cassandra, то как определяется последовательность в этом случае, где есть, infact, нет нескольких копий? ... Надеюсь, вы получили мою точку зрения. –