digital-garden/_inbox/Consistent hashing.md

24 lines
1.4 KiB
Markdown
Raw Normal View History

2024-06-30 11:32:53 +03:00
---
aliases:
tags:
- зрелость/🌱
date:
- - 2024-06-30
zero-link:
- "[[00 Алгоритмы]]"
parents:
- "[[Шардирование в БД]]"
linked:
---
2024-06-30 21:09:14 +03:00
Рисуется круг. Обычно значения на круге это целые числа от 0 до 32 или от -32 до 32. Хэшфункция указывает место на круге. Хэш-функция используется для определения места узлов на круге. Этаже хэш функция должна использоваться для определения значения ключей на круге. Выбирается ближайший по частовой стрелке узел.
2024-06-30 11:37:52 +03:00
Плюсы:
- При добавлении/удалении затрагивается только часть данных
Минусы:
- Данные могут быть распределенны не равномерно, если между шардами будет различное расстояние на круге.
## Virtual Nodes
2024-06-30 21:04:14 +03:00
Можно попытаться решить проблему неравноморного распределения. Для этого мы добавим виртуальные шарды: для одной ноды высчитывается несколько точек на круге.
2024-06-30 21:09:14 +03:00
Такой подход используется в [Cassandra](Cassandra.md)