MySQL HeatWave - In-Memory Query Accelerator
MySQL Database Service delivers a database with all the essential features to help you rapidly pioneer innovative applications, MySQL Database Service is easy to use, secure, and enterprise ready, it combines the benefits of a widely adopted open source database solution with a strong ecosystem, millions of users and the backing of Oracle.
MySQL HeatWave increases MySQL DB System performance and eliminates the need for a separate database and tools for OLTP, Analytics and Machine Learning features.
MySQL HeatWave combines transaction processing, real-time analytics and machine learning withing a single MySQL database. It stores data in main memory in a hybrid columnar format, its processing engine is enhanced with aggressive compression of the in-memory data, which helps to reduce the memory footprint, also, it uses a HeatWave cluster for massively parallel and high-performance analytics workloads.
MySQL HeatWave architecture
HeatWave plugin
The HeatWave plugin is responsible for cluster management, query scheduling, and returning query results to the MySQL DB System.HeatWave Cluster
HeatWave Storage Layer
HeatWave Features
In-Memory Hybrid-Columnar Format
Massively Parallel Architecture
Scale-Out Data Management
Native MySQL Integration
Provisioning MySQL HeatWave
Click Create.
Creating a HeatWave Cluster
Managing the HeatWave cluster
From the MySQL DB System you can edit, start, stop, or restart a HeatWave cluster.- When you stop a HeatWave cluster through a stop or restart action, the data loaded in HeatWave cluster memory is lost. When you start or restart a HeatWave cluster, HeatWave automatically reloads the data that was previously loaded using the HeatWave recovery mechanism. Remember, it will use a Cloud Object Storage for this operation (OCI, AWS, Azure).
- With the Edit HeatWave Cluster panel, you can change the number of nodes in the HeatWave cluster, the shape you selected and the size of your data.
- You can resize (increase or decrease) the nodes of a HeatWave cluster in real-time with no downtime or service disruption.
- You can permanently detele a HeatWave cluster. Deleting the HeatWave cluster has no effect on the DB system to which the HeatWave cluster is attached. However, deleting the DB system deletes the attached HeatWave cluster.
Preparing tables and loading data into a HeatWave Cluster
- The tables you intend to load must be InnoDB tables. Convert tables to InnoDB using:
mysql> ALTER TABLE tbl_name ENGINE=InnoDB;
- The tables you intend to load must be defined with a primary key. Add a primary key using:
mysql> ALTER TABLE tbl_name ADD PRIMARY KEY (column);
- Identify all the tables that your queries access to ensure that you load all of them into HeatWave.
- Column width cannot exceed 65532 bytes.
- The number of columns per table cannot exceed 900.
mysql> ALTER TABLE tbl_name SECONDARY_ENGINE = RAPID;
2. Loading tables:
mysql> ALTER TABLE tbl_name SECONDARY_LOAD;
You can check the progress of loading data to HeatWave
using:
mysql> SELECT VARIABLE_VALUE
FROM
performance_schema.global_status
WHERE VARIABLE_NAME = 'rapid_load_progress';
You can view runtime data for all queries in the HeatWave cluster history using:
mysql> CALL sys.heatwave_advisor(JSON_OBJECT("query_insights", TRUE));
Summary
When a HeatWave cluster is enabled, queries issued from a MySQL client or application interacts with the HeatWave Cluster by connecting to the MySQL DB System. Results are returned to the MySQL DB System and to the MySQL client or application that issued the query.For information about creating and managing HeatWave
Clusters on Oracle Cloud Infrastructure (OCI), see the MySQL
Database Service documentation.
For information about creating and managing HeatWave
Clusters on Amazon Web Services (AWS), see the MySQL HeatWave on AWS Service
Guide.
For
information about creating and managing HeatWave Clusters on Oracle Database
Service for Azure (ODSA), see the Oracle Database Service for Azure documentation.
Comments
Post a Comment