Skip to content

Is AWS Aurora Global Database ACID compliant?

0

I am investigating setting up a global database cluster for an application that will be globally spread, across multiple regions (US, EU, AU). One piece of information I couldn't find is if Aurora Global Database is ACID compliant. I know the regional instances are.

Also, as you'd need to be writing on a single node, write forwarding would likely need to be enabled or some application logic programmed to select the writer node. Wouldn't this also add a large volume of latency (e.g. when writer instance is in us-east-1, and client is based in ap-southeast-2)?

asked 4 years ago2.4K views
4 Answers
0

Modern Database Infrastructure are build with ACID compliant . Aurora Global Database will be ACID compliant .. There could be some latency in milli Second because of network . But it has to be tested and analyzed before finalizing the solution

AWS
answered 4 years ago
0

As far as ACID properties are concerned , they are related to the DB Engines i.e. MySQL and PostgreSQL. Both of these are ACID compliant.

For the performance concerns, Aurora Global Database lets you easily scale database reads across the world and place your applications close to your users. Your applications enjoy quick data access regardless of the number and location of secondary regions, with typical cross-region replication latencies below 1 second.

There are some limitations for the global DBs as called out here

AWS
answered 4 years ago
0

If you need local write instead of cross-region access to Writer instance on primary region, and consider write forwarding, please check write forwarding document https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-write-forwarding.html, there are some limitation and consistency model. Before using write forwarding, I highly recommend to test application behaviour and compatibility/performance carefully.

AWS
answered 4 years ago
0

Yes, Amazon Aurora Global Database is ACID compliant - at least at the individual regional level.

Aurora (both MySQL- and PostgreSQL-compatible editions) is designed to maintain ACID (Atomicity, Consistency, Isolation, Durability) properties for transactions:

  • Atomicity: Transactions are all-or-nothing.
  • Consistency: Database rules are always followed.
  • Isolation: Aurora supports multiple isolation levels like REPEATABLE READ (MySQL) and SERIALIZABLE (PostgreSQL).
  • Durability: Writes are persisted across multiple copies in 3 Availability Zones (AZs) per region.

In short, for regional Aurora clusters, you get strong ACID guarantees like any high-end relational database.

However, when you stretch this to a Global Database configuration (multi-region), the story changes.

So in CAP terms, Aurora Global Database leans towards an "AP" system with eventual consistency across regions. How?

  • Writes only happen in the primary region.
  • Secondary (read-only) regions replicate data asynchronously, with sub-second lag in ideal cases, but no guarantee of real-time sync.
  • If you promote a secondary region to become primary (e.g. in failover), it becomes the new writable region, but there's a short time when data may not be 100% consistent between the two.

So, cross-region writes are not supported concurrently, avoiding the complexity of full distributed consensus (like Paxos/Raft).

answered 10 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.