CAP теорема
Теорема відзеркалює основні характеристики побудови distributed систем (DS):
- Consistency - дані в системі мають бути найновіші
- Availability - система має бути постійно доступною для запису та читання
- Partition tolerance - у випадку split-brain (один з класгерів (датацентрів) виявився недоступний,...) система має працювати без збоїв, а коли недоступний кластер "з’явться" вирішити всі проблеми пов’язані з недоступністю.
Отже, мусимо вибирати :(
Partition tolerance має бути обов’язково реалізоване, тому вибір між A i C.
Hashing Consistency
В DS має сенс розглядати побудову кластера та методи збереження даних. Для побудови ефективної структури нам не вигіно використовувати master - slave відношення, всі частини кластера мають бути активні.
Як тоді зберігати дані?
Хешуванням ключів. Кожна частинка кластера відповідає за свій простір хеш значень.
Як з реплікацією - зберігаємо дане значення на декількох нодах.
Як досягнути consistency? Досягаємо за правилом:
R + W > NЩо означає кількість нодів, що підтвердили читання у себе цих даних, додати кількість нодів, що записали ці дані, більща за кількість нодів в репліці, тобто дані є консистентні.
Comments
Post a Comment