Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between RDS Database Cluster Parameter Group and Database Parameter Group?

As per my understanding, If a cluster is having more than one instance (for example 1 writer and 10 reader), in this case if we want to make any change which should reflect in all 11 instances, we can use database cluster parameter group.

If we want any specific parameter(s) to set only for a specific instance, we can use database parameter group.

Is it correct or there is a specific / particular reason behind those two groups to use?

like image 725
Spike Avatar asked Jan 25 '23 14:01

Spike


1 Answers

The settings in the two types of parameter groups are mutually exclusive. Looking at the AWS docs, there are a couple of paragraphs which might help explain things.

A DB parameter group acts as a container for engine configuration values that are applied to one or more DB instances. DB parameter groups apply to DB instances in both Amazon RDS and Aurora. These configuration settings apply to properties that can vary among the DB instances within an Aurora cluster, such as the sizes for memory buffers.

A DB cluster parameter group acts as a container for engine configuration values that are applied to every DB instance in an Aurora DB cluster. For example, the Aurora shared storage model requires that every DB instance in an Aurora cluster use the same setting for parameters such as innodb_file_per_table. Thus, parameters that affect the physical storage layout are part of the cluster parameter group. The DB cluster parameter group also includes default values for all the instance-level parameters

It is possible to have different instance classes for different instances within the cluster, eg. you could have a db.m5.4xlarge for the master instance, and a number of db.m5.large instances as the read-replicas.

You could then specify one db parameter group for the master, and another for the replicas which has a different configuration due to the instance size being different.

Settings that have to remain common across all instances such as innodb_file_per_table are configured within the db cluster parameter group, as they have to be identical for all hosts.

like image 111
Dave Rix Avatar answered Apr 28 '23 16:04

Dave Rix