Векторные часы помогают отличить причинно упорядоченные версии от конкурентных, но сами не выбирают правильное содержимое. В Cassandra обычные изменения данных разрешаются по timestamps, а не такими векторами.
Что такое векторные часы (Vector Clocks) и как они помогают разрешать конфликты версий в децентрализованных NoSQL-системах, например Cassandra?
Векторные часы помогают отличить причинно упорядоченные версии от конкурентных, но сами не выбирают правильное содержимое. В Cassandra обычные изменения данных разрешаются по timestamps, а не такими векторами.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Векторные часы помогают отличить причинно упорядоченные версии от конкурентных, но сами не выбирают правильное содержимое. В Cassandra обычные изменения данных разрешаются по timestamps, а не такими векторами.
Вектор содержит счётчики участников: покомпонентное сравнение показывает предшествование, а несравнимые векторы — конкуренцию. После обнаружения конфликта нужна политика слияния или решение приложения. Исходный Dynamo использовал этот подход для версий; Cassandra применяет last-write-wins для данных. Не переносите механизм одного Dynamo-подобного продукта на другой автоматически.
Источник: Документация Apache Kafka.