vault backup: 2024-07-15 13:55:03

This commit is contained in:
Struchkov Mark 2024-07-15 13:55:03 +03:00
parent dbeb695dd6
commit 1dd7f4fdd0
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
4 changed files with 18 additions and 14 deletions

View File

@ -23,9 +23,13 @@
"markdownOnly": false, "markdownOnly": false,
"unresolvedLinks": false, "unresolvedLinks": false,
"recentFilesStore": [ "recentFilesStore": [
{
"filepath": "Решардинг.md",
"timestamp": 1721040878748
},
{ {
"filepath": "_inbox/Шардирование в БД.md", "filepath": "_inbox/Шардирование в БД.md",
"timestamp": 1721040591668 "timestamp": 1721040873038
}, },
{ {
"filepath": "_inbox/Directory Based Sharding.md", "filepath": "_inbox/Directory Based Sharding.md",
@ -38,10 +42,6 @@
{ {
"filepath": "_inbox/Key Based Sharding.md", "filepath": "_inbox/Key Based Sharding.md",
"timestamp": 1721040132060 "timestamp": 1721040132060
},
{
"filepath": "_inbox/Партиционирование в БД.md",
"timestamp": 1721039353391
} }
], ],
"bookmarkedFileStore": [], "bookmarkedFileStore": [],

View File

@ -1,5 +1,9 @@
{ {
"recentFiles": [ "recentFiles": [
{
"basename": "Решардинг",
"path": "Решардинг.md"
},
{ {
"basename": "Шардирование в БД", "basename": "Шардирование в БД",
"path": "_inbox/Шардирование в БД.md" "path": "_inbox/Шардирование в БД.md"
@ -24,10 +28,6 @@
"basename": "Партиционирование в PostgreSQL", "basename": "Партиционирование в PostgreSQL",
"path": "_inbox/Партиционирование в PostgreSQL.md" "path": "_inbox/Партиционирование в PostgreSQL.md"
}, },
{
"basename": "Решардинг",
"path": "Решардинг.md"
},
{ {
"basename": "Home", "basename": "Home",
"path": "Home.md" "path": "Home.md"

View File

@ -68,21 +68,28 @@ linked:
Как направлять на шарды: Как направлять на шарды:
- Умный клиент. Приложение само решает в какой шард идти - Умный клиент. Приложение само решает в какой шард идти
- Нет дополнительной точки отказа. Нет лишнего хопа. - Нет дополнительной точки отказа. Нет лишнего хопа.
- Усложняется разработка. Нужно учитывать шардирование при разработке.
- Как выполнять [решардинг](Решардинг.md)? - Как выполнять [решардинг](Решардинг.md)?
- Прокси - Прокси
- Промежуточный сервис между клиентом и БД, который знает о шардинге и передает данные от БД к клиенту. - Промежуточный сервис между клиентом и БД, который знает о шардинге и передает данные от БД к клиенту.
- Сервисы ничего не знают о шардинге - Сервисы ничего не знают о шардинге
- Дополнительная точка отказа. Лишний хоп. - Дополнительная точка отказа.
- Но можно попробовать разместить проксю рядом с сервисом. - Но можно попробовать разместить проксю рядом с сервисом.
- Увеличивается количество трафика. - Увеличивается количество трафика.
- Уменьшается [Latency](Latency.md). Лишний хоп.
- Координатор - Координатор
- Промежуточный сервис между клиентом и БД, но в отличие от прокси не отдает сами данные, а указывает сервису в какой шард сходить. - Промежуточный сервис между клиентом и БД, но в отличие от прокси не отдает сами данные, а указывает сервису в какой шард сходить.
- Сервисы ничего не знают о шардинге. - Сервисы ничего не знают о шардинге.
- Дополнительная точка отказа. Лишний хоп. - Дополнительная точка отказа.
- Уменьшается [Latency](Latency.md). Лишний хоп.
- Intra-database routing - Intra-database routing
- Клиент обращается к любому шарду БД, а он уже знает в какой шард сходить. - Клиент обращается к любому шарду БД, а он уже знает в какой шард сходить.
- Так работает [Redis](Redis.md) кластер - Так работает [Redis](Redis.md) кластер
Лучше если количество нод будет равно степени 2 (2,4,8). Формула shard_Id % count.
- 16 записей на 8 шардов -> 2 записи на шард
- 16 записей на 16 шардов -> 1 запись на шард
Реализации в СУБД: Реализации в СУБД:
- [Шардирование в PostgreSQL](Шардирование%20в%20PostgreSQL.md) - [Шардирование в PostgreSQL](Шардирование%20в%20PostgreSQL.md)
## Заметки ## Заметки

View File

@ -16,9 +16,6 @@ linked:
- Клиентов, так как в момент решардинга могут возникать ошибки из-за не консистентности данных - Клиентов, так как в момент решардинга могут возникать ошибки из-за не консистентности данных
- Сеть, так как по сети передаются данные из одного шарда в другой - Сеть, так как по сети передаются данные из одного шарда в другой
Лучше если количество нод будет равно степени 2 (2,4,8). Формула shard_Id % count.
- 16 записей на 8 шардов -> 2 записи на шард
- 16 записей на 16 шардов -> 1 запись на шард
## Заметки ## Заметки
- Что если не переносить записи сразу, а сначала обращаться по новому значению хэш функции, а потом по старому. Таким образом можно в фоне мигрировать данные. - Что если не переносить записи сразу, а сначала обращаться по новому значению хэш функции, а потом по старому. Таким образом можно в фоне мигрировать данные.