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

Что такое OLAP?

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

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

Аналитика …для создания аналитических отчетов и инсайтов…

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

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

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

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

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 хранят данные, организованные по строкам.