Колоночная база данных (Columnar database) Скачать в PDF

Синонимы: Column-oriented database

Разделы: Источники данных

База данных, в которой данные группируются не по строкам, а по столбцам. В ней «соседними» являются не данные из двух столбцов одной и той же строки, а данные из одного и того же столбца, но из разных строк.

Как и традиционные строчные СУБД, колоночные могут использовать языки запросов к базам данных, такие как SQL.

Рассмотрим простую таблицу:

ID FistName LastName Age Bonus
001 Vladimir Ivanov 34 15 000
002 Dmitry Sidorov 56 21 000
003 Aleksandr Petrov 43 19 000

В строковой базе данных эта таблица будет храниться в виде:

  1. 001, Vladimir, Ivanov, 34, 15 000
  2. 002, Dmitry, Sidorov, 56, 21 000
  3. 003, Aleksandr, Petrov, 43, 19 000

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

  1. 001, 002, 003
  2. Vladimir, Dmitry, Aleksandr
  3. Uvanov, Sidorov, Petrov
  4. 36, 54, 43
  5. 15 000, 21 000, 19 000

Важным свойством колоночных СУБД является высокая скорость и гибкость выполнения сложных запросов. Действительно, в «строчной» СУБД при поиске и считывании значений сканируется вся таблица по строкам и столбцам, а затем извлекаются строки целиком, даже в том случае, если нужно только одно значение каждой из них. Колоночные базы данных позволяют искать значения по отдельным столбцам и извлекать только те значения, которые требуются.

Это свойство колоночных СУБД делает их особенно перспективными для использования в OLAP-системах и при работе с большими данными. Кроме этого, колоночные базы данных могут быть сжаты сильнее, чем строчные, что позволяет более эффективно использовать дисковое пространство.

Колоночные СУБД появились и развивались параллельно со строчными. Первой коммерческой колоночной СУБД считается TAXIR (1969), ориентированная на хранение и поиск биологических данных.

В настоящее время на рынке программного обеспечения представлено большое количество колоночных СУБД: ClickHouse, Greenplum, HANA, MonetDB, Vertica и др.

Loginom поддерживает ClickHouse — столбцовую систему управления базами данных (СУБД) для онлайн обработки аналитических запросов. Подробнее о настройке подключения в разделе «Подключение ClickHouse».