This blog will unveil the technology under the hood of AWS Aurora based on the official materials showed by AWS.
AWS Aurora: Cloud Relational Database for high throughput data processing.
We try to dive deep under the hood of Aurora and enjoy the design of distributed database by Amazon. We summarized key info form Aurora White-paper and two important papers.
- Separate Compute and Storage like Redshift. In Aurora cluster, there is a Primary Instance which performs all the data modifications to the Cluster Volume. Cluster Volume is SSD virtual database storage volume that spans multi AZ. Each AZ has tow copies of the cluster data. If primary instance fails, the replica will become new primary instance.
2. How to achieve hight performance in database engine level. Use log-structured storage and write only redo log records to storage eliminating unnecessary chatter between compute and storage nodes.
3. Fault-Tolerant A:
- Each AZ contains tow copies of cluster volume data.
- DB volume divides into 10 GB segment.
- Each segment is replicated six ways across three AZ.
4. Fault-Tolerant B: Using Quorum Based voting protocol.
So this blog shows you under the hood of AWS Aurora design and implementation. It is very interesting and a very good example of a design of distributed system.
This blog is a part of serial of Under the hood.