29 lines
951 B
Markdown
29 lines
951 B
Markdown
---
|
||
aliases:
|
||
- hash based
|
||
tags:
|
||
- зрелость/🌱
|
||
date:
|
||
- - 2024-06-20
|
||
zero-link:
|
||
- "[[00 Алгоритмы]]"
|
||
parents:
|
||
- "[[Шардирование в БД]]"
|
||
linked:
|
||
- "[[Directory Based Sharding]]"
|
||
---
|
||
![](Pasted%20image%2020240620220323.png)
|
||
|
||
- Выбирается ключ шардирвоания в таблице
|
||
- Ключ преобразуется с помощью хэш функции. F(key) -> shard_id
|
||
- По хэшу определяется шард
|
||
|
||
**Плюсы:**
|
||
- Равномерное и алгоритмическое распределение.
|
||
|
||
**Минусы:**
|
||
- Добавление/удаление шарда всегда боль. Так как хэш функция начинает возвращать другие результаты даже для уже имеющихся данных.
|
||
|
||
Популярные формулы хэширования:
|
||
- cc32
|
||
- какой-то мур-мур |