Related Documentation Download this Manual
PDF (US Ltr) - 0.6Mb
PDF (A4) - 0.6Mb

HeatWave User Guide  /  Introduction  /  Architecture

1.1 Architecture

This section provides an overview of HeatWave architectural features.

In-Memory Hybrid-Columnar Format

HeatWave stores data in main memory in a hybrid columnar format. HeatWave's hybrid approach achieves the benefits of columnar format for query processing, while avoiding the materialization and update costs associated with pure columnar format. Hybrid columnar format enables the use of efficient query processing algorithms designed to operate on fixed-width data, and permits vectorized query processing.

Massively Parallel Architecture

HeatWave's massively parallel architecture is enabled by internode and intranode partitioning of data. Each node within a HeatWave cluster, and each CPU core within a node, processes the partitioned data in parallel. HeatWave is capable of scaling to thousands of cores. This massively parallel architecture, combined with high-fanout, workload-aware partitioning, accelerates query processing.

Figure 1.2 HeatWave Massively Parallel Architecture

Content is described in the surrounding text.

Push-Based Vectorized Query Processing

HeatWave processes queries by pushing vector blocks (slices of columnar data) through the query execution plan from one operator to another. A push-based execution model avoids deep call stacks and saves valuable resources compared to tuple-based processing models.

Scale-Out Data Management

When data is loaded into HeatWave, the HeatWave Storage Layer automatically persists the data to OCI Object Storage for fast recovery in case of a HeatWave node or cluster failure. Data is automatically restored by the HeatWave Storage Layer when HeatWave recovers a failed node or cluster. This automated, self-managing storage layer scales to the size required for your HeatWave cluster and operates independently in the background. The time required to reload data is constant regardless of data size or HeatWave cluster size.

Native MySQL Integration

Native integration with MySQL Database Service provides a single data management platform for OLTP and analytics. HeatWave is designed as a pluggable MySQL storage engine, which enables management of both the MySQL Database Service and HeatWave using the same interfaces, including the OCI console, REST API, and the command line.

Changes to the data on the MySQL DB System are automatically propagated to HeatWave nodes in real time, which means that queries always have access to the latest data. Change propagation is performed automatically by a light-weight algorithm.

Users and applications interact with HeatWave through the MySQL DB System node that is part of the HeatWave cluster. Users connect through standard tools and standard-based ODBC/JDBC connectors. HeatWave supports the same ANSI SQL standard and ACID properties as MySQL and the most commonly used data types. This support enables existing applications to use HeatWave without modification, allowing for quick and easy integration.

Once a query is submitted to the MySQL database, the MySQL query optimizer transparently decides if the query should be offloaded to HeatWave for accelerated execution, based on whether query offload prerequisites are met. Offloaded queries are pushed to HeatWave nodes for processing. Query results are sent back to the MySQL database node and to the issuing client or application.