digital-garden/dev/database/Колоночная база данных.md

51 lines
4.5 KiB
Markdown
Raw Normal View History

2024-11-26 22:19:07 +03:00
---
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) -->