Перейти к основному содержимому
Перейти к основному содержимому

Что такое колоночная база данных?

Колоночная база данных хранит данные каждой колонки независимо. Это позволяет считывать данные с диска только для тех колонок, которые используются в конкретном запросе. Недостатком является то, что операции, затрагивающие целые строки, становятся пропорционально более дорогими. Синонимом колоночной базы данных является система управления базами данных с колоночным хранением. ClickHouse является типичным примером такой системы.

Ключевые преимущества колоночных баз данных:

  • Запросы, которые используют только несколько колонок из множества.
  • Агрегационные запросы по большим объемам данных.
  • Сжатие данных по колонкам.

Вот иллюстрация различий между традиционными системами с построчным хранением и колоночными базами данных при создании отчетов:

Традиционная построчная

Традиционная построчная база данных

Колоночная

Колоночная база данных

Колоночная база данных является предпочтительным выбором для аналитических приложений, потому что она позволяет иметь множество колонок в таблице «на всякий случай», но не оплачивать стоимость неиспользуемых колонок во время выполнения запроса на чтение (традиционная OLTP база данных считывает все данные во время запросов, так как данные хранятся в строках, а не в колонках). Колоночные базы данных разработаны для обработки больших данных и хранения данных, они часто масштабируются фактически, используя распределенные кластеры недорогого оборудования для увеличения пропускной способности. ClickHouse делает это с помощью комбинации распределенных и реплицированных таблиц.

Если вы хотите углубиться в историю колоночных баз данных, узнать, как они отличаются от систем с построчным хранением и в каких случаях используются колоночные базы данных, смотрите гид по колоночным базам данных.