Открыть сервис

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.

Процесс загрузки данных

  1. Транзакционная запись: Данные записываются в таблицы InnoDB обычным образом.
  2. Автоматическая синхронизация: Специальный процесс (HeatWave Loader) автоматически копирует данные из InnoDB в колоночный формат в оперативной памяти HeatWave. Синхронизация происходит в реальном времени или с минимальной задержкой (менее 1 секунды).
  3. Аналитический запрос: При получении аналитического запроса 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 →