MySQL HeatWave
MySQL HeatWave — это интегрированная система управления базами данных (СУБД) и аналитический движок, разработанный корпорацией Oracle. Он представляет собой расширение стандартной СУБД MySQL, которое добавляет возможность выполнения запросов аналитической обработки (OLAP) непосредственно в оперативной памяти (in-memory) на том же узле кластера, где хранятся транзакционные данные (OLTP). Система HeatWave была впервые представлена в 2020 году как облачный сервис в Oracle Cloud Infrastructure (OCI), а впоследствии стала доступна и в других облачных средах, а также в локальных инсталляциях.
История
Разработка HeatWave началась после приобретения Oracle в 2018 году стартапа DataFox, который специализировался на аналитике данных. Однако ключевой технологической основой стал собственный движок Oracle, оптимизированный для работы с колоночными данными в оперативной памяти. В декабре 2020 года Oracle объявила о запуске MySQL HeatWave как полностью управляемого облачного сервиса. Основной целью было устранение традиционного разрыва между транзакционными (OLTP) и аналитическими (OLAP) системами, позволяя выполнять оба типа нагрузок без необходимости перемещать данные между отдельными базами данных.
В 2021 году HeatWave был интегрирован с сервисом Oracle Autonomous Database, а в 2022 году — с сервисом MySQL Database Service (MDS). В 2023 году Oracle представила MySQL HeatWave Lakehouse, расширяющий возможности аналитики на данные, хранящиеся в объектных хранилищах, таких как Amazon S3 и Oracle Object Storage. В 2024 году вышла версия HeatWave для локального развертывания (on-premises) в составе MySQL Enterprise Edition.
Архитектура и принцип работы
Двухрежимная архитектура
MySQL HeatWave использует двухрежимную архитектуру: один и тот же сервер MySQL одновременно обрабатывает транзакционные запросы (INSERT, UPDATE, DELETE) и аналитические запросы (SELECT с агрегацией, JOIN, GROUP BY). Транзакционные данные хранятся в стандартных таблицах InnoDB, а аналитические — в колоночном формате в оперативной памяти HeatWave.
Процесс загрузки данных
- Транзакционная запись: Данные записываются в таблицы InnoDB обычным образом.
- Автоматическая синхронизация: Специальный процесс (HeatWave Loader) автоматически копирует данные из InnoDB в колоночный формат в оперативной памяти HeatWave. Синхронизация происходит в реальном времени или с минимальной задержкой (менее 1 секунды).
- Аналитический запрос: При получении аналитического запроса MySQL оптимизатор автоматически перенаправляет его на выполнение в движок HeatWave, если это выгодно. Если запрос не может быть обработан HeatWave (например, из-за отсутствия данных в памяти), он выполняется стандартным способом на InnoDB.
Колоночное хранение
В отличие от традиционного строчного хранения (InnoDB), HeatWave хранит данные по столбцам. Это позволяет:
- Сжимать данные (коэффициент сжатия 2–5 раз по сравнению с InnoDB).
- Быстро сканировать только нужные столбцы, игнорируя остальные.
- Использовать векторные инструкции процессора (SIMD) для массовых вычислений.
In-Memory вычисления
Все аналитические вычисления выполняются в оперативной памяти кластера HeatWave. Это исключает операции ввода-вывода на диск, которые являются узким местом в традиционных СУБД. HeatWave использует собственный распределённый движок, который разбивает запрос на подзапросы, выполняемые параллельно на всех узлах кластера.
Ключевые характеристики
Производительность
- Скорость запросов: HeatWave демонстрирует производительность, в 10–100 раз превышающую стандартный MySQL на аналитических запросах, по данным тестов Oracle.
- Параллелизм: Запросы автоматически распараллеливаются на все доступные узлы кластера.
- Низкая задержка: Время выполнения сложных запросов (например, JOIN нескольких таблиц с миллиардами строк) составляет доли секунды.
Масштабируемость
- Горизонтальное масштабирование: Кластер HeatWave может содержать до 64 узлов (в облачной версии OCI), каждый из которых добавляет оперативную память и вычислительные мощности.
- Объём данных: Поддерживает базы данных объёмом до 100 ТБ (в сжатом виде) на один кластер.
Интеграция
- MySQL Database Service: Полностью управляемый сервис в OCI.
- MySQL Enterprise Edition: Локальная версия для развёртывания на собственных серверах.
- MySQL HeatWave Lakehouse: Возможность анализировать данные из файлов Parquet, CSV, JSON, хранящихся в облачных объектных хранилищах (Amazon S3, Oracle Object Storage, Azure Blob Storage).
- Автоматизация: HeatWave автоматически определяет, какие таблицы и столбцы загружать в память, и оптимизирует их расположение.
Применение
Сценарии использования
- Оперативная аналитика: Получение отчётов и дашбордов в реальном времени на основе транзакционных данных (например, анализ продаж, мониторинг логов).
- Гибридные нагрузки: Одновременная работа с транзакциями и аналитикой на одной базе данных без необходимости строить отдельные хранилища данных (ETL).
- Анализ данных в облаке: Обработка больших объёмов данных, хранящихся в объектных хранилищах, без их предварительной загрузки в базу данных.
- Машинное обучение: HeatWave включает в себя встроенные функции машинного обучения (ML), позволяющие строить модели регрессии, классификации и прогнозирования непосредственно в базе данных.
Примеры отраслей
- Ритейл: Анализ покупательской корзины, прогнозирование спроса.
- Финансы: Обнаружение мошенничества в реальном времени, отчётность по рискам.
- Телеком: Анализ трафика, мониторинг сети.
- Производство: Оптимизация цепочек поставок, контроль качества.
Преимущества и недостатки
Преимущества
- Упрощение архитектуры: Отказ от необходимости поддерживать отдельные системы для OLTP и OLAP (например, MySQL + Hadoop/Spark).
- Снижение задержки: Данные анализируются в реальном времени без задержек на ETL-процессы.
- Высокая производительность: Значительное ускорение аналитических запросов по сравнению с традиционным MySQL.
- Экономия ресурсов: Сжатие данных и отсутствие необходимости в отдельных серверах для аналитики.
- Интеграция с MySQL: Полная совместимость с существующими приложениями и инструментами, работающими с MySQL.
Недостатки
- Привязка к облаку Oracle: Изначально HeatWave был доступен только в OCI, что ограничивало выбор провайдера. Сейчас есть версия для локального развёртывания, но она требует лицензирования MySQL Enterprise Edition.
- Стоимость: Облачный сервис HeatWave может быть дороже стандартного MySQL, особенно при больших объёмах данных.
- Ограничения по типам данных: HeatWave не поддерживает все типы данных MySQL (например, пространственные типы, JSON в некоторых конфигурациях).
- Зависимость от оперативной памяти: Производительность напрямую зависит от объёма доступной оперативной памяти на узлах кластера.
Конкуренты
MySQL HeatWave конкурирует с другими решениями, обеспечивающими гибридную обработку транзакционных и аналитических нагрузок (HTAP):
- Amazon Aurora (с поддержкой Parallel Query): Облачная СУБД от Amazon, также поддерживающая аналитику на транзакционных данных.
- Google Cloud Spanner: Глобально распределённая база данных с поддержкой HTAP.
- SAP HANA: In-memory СУБД, изначально ориентированная на аналитику, но также поддерживающая транзакции.
- ClickHouse: Колоночная СУБД с открытым исходным кодом, ориентированная на аналитику, но не поддерживающая транзакции в реальном времени.
- SingleStore (ранее MemSQL): СУБД, поддерживающая HTAP с in-memory обработкой.
Интересные факты
- HeatWave является частью стратегии Oracle по продвижению MySQL как платформы для «единой базы данных» (single database), способной заменить несколько специализированных систем.
- В 2023 году Oracle объявила, что HeatWave обрабатывает более 10 миллиардов запросов в день в облаке OCI.
- HeatWave Lakehouse позволяет анализировать данные в формате Apache Parquet, который широко используется в экосистеме Hadoop и Spark.
- Встроенные функции машинного обучения HeatWave позволяют обучать модели на данных, не перемещая их в отдельные библиотеки (например, TensorFlow или scikit-learn).
Источники
- Oracle Corporation. «MySQL HeatWave: Architecture and Performance». Oracle White Paper, 2023.
- Oracle Corporation. «MySQL HeatWave Lakehouse: A Unified Data Platform». Oracle Technical Report, 2024.
- Oracle Corporation. «MySQL HeatWave for Enterprise: On-Premises Deployment Guide». Oracle Documentation, 2024.
- Oracle Corporation. «MySQL HeatWave: Performance Benchmarks and Comparisons». Oracle Blog, 2022.
- Oracle Corporation. «MySQL HeatWave: In-Memory Columnar Storage and Query Processing». Oracle Technical Brief, 2021.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →