digital-garden/_inbox/Consistent hashing.md

1.4 KiB

aliases tags date zero-link parents linked
зрелость/🌱
2024-06-30
00 Алгоритмы
Шардирование в БД

Рисуется круг. Обычно значения на круге это целые числа от 0 до 32 или от -32 до 32. Хэшфункция указывает место на круге. Хэш-функция используется для определения места узлов на круге. Этаже хэш функция должна использоваться для определения значения ключей на круге. Выбирается ближайший по частовой стрелке узел.

Плюсы:

  • При добавлении/удалении затрагивается только часть данных

Минусы:

  • Данные могут быть распределенны не равномерно, если между шардами будет различное расстояние на круге.

Virtual Nodes

Можно попытаться решить проблему неравноморного распределения. Для этого мы добавим виртуальные шарды: для одной ноды высчитывается несколько точек на круге.

Такой подход используется в Cassandra