Введение
Колоночная база данных хранит данные каждого столбца независимо. Это позволяет читать с диска данные только тех столбцов, которые используются в конкретном запросе. Обратная сторона такого подхода в том, что операции, затрагивающие целые строки, становятся пропорционально дороже. Другое название колоночной базы данных — столбцовая система управления базами данных. ClickHouse — типичный пример такой системы.
Преимущества колоночной базы данных
Ключевые преимущества колоночной базы данных:
- Запросы, использующие лишь несколько столбцов из множества.
- Агрегирующие запросы по большим объёмам данных.
- Сжатие данных по столбцам.
Строко-ориентированные и столбцовые базы данных
Ниже показана иллюстрация различий между традиционными строко-ориентированными системами и столбцовыми базами данных при построении отчётов:
Традиционная строко-ориентированная

Столбцовая

Колоночная база данных — предпочтительный выбор для аналитических приложений, поскольку позволяет держать в таблице множество столбцов про запас, но не тратить ресурсы на чтение неиспользуемых столбцов при выполнении запросов (традиционная OLTP-база данных во время запросов читает все данные, так как они хранятся по строкам, а не по столбцам). Столбцовые базы данных предназначены для обработки больших данных и построения хранилищ данных; они часто масштабируются на основе распределённых кластеров из недорогого оборудования для увеличения пропускной способности. ClickHouse реализует это с помощью сочетания distributed и replicated таблиц.