Struchkov Mark
7ba718adb3
All checks were successful
continuous-integration/drone/push Build is passing
51 lines
4.5 KiB
Markdown
51 lines
4.5 KiB
Markdown
---
|
||
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) -->
|
||
|