# Aurora

**Introduction**

* A MySQL and PostgreSQL compatible relational database on AWS
* 5x faster than standard MySQL databases and 3x faster than standard PostgreSQL databases.&#x20;
* Provides the security, availability, and reliability of commercial-grade databases at 1/10 of the cost.

**Feature**

* Provision Type:
  * Self-Provisioned
    * Starts with 10 GB, scales in 10 GB increments to 64TB automatically
    * Can scale up to 32 CPUs and 244GB of memory
  * Serverless
    * Automated database instantiation and auto-scaling based on actual usage.
* 2 copies of data in each AZ with minimum of 3 AZs (can choose AZ, and have 6 copies at least)
  * 4 copies out of 6 needed for writes
  * 3 copies out of 6 neede for reads
* Read / Write
  * With a write endpoint to write into Master
  * With a read endpoint to read from all Read Replicas (Scalability):
    * Aurora Replica
      * up to 15 Read Replicas
    * MySQL Replica
      * up to 5 Read Replicas
* Cross Region Read Replicas (RR): entire DB is copied (not select tables)
* Import / export data directly from / to S3: efficient use of resources
* Backtracking for rewinding the database status (useful for doing Tests)
  * Point-in-time restoration from snapshots creates a new database. (needs more time)
* Global Aurora (cross region)
  * Aurora Cross Region Read Replicas
    * Useful for DR
    * Simple to put in place
  * Aurora Global Database (recommended)
    * One Primary Region (read / write)
    * Up to 5 secondary (read only) regions, replication lag is lesser than 1 second
    * Up to 16 Read Replicas per secondary region
    * Helpful for decreasing latency
    * Promoting another region (for DR) has an RTO within  1 minute
* [Aurora Multi-Master](https://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html)
  * In case you need immediate failover for write node (HA)
  * Every Aurora node can do read / write (need to promote a RR regularly)
  * Limits:
    * The maximum number of nodes: 2.
    * **Can only be in one region**.
    * May increase latency and deal with conflict with an algorithm.
    * Not support integration with other AWS services.
    * Etc.
* Loss Handling
  * Loss of up to 2 copies of data without affecting write availability
  * Loss of up to 3 copies of data without affecting read availability
  * Self-healing (scanning errors and repairing automatically)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ysfang82.gitbook.io/development-notes/aws-notes/service/storage/aurora.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
