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

Что такое OLAP?

OLAP расшифровывается как Online Analytical Processing. Это широкий термин, который можно рассматривать с двух точек зрения: технической и бизнес. Но на самом высоком уровне вы можете просто прочитать эти слова в обратном порядке:

Обработка : Некоторые исходные данные обрабатываются...

Аналитика : ...для создания аналитических отчетов и выводов...

Онлайн : ...в реальном времени.

OLAP с точки зрения бизнеса

В последние годы бизнесмены начали осознавать ценность данных. Компании, принимающие решения вслепую, чаще всего не успевают за конкурентами. Ориентированный на данные подход успешных компаний заставляет их собирать все данные, которые могут быть отдаленно полезны для принятия бизнес-решений, и нужны механизмы для своевременного анализа этих данных. Здесь на помощь приходят системы управления базами данных OLAP.

С точки зрения бизнеса OLAP позволяет компаниям непрерывно планировать, анализировать и отчитываться о операционной деятельности, тем самым максимизируя эффективность, снижая расходы и в конечном итоге завоевывая долю рынка. Это может быть реализовано либо в внутренней системе, либо передано на аутсорсинг поставщикам SaaS, таким как веб/мобильные аналитические сервисы, CRM-сервисы и т.д. OLAP является технологией, лежащей в основе многих приложений бизнес-аналитики (Business Intelligence).

ClickHouse — это система управления базами данных OLAP, которая довольно часто используется в качестве бэкенда для этих SaaS-решений для анализа специализированных данных. Однако некоторые компании все еще неохотно делятся своими данными с третьими сторонами, и сценарий внутреннего хранилища данных также жизнеспособен.

OLAP с технической точки зрения

Все системы управления базами данных можно классифицировать на две группы: OLAP (Online Analytical Processing) и OLTP (Online Transactional Processing). Первая фокусируется на создании отчетов, каждый из которых основан на больших объемах исторических данных, но делается это не так часто. В то время как последняя, как правило, обрабатывает непрерывный поток транзакций, постоянно модифицируя текущее состояние данных.

На практике OLAP и OLTP — это не категории, это скорее спектр. Большинство реальных систем обычно сосредоточены на одной из них, но предоставляют некоторые решения или обходные пути, если требуется противоположный тип нагрузки. Эта ситуация часто заставляет компании эксплуатировать несколько интегрированных систем хранения, что может быть не такой большой проблемой, но наличие большего количества систем делает их более дорогостоящими в обслуживании. Поэтому тренд последних лет — это HTAP (Hybrid Transactional/Analytical Processing), когда оба типа нагрузки обрабатываются одинаково хорошо одной системой управления базами данных.

Даже если СУБД начиналась как чистая OLAP или чистая OLTP, им приходится двигаться в направлении HTAP, чтобы не отставать от конкурентов. И ClickHouse не исключение; изначально он был разработан как OLAP система, работающая как можно быстрее, и у него все еще нет полностью развитой поддержки транзакций, но некоторые функции, такие как согласительное чтение/запись и мутации для обновления/удаления данных, пришлось добавить.

Основной компромисс между системами OLAP и OLTP остается:

  • Для эффективного построения аналитических отчетов крайне важно иметь возможность читать столбцы отдельно, поэтому большинство OLAP баз данных являются столбцовыми,
  • В то время как хранение столбцов отдельно увеличивает затраты на операции со строками, такие как добавление или модификация на месте, пропорционально количеству столбцов (которые могут быть огромными, если системы пытаются собрать все детали события на всякий случай). Поэтому большинство систем OLTP хранят данные, организованные по строкам.