digital-garden/dev/database/Колоночная база данных.md
Struchkov Mark 7ba718adb3
All checks were successful
continuous-integration/drone/push Build is passing
Обновление
2024-11-26 22:19:07 +03:00

51 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
aliases:
- Columnar Databases
tags:
- maturity/🌱
date: 2024-11-26
---
**Колоночные базы данных** (Columnar Databases) — это системы управления базами данных, которые хранят данные столбцами, а не строками, как в традиционных реляционных базах данных. Этот подход имеет важные преимущества в задачах аналитики и обработки больших объемов данных.
Вместо того чтобы хранить данные построчно, как это делает реляционная база данных
![[../../meta/files/images/Pasted image 20241126185848.png]]
колоночные базы данных хранят данные в виде отдельных столбцов.
![[../../meta/files/images/Pasted image 20241126185910.png]]
Колоночные базы данных широко используются в системах, где важно быстро анализировать большие объемы данных. Примеры:
- [[../../../../source/доклады/00 ClickHouse|ClickHouse]] — быстрая аналитика и построение отчетов.
- **Amazon Redshift** — облачные хранилища данных.
- Apache [[Cassandra]] и **HBase** — большие распределенные хранилища.
**Преимущества**
- **Ускорение аналитических запросов**: При агрегациях и фильтрациях задействуются только те столбцы, которые участвуют в запросе. При этом данные одного типа лежат последовательно. Это значительно сокращает объем данных, которые нужно считывать с диска.
- **Эффективное сжатие данных**: Данные в одном столбце имеют схожую природу (например, возраст — целые числа), что позволяет применять более эффективные алгоритмы сжатия, такие как RLE (Run Length Encoding) или Dictionary Encoding.
- **Снижение нагрузки на I/O**: Извлечение только нужных столбцов уменьшает объем операций ввода-вывода.
**Недостатки**
- **Меньшая эффективность для транзакционных операций**: Записи и обновления, которые влияют на большое количество столбцов, требуют больше операций, чем в реляционных базах.
- **Усложнение работы с несжатыми или разреженными данными**: Если данные столбца не поддаются сжатию или содержат много пропусков, преимущества колоночного подхода снижаются.
- **Требования к особенностям использования**: Колоночные базы данных не подходят для [[Online Transaction Processing|OLTP]], так как их структура оптимизирована под аналитические нагрузки ([[Online Analytical Processing|OLAP]]).
Они применяются:
- В бизнес-аналитике (BI), где важны агрегации и построение отчетов.
- В системах мониторинга, где обрабатываются метрики (логирование, мониторинг систем).
- В рекомендационных системах для анализа больших массивов пользовательских данных.
***
## Мета информация
**Область**:: [[../../meta/zero/00 Разработка|00 Разработка]]
**Родитель**:: [[../Тип хранилища данных|Тип хранилища данных]]
**Источник**::
**Создана**:: [[2024-11-26]]
**Автор**::
### Дополнительные материалы
-
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->