vault backup: 2024-07-15 14:00:03

This commit is contained in:
Struchkov Mark 2024-07-15 14:00:03 +03:00
parent 1dd7f4fdd0
commit 9624a98445
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
5 changed files with 20 additions and 16 deletions

View File

@ -24,12 +24,16 @@
"unresolvedLinks": false, "unresolvedLinks": false,
"recentFilesStore": [ "recentFilesStore": [
{ {
"filepath": "Решардинг.md", "filepath": "_inbox/Consistent hashing.md",
"timestamp": 1721040878748 "timestamp": 1721041001580
}, },
{ {
"filepath": "_inbox/Шардирование в БД.md", "filepath": "_inbox/Шардирование в БД.md",
"timestamp": 1721040873038 "timestamp": 1721041000638
},
{
"filepath": "Решардинг.md",
"timestamp": 1721040878748
}, },
{ {
"filepath": "_inbox/Directory Based Sharding.md", "filepath": "_inbox/Directory Based Sharding.md",
@ -38,10 +42,6 @@
{ {
"filepath": "_inbox/Range Base Sharding.md", "filepath": "_inbox/Range Base Sharding.md",
"timestamp": 1721040234452 "timestamp": 1721040234452
},
{
"filepath": "_inbox/Key Based Sharding.md",
"timestamp": 1721040132060
} }
], ],
"bookmarkedFileStore": [], "bookmarkedFileStore": [],

View File

@ -1,13 +1,17 @@
{ {
"recentFiles": [ "recentFiles": [
{ {
"basename": "Решардинг", "basename": "Consistent hashing",
"path": "Решардинг.md" "path": "_inbox/Consistent hashing.md"
}, },
{ {
"basename": "Шардирование в БД", "basename": "Шардирование в БД",
"path": "_inbox/Шардирование в БД.md" "path": "_inbox/Шардирование в БД.md"
}, },
{
"basename": "Решардинг",
"path": "Решардинг.md"
},
{ {
"basename": "Directory Based Sharding", "basename": "Directory Based Sharding",
"path": "_inbox/Directory Based Sharding.md" "path": "_inbox/Directory Based Sharding.md"
@ -52,10 +56,6 @@
"basename": "Произношение", "basename": "Произношение",
"path": "_inbox/Произношение.md" "path": "_inbox/Произношение.md"
}, },
{
"basename": "Consistent hashing",
"path": "_inbox/Consistent hashing.md"
},
{ {
"basename": "00 Базы Данных", "basename": "00 Базы Данных",
"path": "wiki/zero/00 Базы Данных.md" "path": "wiki/zero/00 Базы Данных.md"

View File

@ -12,6 +12,8 @@ linked:
--- ---
Представим, что весь диапазон нашей хэш функции можно отобразить на окружности (0 до 32 или от -32 до 32). Хэшфункция указывает место на круге. Хэш-функция используется для определения места узлов на круге. Этаже хэш функция используется для определения значения ключей на круге. Выбирается ближайший по часовой стрелке узел. Представим, что весь диапазон нашей хэш функции можно отобразить на окружности (0 до 32 или от -32 до 32). Хэшфункция указывает место на круге. Хэш-функция используется для определения места узлов на круге. Этаже хэш функция используется для определения значения ключей на круге. Выбирается ближайший по часовой стрелке узел.
![](Pasted%20image%2020240715135645.png)
**Плюсы:** **Плюсы:**
- При добавлении/удалении шардов затрагивается только часть данных. - При добавлении/удалении шардов затрагивается только часть данных.
@ -21,7 +23,11 @@ linked:
## Virtual Nodes (Bucket) ## Virtual Nodes (Bucket)
Можно попытаться решить проблему неравноморного распределения. Для этого мы добавим виртуальные шарды: для одной ноды определяется несколько точек на круге. Можно попытаться решить проблему неравноморного распределения. Для этого мы добавим виртуальные шарды: для одной ноды определяется несколько точек на круге.
Такой подход используется в [Cassandra](Cassandra.md) Такой подход используется в [Cassandra](Cassandra.md).
Плюсы:
- Более равномерное распределение.
- Можно использовать сервера разной конфигурации, опеределяя
## Дополнительные материалы ## Дополнительные материалы
- Есть какая-то библиотека Guava/Sumbur - Есть какая-то библиотека Guava/Sumbur

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 KiB

View File

@ -15,7 +15,5 @@ linked:
Кого задевает процесс решардинга: Кого задевает процесс решардинга:
- Клиентов, так как в момент решардинга могут возникать ошибки из-за не консистентности данных - Клиентов, так как в момент решардинга могут возникать ошибки из-за не консистентности данных
- Сеть, так как по сети передаются данные из одного шарда в другой - Сеть, так как по сети передаются данные из одного шарда в другой
## Заметки ## Заметки
- Что если не переносить записи сразу, а сначала обращаться по новому значению хэш функции, а потом по старому. Таким образом можно в фоне мигрировать данные. - Что если не переносить записи сразу, а сначала обращаться по новому значению хэш функции, а потом по старому. Таким образом можно в фоне мигрировать данные.