DEV Community

Chat Rathnayake
Chat Rathnayake

Posted on

Amazon Aurora DB Architecture at a glance.

Amazon Aurora is Amazon Web Services' (AWS) relational database service tailored for Online Transaction Processing (OLTP) workloads. Its architecture addresses the shift in performance bottlenecks from compute and storage to network constraints in high-throughput data processing. By offloading redo log processing to a multi-tenant, scale-out storage service, Aurora reduces network traffic and enhances performance.

Aurora Architecture Bird Eye View

Decoupling Compute and Storage

In traditional database systems, compute and storage are tightly integrated, leading to potential bottlenecks. Aurora decouples these components, allowing for independent scaling and improved resilience. This separation enables efficient handling of tasks such as replacing faulty hosts, adding replicas, and scaling database instances.

Optimized Redo Log Processing

Aurora's architecture focuses on efficient redo log processing. By pushing redo processing to a distributed storage service, it minimizes network I/O operations. This approach not only reduces traffic but also allows for rapid crash recovery and seamless failovers without data loss.

Move logging and storage off the database engine

Quorum-Based Storage for Durability

To ensure data durability, Aurora employs a quorum-based storage system. Data is replicated across multiple nodes, and consensus is achieved through an efficient asynchronous protocol. This design ensures resilience against failures and maintains data integrity.

Eliminating Multi-Phase Synchronization

Traditional databases often rely on multi-phase synchronization protocols like two-phase commit, which can introduce latency and complexity. Aurora eliminates the need for such protocols by leveraging its distributed storage architecture, resulting in faster transaction commits and reduced system complexity.

Lessons from Production Deployment

Operating Aurora as a production service has provided valuable insights into modern cloud application requirements. Key takeaways include the importance of efficient metadata management for databases with numerous tables, the need to support high numbers of concurrent connections, and the necessity of facilitating frequent schema migrations with minimal downtime.
amazon.science

In summary, Amazon Aurora's design addresses the challenges of high-throughput, cloud-native relational databases by decoupling compute and storage, optimizing redo log processing, ensuring data durability through quorum-based storage, and eliminating the need for complex synchronization protocols.

Further Reading

Vogels, W., et al. (2022). Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases. Amazon Science.

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

Postgres on Neon - Get the Free Plan

No credit card required. The database you love, on a serverless platform designed to help you build faster.

Get Postgres on Neon