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

HeatWave User Guide  /  Loading Data  /  Change Propagation

4.2 Change Propagation

After tables are loaded into HeatWave, data changes are automatically propagated from InnoDB tables on the MySQL DB System to their counterpart tables in the HeatWave cluster.

DML operations (INSERT, UPDATE, DELETE) on the MySQL DB System do not wait for changes to be propagated to the HeatWave cluster; that is, DML operations on the MySQL DB System are not delayed in any manner by HeatWave change propagation.

Data changes on the MySQL DB System node are propagated to HeatWave in batch transactions. Change propagation is initiated as follows:

  • Every 200ms.

  • When the change propagation buffer reaches its 64MB capacity.

  • When data updated by DML operations on the MySQL DB System are read by a subsequent HeatWave query.

A change propagation failure can cause table data in HeatWave to become stale. Queries that access stale table data are not offloaded to HeatWave for processing. To check if change propagation is enabled globally, query the rapid_change_propagation_status variable:

mysql> SELECT VARIABLE_VALUE FROM performance_schema.global_status 
       WHERE VARIABLE_NAME = 'rapid_change_propagation_status';
| ON             |

To check if change propagation is enabled for individual tables, query the POOL_TYPE data in HeatWave Performance Schema tables. RAPID_LOAD_POOL_TRANSACTIONAL indicates that change propagation is enabled for the table. RAPID_LOAD_POOL_SNAPSHOT indicates that change propagation is disabled.

mysql> SELECT NAME, POOL_TYPE FROM rpd_tables,rpd_table_id 
       WHERE rpd_tables.ID = rpd_table_id.ID AND SCHEMA_NAME LIKE 'tpch';
| NAME          | POOL_TYPE                     |

If change propagation is disabled for a particular table, you must unload and reload the table. See Chapter 6, Unloading Tables, and Chapter 4, Loading Data.

Change propagation does not support cascading changes triggered by a foreign key constraint.

Change propagation is aborted if dictionary-encoded string column updates cause a dictionary overflow, which occurs if the number of new unique values exceeds dictionary capacity.