From d90b7dea40d1999e69212fbbb0cfd4ce1e0e75aa Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Thu, 20 Jun 2024 21:59:23 +0300 Subject: [PATCH] vault backup: 2024-06-20 21:59:23 --- .obsidian/plugins/home-tab/data.json | 8 ++++---- .obsidian/plugins/recent-files-obsidian/data.json | 8 ++++---- _inbox/Шардирование в БД.md | 5 ++--- Партиционирование в БД.md | 2 ++ 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.obsidian/plugins/home-tab/data.json b/.obsidian/plugins/home-tab/data.json index b3bf17f1..1ac06361 100644 --- a/.obsidian/plugins/home-tab/data.json +++ b/.obsidian/plugins/home-tab/data.json @@ -23,6 +23,10 @@ "markdownOnly": false, "unresolvedLinks": false, "recentFilesStore": [ + { + "filepath": "Партиционирование в БД.md", + "timestamp": 1718909771420 + }, { "filepath": "_inbox/Шардирование в БД.md", "timestamp": 1718909535878 @@ -35,10 +39,6 @@ "filepath": "_inbox/Вертикальное масштабирование.md", "timestamp": 1718909525308 }, - { - "filepath": "Партиционирование в БД.md", - "timestamp": 1718909422727 - }, { "filepath": "_inbox/Шардирование - OTUS.md", "timestamp": 1718908901467 diff --git a/.obsidian/plugins/recent-files-obsidian/data.json b/.obsidian/plugins/recent-files-obsidian/data.json index 4f8e7f1a..81dd835b 100644 --- a/.obsidian/plugins/recent-files-obsidian/data.json +++ b/.obsidian/plugins/recent-files-obsidian/data.json @@ -1,5 +1,9 @@ { "recentFiles": [ + { + "basename": "Партиционирование в БД", + "path": "Партиционирование в БД.md" + }, { "basename": "Шардирование в БД", "path": "_inbox/Шардирование в БД.md" @@ -12,10 +16,6 @@ "basename": "Вертикальное масштабирование", "path": "_inbox/Вертикальное масштабирование.md" }, - { - "basename": "Партиционирование в БД", - "path": "Партиционирование в БД.md" - }, { "basename": "Шардирование - OTUS", "path": "_inbox/Шардирование - OTUS.md" diff --git a/_inbox/Шардирование в БД.md b/_inbox/Шардирование в БД.md index c487290a..f697cf26 100644 --- a/_inbox/Шардирование в БД.md +++ b/_inbox/Шардирование в БД.md @@ -21,16 +21,15 @@ linked: Шардирование — это метод разделения и распределения больших объёмов данных по разным базам данных или узлам в рамках одной распределённой системы, чтобы облегчить их управление, обеспечить масштабируемость и повысить производительность. Каждая часть данных, или "шард", функционирует как отдельная база данных, и все шарды вместе образуют логически единую базу данных. Основные принципы шардирования включают в себя: -- **Горизонтальное разделение данных**: Вместо того чтобы хранить все данные в одной таблице или базе данных, они разделяются на меньшие, более управляемые части. Каждый шард содержит часть данных, например, пользователей с идентификаторами от 1 до 1000 в одном шарде и от 1001 до 2000 в другом. +- **Горизонтальное разделение данных**: Вместо того чтобы хранить все данные в одной таблице или базе данных, они разделяются на меньшие части. Каждый шард содержит часть данных, например, пользователей с идентификаторами от 1 до 1000 в одном шарде и от 1001 до 2000 в другом. - **Распределение нагрузки**: Поскольку запросы к данным могут обрабатываться параллельно разными шардами, это способствует балансировке нагрузки и увеличению производительности системы. - **Масштабируемость**: По мере роста объёмов данных новые шарды могут быть добавлены в систему, что позволяет масштабировать приложение горизонтально. - **Локализация данных**: Шардирование может быть использовано для локализации данных, чтобы уменьшить задержки, связанные с географическим расположением пользователей и баз данных. **Плюсы:** - [Горизонтальное масштабирование](Горизонтальное%20масштабирование.md) -- **Улучшение производительности**: Единственный мет +- **Улучшение производительности**: Единственный метод ускоряющий запись в БД. - **Высокая доступность и устойчивость к отказам**: Отказ одного шарда не приводит к полному сбою системы. Данные в остальных шардах остаются доступными, что повышает общую устойчивость системы к отказам. -- **Географическое распределение данных**: Шардирование позволяет располагать данные ближе к пользователям, что может снижать задержки и улучшать взаимодействие с приложением. **Минусы:** - **Сложность управления**: Управление множеством шардов и обеспечение их синхронизации может быть сложной задачей, требующей продвинутых решений для мониторинга, резервного копирования и восстановления. diff --git a/Партиционирование в БД.md b/Партиционирование в БД.md index ee76153a..7d2dbc0a 100644 --- a/Партиционирование в БД.md +++ b/Партиционирование в БД.md @@ -18,8 +18,10 @@ linked: **Минусы:** - Некоторые запросы могут замедлиться. Кросс-партиционные запросы. - Так как данные лежат на одном сервере, то если уперлись в производительность диска, партиционирование не поможет. +- Кажется перестройка партиций дорогостоящая операция. **Плюсы:** +- Простая реализация. Разработчик продолжает обращаться к таблице, а СУБД понимает в какую партицию ей стоит идти. - Некоторые типы запросов может ускорить за счет уменьшения объема данных в партиции. Основные типы разделения: