From d8d8e74b4ac955cba6d18476353949aa2c964339 Mon Sep 17 00:00:00 2001 From: Struchkov Mark Date: Tue, 26 Nov 2024 22:34:00 +0300 Subject: [PATCH] Data Vault --- .../{Таблицы сателиты.md => Data Vault.md} | 5 ++--- dev/database/Online Analytical Processing.md | 16 +++++++++++----- dev/database/Online Transaction Processing.md | 6 +++--- dev/database/Колоночная база данных.md | 1 + 4 files changed, 17 insertions(+), 11 deletions(-) rename dev/database/{Таблицы сателиты.md => Data Vault.md} (91%) diff --git a/dev/database/Таблицы сателиты.md b/dev/database/Data Vault.md similarity index 91% rename from dev/database/Таблицы сателиты.md rename to dev/database/Data Vault.md index e2d118dc..d1568bc0 100644 --- a/dev/database/Таблицы сателиты.md +++ b/dev/database/Data Vault.md @@ -1,11 +1,10 @@ --- -aliases: +aliases: + - Таблицы сателиты tags: - maturity/🌱 date: 2024-11-25 --- -**Сателлитные таблицы (Satellite Tables)** — это концепция, часто используемая в методологии **Data Vault**, которая предназначена для моделирования данных в хранилищах. Их основная цель — хранение атрибутов, которые связаны с основными объектами (например, сущностями или событиями), но имеют динамическую природу или часто изменяются. - ![[../../meta/files/images/Снимок экрана 2024-11-25 в 13.57.23.png]] **Основные понятия:** diff --git a/dev/database/Online Analytical Processing.md b/dev/database/Online Analytical Processing.md index d484d320..0f2267dc 100644 --- a/dev/database/Online Analytical Processing.md +++ b/dev/database/Online Analytical Processing.md @@ -15,12 +15,12 @@ OLAP (Online Analytical Processing) — это тип нагрузки, кото - Часто используется денормализация - Скорость обработки зависит от количества данных, но обычно медленнее чем в [[Online Transaction Processing|OLTP]] -Примеры задач: +**Примеры задач:** - Поиск зависимостей по товарам, которые пользователи покупают вместе. - Получение информации о продажах за последние 3 года. - Построение аналитики по шаблонам платежей по группам пользователей. -Причины выделить OLAP нагрузку: +**Причины выделить OLAP нагрузку:** - Разный характер нагрузки, требующий долгосрочного хранения и анализа данных. - Специфические стратегии [[Индекс базы данных|индексирования]] для оптимизации аналитических запросов. - Работа с большими объемами данных и их обработка в рамках одного запроса. @@ -28,9 +28,15 @@ OLAP (Online Analytical Processing) — это тип нагрузки, кото Это не то же самое, что создание отдельной реплики для отчетности, так как это не решает проблему разных индексов. Однако на логической репликации это возможно. -Рекомендации: -- Использовать колоночную базу данных - - Не вставлять в нее записи по одной, а вставлять пачками. +OLAP архитектуры: +- Звезда +- Снежинка +- [[Data Vault]] +- Lambda +- Kappa + +**Рекомендации:** +- Использовать [[Колоночная база данных|колоночную базу данных]] *** ## Мета информация **Область**:: [[../../meta/zero/00 Реляционная база данных|00 Реляционная база данных]] diff --git a/dev/database/Online Transaction Processing.md b/dev/database/Online Transaction Processing.md index 05651d4f..d6350a73 100644 --- a/dev/database/Online Transaction Processing.md +++ b/dev/database/Online Transaction Processing.md @@ -12,9 +12,9 @@ OLTP (Online Transaction Processing) — это тип нагрузки, кот - Частое выполнение операций `INSERT`, `UPDATE`, `DELETE`. - Подавляющее большинство операций затрагивает только одну строку. - Запросы должны выполняться максимально быстро. -- Высокая степень нормализации таблиц +- Высокая степень нормализации таблиц. -Примеры задач: +**Примеры задач:** - Продажа товаров пользователям. - Прием платежей за сотовую связь. ## Лучшие практики для оптимизации производительности @@ -22,7 +22,7 @@ OLTP (Online Transaction Processing) — это тип нагрузки, кот - [[../../../../_inbox/Шардирование БД|Шардинг]] (разделение таблиц): разделение таблиц на части снижает нагрузку и улучшает производительность. - **Избегание блокировок**: минимизация блокировок таблиц и строк особенно важна при большом количестве параллельных транзакций. - Для OLTP-нагрузки не следует использовать параллельное выполнение запросов, так как это забирает ядро процессора у другого запроса, что может привести к задержкам в обработке транзакций и снижению общей производительности системы. В контексте OLTP важнее минимизировать время выполнения каждого отдельного запроса, а не распределять его между несколькими ядрами. ==Каждый запрос должен выполняться на одном ядре как можно быстрее.== -- #idea Не хранить данные, которые уже не нужны для бизнес-логики, а нужны для OLAP. Попробовать переносить архивные данные в отдельную базу данных. Но возникает вопрос, а как объединять актуальные данные с архивными, чтобы отдавать их на фронт? +- Не хранить данные, которые уже не нужны для бизнес-логики, а нужны только для [[Online Analytical Processing|OLAP]]. Попробовать переносить архивные данные в отдельную базу данных. *** ## Мета информация diff --git a/dev/database/Колоночная база данных.md b/dev/database/Колоночная база данных.md index 3f2351fe..fecf5dff 100644 --- a/dev/database/Колоночная база данных.md +++ b/dev/database/Колоночная база данных.md @@ -1,6 +1,7 @@ --- aliases: - Columnar Databases + - колоночную базу данных tags: - maturity/🌱 date: 2024-11-26