vault backup: 2024-07-15 13:45:03
This commit is contained in:
parent
9b3a542065
commit
7283a36631
18
.obsidian/plugins/home-tab/data.json
vendored
18
.obsidian/plugins/home-tab/data.json
vendored
@ -23,9 +23,17 @@
|
|||||||
"markdownOnly": false,
|
"markdownOnly": false,
|
||||||
"unresolvedLinks": false,
|
"unresolvedLinks": false,
|
||||||
"recentFilesStore": [
|
"recentFilesStore": [
|
||||||
|
{
|
||||||
|
"filepath": "_inbox/Range Base Sharding.md",
|
||||||
|
"timestamp": 1721040234452
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"filepath": "_inbox/Шардирование в БД.md",
|
"filepath": "_inbox/Шардирование в БД.md",
|
||||||
"timestamp": 1721039784200
|
"timestamp": 1721040232892
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filepath": "_inbox/Key Based Sharding.md",
|
||||||
|
"timestamp": 1721040132060
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filepath": "_inbox/Партиционирование в БД.md",
|
"filepath": "_inbox/Партиционирование в БД.md",
|
||||||
@ -34,14 +42,6 @@
|
|||||||
{
|
{
|
||||||
"filepath": "_inbox/Партиционирование в PostgreSQL.md",
|
"filepath": "_inbox/Партиционирование в PostgreSQL.md",
|
||||||
"timestamp": 1721039299373
|
"timestamp": 1721039299373
|
||||||
},
|
|
||||||
{
|
|
||||||
"filepath": "Решардинг.md",
|
|
||||||
"timestamp": 1721037859219
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"filepath": "Home.md",
|
|
||||||
"timestamp": 1721037621404
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"bookmarkedFileStore": [],
|
"bookmarkedFileStore": [],
|
||||||
|
@ -1,9 +1,17 @@
|
|||||||
{
|
{
|
||||||
"recentFiles": [
|
"recentFiles": [
|
||||||
|
{
|
||||||
|
"basename": "Range Base Sharding",
|
||||||
|
"path": "_inbox/Range Base Sharding.md"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"basename": "Шардирование в БД",
|
"basename": "Шардирование в БД",
|
||||||
"path": "_inbox/Шардирование в БД.md"
|
"path": "_inbox/Шардирование в БД.md"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"basename": "Key Based Sharding",
|
||||||
|
"path": "_inbox/Key Based Sharding.md"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"basename": "Партиционирование в БД",
|
"basename": "Партиционирование в БД",
|
||||||
"path": "_inbox/Партиционирование в БД.md"
|
"path": "_inbox/Партиционирование в БД.md"
|
||||||
@ -44,14 +52,6 @@
|
|||||||
"basename": "Consistent hashing",
|
"basename": "Consistent hashing",
|
||||||
"path": "_inbox/Consistent hashing.md"
|
"path": "_inbox/Consistent hashing.md"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"basename": "Range Base Sharding",
|
|
||||||
"path": "_inbox/Range Base Sharding.md"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"basename": "Key Based Sharding",
|
|
||||||
"path": "_inbox/Key Based Sharding.md"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"basename": "Directory Based Sharding",
|
"basename": "Directory Based Sharding",
|
||||||
"path": "_inbox/Directory Based Sharding.md"
|
"path": "_inbox/Directory Based Sharding.md"
|
||||||
|
@ -21,4 +21,4 @@ linked:
|
|||||||
- Равномерное и алгоритмическое распределение.
|
- Равномерное и алгоритмическое распределение.
|
||||||
|
|
||||||
**Минусы:**
|
**Минусы:**
|
||||||
- Добавление/удаление шарда всегда боль. Так как хэш функция начинает возвращать другие результаты даже для уже имеющихся данных.
|
- [Решардинг](Решардинг.md) всегда боль. Так как хэш функция начинает возвращать другие результаты даже для уже имеющихся данных.
|
@ -40,7 +40,7 @@ linked:
|
|||||||
- [Решардинг](Решардинг.md)
|
- [Решардинг](Решардинг.md)
|
||||||
- [Согласованное префиксное чтение](Согласованное%20префиксное%20чтение.md)
|
- [Согласованное префиксное чтение](Согласованное%20префиксное%20чтение.md)
|
||||||
- При запросе SELECT FROM данные могут отдаться сначала все с одного шарда, потом с другого и так далее.
|
- При запросе SELECT FROM данные могут отдаться сначала все с одного шарда, потом с другого и так далее.
|
||||||
- Запросы не по ключу шардирования пройдут по всем узлам.
|
- Запросы не по ключу шардирования обойдут все узлы.
|
||||||
- Запросы по диапазону ключей хэширования могут обойти все шарды.
|
- Запросы по диапазону ключей хэширования могут обойти все шарды.
|
||||||
- Данные неравномерно распределились.
|
- Данные неравномерно распределились.
|
||||||
- Попробовать подобрать лучше ключ шардирования/кэш функцию
|
- Попробовать подобрать лучше ключ шардирования/кэш функцию
|
||||||
@ -49,9 +49,11 @@ linked:
|
|||||||
- Держать нужные данные на одном шарде
|
- Держать нужные данные на одном шарде
|
||||||
- Делать вычисления в одном сервисе
|
- Делать вычисления в одном сервисе
|
||||||
|
|
||||||
Обычно для распределения по шардам используется какая-то функция шардирования, в которую передается ключ.
|
Как выбрать ключ для шардирования и хэш функцию:
|
||||||
|
- Определиться, какой функционал для вашего бизнеса самый полезный. Какие запросы нужно выполнить, чтобы этот функционал работал. Как разбить данные так, чтобы данные запросы стали быстрее.
|
||||||
|
- Подумать о [Решардинг](Решардинг.md). Насколько легко будет добавлять и убирать шарды.
|
||||||
|
|
||||||
Популярные формулы хэширования:
|
Обычно для распределения по шардам используется какая-то функция шардирования, в которую передается ключ. Популярные формулы хэширования:
|
||||||
- Если ключ цифровой, то можно просто поделить его на количество серверов, получив остаток от деления. Если это строка, то можно взять хэш функцию, которая даст число и уже его делить на количество серверов.
|
- Если ключ цифровой, то можно просто поделить его на количество серверов, получив остаток от деления. Если это строка, то можно взять хэш функцию, которая даст число и уже его делить на количество серверов.
|
||||||
- При изменении количества серверов будет большая головная боль с [решардингом](Решардинг.md), так как придется перетаскивать данные практически со всех шардов.
|
- При изменении количества серверов будет большая головная боль с [решардингом](Решардинг.md), так как придется перетаскивать данные практически со всех шардов.
|
||||||
- Алгоритм crc32.
|
- Алгоритм crc32.
|
||||||
@ -63,9 +65,6 @@ linked:
|
|||||||
- [Directory Based Sharding](Directory%20Based%20Sharding.md)
|
- [Directory Based Sharding](Directory%20Based%20Sharding.md)
|
||||||
- [Consistent hashing](Consistent%20hashing.md). Уменьшает боль от [решардинга](Решардинг.md).
|
- [Consistent hashing](Consistent%20hashing.md). Уменьшает боль от [решардинга](Решардинг.md).
|
||||||
|
|
||||||
Как выбрать ключ для шардирования и хэш функцию:
|
|
||||||
- Определиться, какой функционал для вашего бизнеса самый полезный. Какие запросы нужно выполнить, чтобы этот функционал работал. Как разбить данные так, чтобы данные запросы стали быстрее.
|
|
||||||
- Подумать о [Решардинг](Решардинг.md). Насколько легко будет добавлять и убирать шарды.
|
|
||||||
|
|
||||||
Как направлять на шарды:
|
Как направлять на шарды:
|
||||||
- Умный клиент. Приложение само решает в какой шард идти
|
- Умный клиент. Приложение само решает в какой шард идти
|
||||||
|
Loading…
Reference in New Issue
Block a user