EBS seems to implement chain replication with just 2 copies. How does it recover if one of those servers died? EBS volumes aren’t meant to be shared. While obvious once stated, I imagine this leads to some interesting design trade offs for EBS. Problems with EBS if used for a DB: Too much network IO. Both replicas are stored in same AZ, so no AZ failure resiliency. How to use a relational DB in cloud? One way is to just install it on EC2 with EBS. However, since EBS is a zonal service, the arrangement isn’t resilient to AZ failures. You could do RDS style: replicate the DB in 2 (or more?) AZs and the service manages the replication on customer behalf. However, MySQL writes pages of btree which are large (think 8 KB) and, therefore, slow. (It also writes entries to its write ahead log but those are small and unavoidable.) Quorums:
...