vault backup: 2024-07-15 14:00:03
This commit is contained in:
parent
1dd7f4fdd0
commit
9624a98445
14
.obsidian/plugins/home-tab/data.json
vendored
14
.obsidian/plugins/home-tab/data.json
vendored
@ -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": [],
|
||||||
|
@ -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"
|
||||||
|
@ -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
|
BIN
meta/files/Pasted image 20240715135645.png
Normal file
BIN
meta/files/Pasted image 20240715135645.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 532 KiB |
@ -15,7 +15,5 @@ linked:
|
|||||||
Кого задевает процесс решардинга:
|
Кого задевает процесс решардинга:
|
||||||
- Клиентов, так как в момент решардинга могут возникать ошибки из-за не консистентности данных
|
- Клиентов, так как в момент решардинга могут возникать ошибки из-за не консистентности данных
|
||||||
- Сеть, так как по сети передаются данные из одного шарда в другой
|
- Сеть, так как по сети передаются данные из одного шарда в другой
|
||||||
|
|
||||||
|
|
||||||
## Заметки
|
## Заметки
|
||||||
- Что если не переносить записи сразу, а сначала обращаться по новому значению хэш функции, а потом по старому. Таким образом можно в фоне мигрировать данные.
|
- Что если не переносить записи сразу, а сначала обращаться по новому значению хэш функции, а потом по старому. Таким образом можно в фоне мигрировать данные.
|
Loading…
Reference in New Issue
Block a user