vault backup: 2024-07-15 13:55:03
This commit is contained in:
parent
dbeb695dd6
commit
1dd7f4fdd0
10
.obsidian/plugins/home-tab/data.json
vendored
10
.obsidian/plugins/home-tab/data.json
vendored
@ -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": [],
|
||||||
|
@ -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"
|
||||||
|
@ -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)
|
||||||
## Заметки
|
## Заметки
|
||||||
|
@ -16,9 +16,6 @@ linked:
|
|||||||
- Клиентов, так как в момент решардинга могут возникать ошибки из-за не консистентности данных
|
- Клиентов, так как в момент решардинга могут возникать ошибки из-за не консистентности данных
|
||||||
- Сеть, так как по сети передаются данные из одного шарда в другой
|
- Сеть, так как по сети передаются данные из одного шарда в другой
|
||||||
|
|
||||||
Лучше если количество нод будет равно степени 2 (2,4,8). Формула shard_Id % count.
|
|
||||||
- 16 записей на 8 шардов -> 2 записи на шард
|
|
||||||
- 16 записей на 16 шардов -> 1 запись на шард
|
|
||||||
|
|
||||||
## Заметки
|
## Заметки
|
||||||
- Что если не переносить записи сразу, а сначала обращаться по новому значению хэш функции, а потом по старому. Таким образом можно в фоне мигрировать данные.
|
- Что если не переносить записи сразу, а сначала обращаться по новому значению хэш функции, а потом по старому. Таким образом можно в фоне мигрировать данные.
|
Loading…
x
Reference in New Issue
Block a user