digital-garden/dev/database/Колоночная база данных.md
Struchkov Mark d8d8e74b4a
All checks were successful
continuous-integration/drone/push Build is passing
Data Vault
2024-11-26 22:34:00 +03:00

4.5 KiB
Raw Blame History

aliases tags date
Columnar Databases
колоночную базу данных
maturity/🌱
2024-11-26

Колоночные базы данных (Columnar Databases) — это системы управления базами данных, которые хранят данные столбцами, а не строками, как в традиционных реляционных базах данных. Этот подход имеет важные преимущества в задачах аналитики и обработки больших объемов данных.

Вместо того чтобы хранить данные построчно, как это делает реляционная база данных

!../../meta/files/images/Pasted image 20241126185848.png

колоночные базы данных хранят данные в виде отдельных столбцов.

!../../meta/files/images/Pasted image 20241126185910.png

Колоночные базы данных широко используются в системах, где важно быстро анализировать большие объемы данных. Примеры:

  • ../../meta/zero/00 ClickHouse — быстрая аналитика и построение отчетов.
  • Amazon Redshift — облачные хранилища данных.
  • Apache Cassandra и HBase — большие распределенные хранилища.

Преимущества

  • Ускорение аналитических запросов: При агрегациях и фильтрациях задействуются только те столбцы, которые участвуют в запросе. При этом данные одного типа лежат последовательно. Это значительно сокращает объем данных, которые нужно считывать с диска.
  • Эффективное сжатие данных: Данные в одном столбце имеют схожую природу (например, возраст — целые числа), что позволяет применять более эффективные алгоритмы сжатия, такие как RLE (Run Length Encoding) или Dictionary Encoding.
  • Снижение нагрузки на I/O: Извлечение только нужных столбцов уменьшает объем операций ввода-вывода.

Недостатки

  • Меньшая эффективность для транзакционных операций: Записи и обновления, которые влияют на большое количество столбцов, требуют больше операций, чем в реляционных базах.
  • Усложнение работы с несжатыми или разреженными данными: Если данные столбца не поддаются сжатию или содержат много пропусков, преимущества колоночного подхода снижаются.
  • Требования к особенностям использования: Колоночные базы данных не подходят для Online Transaction Processing, так как их структура оптимизирована под аналитические нагрузки (Online Analytical Processing).

Они применяются:

  • В бизнес-аналитике (BI), где важны агрегации и построение отчетов.
  • В системах мониторинга, где обрабатываются метрики (логирование, мониторинг систем).
  • В рекомендационных системах для анализа больших массивов пользовательских данных.

Мета информация

Область:: ../../meta/zero/00 Разработка Родитель:: ../Тип хранилища данных Источник:: Создана:: 2024-11-26 Автор::

Дополнительные материалы

Дочерние заметки