Configuring AutoDBA
Sometimes DBAs need input from software developers or the business to make good configuration decisions, and AutoDBA is no different. You decide the geographic location where you want the data stored and whether you want to prioritize performance or high availability above minimal cost. You also have the option to set the locale of the default database and certain other defaults.
The table below describes the database service configuration parameters available in CrystalDB.
CrystalDB Database Service Configuration Settings
Setting | Description | Possible Values | Default Value |
---|---|---|---|
Database location | Specifies the cloud provider and region where the database service runs | [AWS, US-EAST-1], [AWS, US-WEST-2] | N/A |
Performance priority | Ensure optimal performance, even when this increases cost | True, False | False |
Availability priority | Ensure fast recovery, even when this increases cost | True, False | True |
Performance priority allocates extra resources to lower application latency, up to the point of diminishing returns. This is often unnecessary because performance and cost objectives are often aligned—when the system runs more efficiently, performance goes up and cost goes down. Due to the prevalence of these win-win scenarios, AutoDBA pursues cost optimization by default, but you can turn on performance priority in applications where cost considerations are secondary. At a high level, you can think of performance priority as adding extra memory to avoid the need for storage access.
Availability priority lowers the time to recover from failures by maintaining redundant copies of the working set and keeping them updated. The effect is similar to running replicas in a traditional PostgreSQL database, but this replication occurs in the storage layer in CrystalDB rather than at the application layer. When CrystalDB reaches production, you should expect 99.99% availability when availability priority is turned on and 99.9% availability when it is turned off.