vault backup: 2024-07-14 19:29:48

This commit is contained in:
Struchkov Mark 2024-07-14 19:29:48 +03:00
parent 6a21001a68
commit 93bbce6f77
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
4 changed files with 29 additions and 14 deletions

View File

@ -23,6 +23,18 @@
"markdownOnly": false, "markdownOnly": false,
"unresolvedLinks": false, "unresolvedLinks": false,
"recentFilesStore": [ "recentFilesStore": [
{
"filepath": "_inbox/Шардирование в БД.md",
"timestamp": 1720974487488
},
{
"filepath": "wiki/zero/00 Базы Данных.md",
"timestamp": 1720974391295
},
{
"filepath": "Home.md",
"timestamp": 1720974288934
},
{ {
"filepath": "wiki/zero/00 SQL.md", "filepath": "wiki/zero/00 SQL.md",
"timestamp": 1720974288072 "timestamp": 1720974288072

View File

@ -1,5 +1,17 @@
{ {
"recentFiles": [ "recentFiles": [
{
"basename": "Шардирование в БД",
"path": "_inbox/Шардирование в БД.md"
},
{
"basename": "00 Базы Данных",
"path": "wiki/zero/00 Базы Данных.md"
},
{
"basename": "Home",
"path": "Home.md"
},
{ {
"basename": "00 SQL", "basename": "00 SQL",
"path": "wiki/zero/00 SQL.md" "path": "wiki/zero/00 SQL.md"
@ -8,18 +20,10 @@
"basename": "Производительность SQL запросов", "basename": "Производительность SQL запросов",
"path": "Производительность SQL запросов.md" "path": "Производительность SQL запросов.md"
}, },
{
"basename": "00 Базы Данных",
"path": "wiki/zero/00 Базы Данных.md"
},
{ {
"basename": "Партиционирование в БД", "basename": "Партиционирование в БД",
"path": "_inbox/Партиционирование в БД.md" "path": "_inbox/Партиционирование в БД.md"
}, },
{
"basename": "Шардирование в БД",
"path": "_inbox/Шардирование в БД.md"
},
{ {
"basename": "Explain в PostgreSQL", "basename": "Explain в PostgreSQL",
"path": "_inbox/Explain в PostgreSQL.md" "path": "_inbox/Explain в PostgreSQL.md"
@ -44,10 +48,6 @@
"basename": "Партиционирование в PostgreSQL", "basename": "Партиционирование в PostgreSQL",
"path": "_inbox/Партиционирование в PostgreSQL.md" "path": "_inbox/Партиционирование в PostgreSQL.md"
}, },
{
"basename": "Home",
"path": "Home.md"
},
{ {
"basename": "2024-07-13 1720855435", "basename": "2024-07-13 1720855435",
"path": "_inbox/2024-07-13 1720855435.md" "path": "_inbox/2024-07-13 1720855435.md"

View File

@ -49,13 +49,13 @@ linked:
- Держать нужные данные на одном шарде - Держать нужные данные на одном шарде
- Делать вычисления в одном сервисе - Делать вычисления в одном сервисе
Стратегии разбиения на шарды Обычно для распределения по шардам ввыбирается какой-то признак. Наиболее популярные стратегии распределения данных по шардам:
- [Key Based Sharding](Key%20Based%20Sharding.md). Наиболее распространенный способ. - [Key Based Sharding](Key%20Based%20Sharding.md). Наиболее распространенный способ.
- [Range Base Sharding](Range%20Base%20Sharding.md). - [Range Base Sharding](Range%20Base%20Sharding.md).
- [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)
Роутинг на шарды: Как направлять на шарды:
- Умный клиент. Приложение само решает в какой шард идти - Умный клиент. Приложение само решает в какой шард идти
- Нет дополнительной точки отказа. Нет лишнего хопа. - Нет дополнительной точки отказа. Нет лишнего хопа.
- Как обновлять при изменении количества шардов? - Как обновлять при изменении количества шардов?

View File

@ -23,6 +23,9 @@ aliases:
 - Часто думают, что реляционная таблица — это массив. Некоторые даже думают, что это двумерный массив. На самом деле, это гораздо более сложная штука. Это мультимножество набор определенного сорта кортежей, над которым не задано порядка. В SQL-таблице нет порядка. Это важно. И, как результат, когда вы делаете SELECT* из БД (просканировать все записи), результат выполнения запроса может меняться строчки могут быть в одном порядке, а могут и в другом. Про это нужно помнить.  - Часто думают, что реляционная таблица — это массив. Некоторые даже думают, что это двумерный массив. На самом деле, это гораздо более сложная штука. Это мультимножество набор определенного сорта кортежей, над которым не задано порядка. В SQL-таблице нет порядка. Это важно. И, как результат, когда вы делаете SELECT* из БД (просканировать все записи), результат выполнения запроса может меняться строчки могут быть в одном порядке, а могут и в другом. Про это нужно помнить.
 - Профиль нагрузки на реляционную базу данных выглядит следующим образом: 80% запросов это чтение, 20% запросов это запись. Если запросов на запись больше, то возможно реляционная база данных вам не подходит.  - Профиль нагрузки на реляционную базу данных выглядит следующим образом: 80% запросов это чтение, 20% запросов это запись. Если запросов на запись больше, то возможно реляционная база данных вам не подходит.
## Улучшение производительности ## Улучшение производительности
- [Репликация БД](Репликация%20БД.md)
- [Шардирование в БД](Шардирование%20в%20БД.md)
- Выбирать правильный тип для колонки - Выбирать правильный тип для колонки
- Денормализация - Денормализация
- Меньше индексов - лучше - Меньше индексов - лучше