HeatWave MySQL now supports Automatic Storage Expansion. HeatWave Automatic Storage Expansion dynamically adjusts storage capacity to accommodate increasing database workloads, ensuring continuous operation without any downtime. 

In the past, for databases which were sized correctly with initial storage capacity,  you needed to manually allocate storage capacity based on application  storage needs. Insufficient provisioning could lead to application downtime, while over-provisioning could cause unused resources and increased costs. With HeatWave Automatic Storage Expansion, you only need to set a desired maximum storage limit, and the system automatically manages the scaling for you.

Benefits

  • A database that scales as needed helps minimize application downtime by reducing the risk of running out of storage. This eliminates the need for manual capacity planning, avoiding downtime or database maintenance.

  • For growing databases, automatic storage increases can result in significant cost savings. Instead of provisioning large amounts of storage upfront, capacity expands only as required, meaning you only pay for what you use.

How it works

When Automatic Storage Expansion is enabled, HeatWave’s internal monitoring checks the available database storage approximately every minute. It adds capacity in increments of 10GB to 50GB, depending on the database size, whenever needed. The initial storage determines the number of volume allocated which cannot change during the lifetime of the DB system. Even if you restore the backup to a new DB system with larger storage size. The number of volume determines the maximum performance of database. If the initial storage is set to the minimum of 50GB, then system will only allocate 1 volume and storage will be limited to Max IOPS and throughput of 1 volumne. So initial sizing of the database needs to be optimal even with auto storage expansion enabled.

Auto storage expansion eliminates the need to manually provision storage in advance for future growth, as the storage capacity scales alongside the database. The expanded storage size will become the current storage size to compute the threshold for the next storage expansion when the free storage space becomes low again. After the storage size has reached the specified maximum storage size, it will not expand the storage size further. 

Automatic Storage Expansion for a primary instance is also applied to its read replicas. The Automatic Storage Expansion cannot be individually configured for read replicas. Additionally, read replicas can trigger storage expansion across all nodes in a HeatWave DB System. For instance, read replicas may require additional temporary storage for relay logs and benefit from auto-expansion, which not only increases the read replica’s storage size but also expands storage for all nodes, including primaries, secondaries, and other read replicas.

Note: You cannot enable automatic storage expansion on an Always Free DB system.  

If automatic storage expansion is enabled, it will expand the storage size of a DB system when 

StorageUsed >= StorageAllocated – MIN(50, 8 + (StorageAllocated) ÷ 25) 

It will expand the storage size by increasing the StorageAllocated:   

StorageAllocated = StorageAllocated + MIN(50, 8 + (StorageAllocated) ÷ 25)

Example 

50 50 – 10 = 40 50+10=60
100 100 – 12 = 88 100 + 12 = 112
200 200 – 16 = 184 200 + 16 = 216
500 500 – 28 = 472 500 + 28 = 528
800 800 – 40 = 760 800 + 40 = 840
1000 1000 – 48 = 952 1000 + 48 = 1048
1050 1050 – 50 = 1000 1050 + 50 = 1100
1100 1100 – 50 = 1050 1100 + 50 = 1150

How to enable Automatic storage expansion

There are two ways to enable to Automatic Storage expansion in the UI Console:

DB System Creation Flow:

During the initial DB System setup, choose the option in the storage size section to enable ‘Automatic storage expansion’.

In the OCI console, navigate to Databases, HeatWave MySQL, and on the DB Systems page, click Create DB Systems. Navigate the sections of the provisioning flow and in the section

Storage size – Enable Automatic storage expansion. (Note this is always enabled for High availability systems).

Auto Storage expansion - Create DB option
Auto storage expansion in Create DB system option

Update Option:

If you already have an established Database System and then you can Update storage size in the console action of the DB system.

1) In the OCI Console, Click on the More actions menu and navigate to  Databases, HeatWave MySQL and select DB systems.

2) Do one of the following:

  • Click the name of the DB systems to open the DB system details, select the database you want to change the storage settings. Click More actions at the top of the page and click Update storage size.
Auto Storage expansion with Update option
Auto Storage option in update option

 

Alternatively, In the same DB System information screen as above, scroll down to DB system configuration section
click Edit present adjacent to Automatic storage expansion.

Enable edit option
Auto storage expansion with Enable edit option

3) The Update storage size dialog box shows up. Click the Automatic storage expansion toggle switch to enable or disable automatic storage expansion. 

4) When automatic storage expansion is enabled, the Maximum data storage size field should contain a value as per the original Max storage allocated. Enter the maximum storage size that you want to allow the storage size to expand to (Between 200 GB to 32768 GB).

**Note
You will be billed for the new allocated storage size whenever the storage has been expanded.

(Optional) You can also increase the current allocated storage size of the DB system. In the Update storage size dialog box, enter the new data storage size in GB. You can only increase the storage size.

5. Click Update.

How to monitor storage space of a HeatWave DB system 

Once the Auto Storage Expansion is enabled, A user can monitor the storage usage metrics by navigating to Observability and Management page of the OCI console.

You can use the following metrics to monitor the storage space of a DB system:

  • StorageAllocated: The maximum amount of space allocated to the DB system during the interval in GB.
  • StorageUsed: The maximum amount of space used during the interval in GB.

Click on Home, Observability & Management and Monitoring. Navigate to Metrics Explorer which allows you to actively monitor the allocated storage. You can also create alarms to setup thresholds for the related metrics. 

Summary 

HeatWave MySQL continuously tracks storage usage and automatically increases capacity as utilization nears the provisioned limit. It functions with both new and existing database instances and can be activated with just a few clicks in the OCI Console. There is no extra charge for using this feature, you only pay for the storage you actually use!

For better capacity planning and forecasting the storage growth, consider using the HeatWave Service guide and  Ops Insights service.

For more information related to monitoring and creating Alarms, please follow this link.

For detailed documentation on this topic, please refer to this Oracle document.