MySQL HeatWave User Guide
MySQL HeatWave provides the following methods to load data to MySQL HeatWave:
Automatic loading: loads tables and partitions based on usage.
Loading data using Auto Parallel Load: loads one or more schemas at a time and facilitates loading by automating manual steps and optimizing the number of parallel load threads for a faster load.
Loading data manually: loads one table at a time and involves executing multiple statements for each table.
Load data using the MySQL HeatWave Console: applicable to MySQL HeatWave on AWS users. This GUI-based and MySQL HeatWave Autopilot enabled method loads selected schemas and tables using an optimized number of parallel load threads for a faster load.
MySQL HeatWave loads data with batched, multi-threaded reads from DB System tables. MySQL HeatWave then converts the data into columnar format and sends it over the network to distribute it among MySQL HeatWave nodes in horizontal slices. MySQL HeatWave partitions data by the table primary key, unless the table definition includes data placement keys.
Concurrent DML operations and queries on the MySQL node are supported while a data load operation is in progress; however, concurrent operations on the MySQL node can affect load performance and vice versa.
After loading tables, change propagation automatically updates MySQL HeatWave with any data changes made on the DB System node.
For each table that is loaded in MySQL HeatWave, the default heap segment size is 64KB per table, and this is allocated from the root heap. The root heap available to MySQL HeatWave is approximately 400GB.
MySQL HeatWave compresses data as it is loaded, which permits MySQL HeatWave nodes to store more data at a minor cost to performance. If you do not want to compress data as it is loaded in MySQL HeatWave, you must disable compression before loading data.
The loading of data into MySQL HeatWave can be classified into three types: Initial Bulk Load, Incremental Bulk Load, and Change Propagation.
Initial Bulk Load: Performed when loading data into MySQL HeatWave for the first time, or when reloading data. The best time to perform an initial bulk load is during off-peak hours, as bulk load operations can affect OLTP performance on the DB System.
Incremental Bulk Load: Performed when there is a substantial amount of data to load into tables that are already loaded in MySQL HeatWave. An incremental bulk load involves these steps:
Performing a SECONDARY_UNLOAD
operation
to unload a table
from MySQL HeatWave.
Importing data into the table on the DB System node.
Performing a SECONDARY_LOAD
operation
to reload the table
into MySQL HeatWave.
Depending on the amount of data, an incremental bulk load may be a faster method of loading new data than waiting for change propagation to occur. It also provides greater control over when new data is loaded. As with initial build loads, the best time to perform an incremental bulk load is during off-peak hours, as bulk load operations can affect OLTP performance on the DB System.
Change
Propagation: After tables are loaded into MySQL HeatWave, data
changes are automatically propagated from
InnoDB
tables on the DB System to their
counterpart tables in MySQL HeatWave.
The topics in this section describe how to load structured data in MySQL HeatWave.