Sybase IQ
Sybase IQ — это реляционная система управления базами данных (СУБД), специализированная для аналитической обработки и хранения больших объёмов данных (класс OLAP). Разработана компанией Sybase, приобретённой в 2010 году корпорацией SAP SE. Отличительная особенность Sybase IQ — архитектура, оптимизированная для операций чтения и агрегации данных, а не для транзакций (OLTP). СУБД использует столбцовое (колоночное) хранение данных, что обеспечивает высокую скорость выполнения аналитических запросов и эффективное сжатие информации. Позиционируется как продукт для построения хранилищ данных (Data Warehouse), витрин данных (Data Mart) и решений для бизнес-аналитики (BI). После интеграции в экосистему SAP продукт распространяется под названиями SAP IQ и SAP HANA Cloud IQ.
История
Разработка Sybase IQ началась в конце 1980-х годов в компании Expressway Technologies, основанной специалистами в области баз данных. Первоначальная версия, основанная на столбцовой архитектуре, была выпущена в 1993 году. В 1994 году Expressway Technologies была поглощена компанией Sybase за 8 миллионов долларов. Продукт получил название Sybase IQ, где «IQ» — аббревиатура от «Interactive Query» (англ. «интерактивный запрос»).
В 1996 году вышла версия Sybase IQ 12.0, которая стала первой промышленной реализацией столбцовой СУБД на рынке. Продукт быстро завоевал популярность в сегменте крупных корпоративных хранилищ данных благодаря способности обрабатывать запросы к многомиллиардным таблицам без создания традиционных индексов.
После покупки Sybase корпорацией SAP в 2010 году Sybase IQ был переименован в SAP IQ (SAP Sybase IQ). В 2019 году была представлена версия SAP IQ для облачной платформы SAP HANA Cloud, названная SAP HANA Cloud IQ. Несмотря на интеграцию с экосистемой SAP, продукт сохранил свою архитектуру и логику работы, отличную от колоночной СУБД SAP HANA.
Архитектура и устройство
Столбцовое хранение
Основное отличие Sybase IQ от традиционных реляционных СУБД (например, Oracle Database, Microsoft SQL Server) — способ хранения данных на диске. В классических СУБД данные хранятся построчно (rowstore): все поля одной записи располагаются рядом. В Sybase IQ данные хранятся по столбцам (columnstore): значения одного поля всех записей таблицы располагаются последовательно. Это обеспечивает несколько преимуществ:
- Высокая скорость аналитических запросов. Для выполнения запроса, агрегирующего данные по одному-двум столбцам, СУБД считывает только нужные столбцы, а не всю строку целиком.
- Эффективное сжатие. Значения одного столбца обычно имеют низкую энтропию (повторяются или имеют малый диапазон), что позволяет применять мощные алгоритмы сжатия без потерь.
- Минимизация операций ввода-вывода. При аналитических запросах объём считываемых с диска данных значительно меньше, чем в построчных СУБД.
Без индексная архитектура
В Sybase IQ отсутствуют традиционные B-деревья и битовые индексы, используемые в OLTP-СУБД. Вместо них для ускорения доступа к данным используются проекции (projections) — физические копии столбцов, отсортированные в определённом порядке. Проекции создаются администратором базы данных и оптимизируются под конкретные типы запросов. Каждый столбец может иметь несколько проекций.
Многопроцессорная обработка (SMP/MPP)
Sybase IQ работает на симметричных мультипроцессорных (SMP) системах и в кластерных конфигурациях. Версии для многопроцессорных систем (SMP) поддерживают параллельное выполнение одного запроса на нескольких ядрах/процессорах. Кластерные реализации (начиная с Sybase IQ 15.0) используют архитектуру с разделением данных (shared-nothing), где несколько физических серверов обрабатывают свои фрагменты данных. Координация между узлами осуществляется через механизм распределённых запросов.
Язык запросов
Sybase IQ поддерживает стандарт SQL-92 и основные расширения SQL:1999. В продакшн-среде иногда используется термин «IQ SQL» — подмножество Transact-SQL (диалект Sybase), дополненное специфическими командами для управления столбцовыми хранилищами, проекциями и загрузкой данных. В продукт также встроена поддержка хранимых процедур, триггеров и пользовательских функций.
Классификация и версии
В линейке Sybase IQ выделяются три основные редакции:
- Sybase IQ (Single Edition). Базовая версия для работы на одном сервере. Ограничена по числу процессоров (обычно до 8) и объёму оперативной памяти. Предназначена для небольших хранилищ данных и тестирования.
- Sybase IQ (Enterprise Edition). Полнофункциональная редакция для крупных корпоративных систем. Поддерживает кластеризацию (MPP), до 256 процессоров, параллельную загрузку данных и продвинутые механизмы сжатия.
- SAP HANA Cloud IQ. Облачный вариант, работающий на платформе SAP Business Technology Platform (SAP BTP). Предоставляется как сервис (DBaaS), с автоматическим масштабированием и резервированием.
Применение
Sybase IQ используется в следующих сценариях:
- Корпоративные хранилища данных. Является одним из стандартных решений для построения централизованных архивов исторических данных, объединяющих информацию из множества оперативных систем (ERP, CRM, собственные разработки).
- Витрины данных (Data Marts). Оптимизирован для создания вертикальных аналитических решений для конкретных бизнес-подразделений (финансы, продажи, логистика).
- Бизнес-аналитика и отчётность. Эффективно обслуживает инструменты BI, такие как SAP BusinessObjects, Tableau, Power BI, Qlik, формируя отчёты с агрегациями за считанные секунды даже на многомиллиардных наборах данных.
- Обработка данных для машинного обучения. Используется как источник для подготовки признаков (feature engineering) и хранения больших массивов размеченных данных.
- Финансовый сектор и телекоммуникации. Наибольшее распространение получил в банках для анализа кредитных рисков, в страховых компаниях для актуарных расчётов, в телеком-операторах для биллинга и анализа трафика.
Примеры использования
- Крупные российские банки и сотовые операторы длительное время применяли Sybase IQ для построения хранилищ данных кредитных историй и клиентской аналитики.
- Ряд государственных информационных систем (например, в сфере социального обеспечения и здравоохранения) на этапе становления использовали Sybase IQ для хранения и обработки больших массивов регистрационных данных.
Критика и ограничения
Несмотря на преимущества в скорости аналитики, Sybase IQ имеет ряд недостатков:
- Низкая производительность на транзакциях. Система плохо подходит для операций вставки, обновления и удаления отдельных записей. Любое изменение данных требует перестроения проекций, что может занимать значительное время. Рекомендуется загружать данные большими пакетами (батчами).
- Сложность администрирования. Для достижения оптимальной производительности требуется тщательное проектирование проекций и мониторинг фрагментации. Настройка Sybase IQ существенно сложнее, чем у традиционных построчных СУБД или современных облачных решений.
- Зависимость от вендора. После покупки Sybase компанией SAP продукт развивается в первую очередь в рамках экосистемы SAP. Начиная с 2015 года новые функциональные возможности в основном касаются интеграции с SAP HANA и Cloud-инфраструктурой, а не ядра СУБД.
- Стоимость. Лицензирование Sybase IQ исторически было дороже, чем у основных конкурентов (Oracle, Microsoft SQL Server). С появлением облачных версий стоимость может варьироваться.
Конкуренты
Основные конкуренты Sybase IQ на рынке аналитических СУБД:
- SAP HANA. Собственная колоночная СУБД SAP, ориентированная на in-memory-вычисления. В отличие от Sybase IQ, SAP HANA хранит данные в оперативной памяти, что обеспечивает ещё более высокую скорость, но требует больших затрат на RAM.
- Amazon Redshift. Облачный аналитический сервис на основе столбцовой СУБД от Amazon.
- Google BigQuery. Полностью управляемая бессерверная аналитическая база данных от Google.
- ClickHouse. Колоночная СУБД с открытым исходным кодом, получившая широкое распространение в России с середины 2010-х годов, особенно в сфере аналитики больших данных.
- Vertica. Столбцовая СУБД, изначально созданная бывшими инженерами HP, приобретена Micro Focus. По архитектуре близка к Sybase IQ.
Интересные факты
- Sybase IQ была одной из первых коммерчески успешных СУБД, полностью реализовавших столбцовое хранение. Её архитектурные принципы повлияли на разработку таких систем, как Vertica и SAP HANA.
- В период с 2010 по 2020 год большинство российских банков из топ-20 использовали Sybase IQ в качестве основного аналитического хранилища, что сделало Россию одним из крупнейших рынков для этого продукта.
- Проекции в Sybase IQ не являются статическими; они могут изменяться и дополняться без остановки системы, однако это требует перестройки данных на диске (операция _rebuild_).
Источники
- «Sybase IQ: The Data Warehouse for the Next Generation». — Sybase, 2009.
- «SAP IQ 16.0 — Database Administration Guide». — SAP SE, 2019.
- «Архитектура аналитических СУБД: сравнительный анализ Sybase IQ и традиционных систем». — Журнал «Открытые системы. СУБД», №3, 2011.
- «Колоночные хранилища данных: теория и практика». — Издательство «ДМК Пресс», 2015.
- Официальная документация SAP IQ на портале SAP Help Portal.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →