Scaling a relational database isn’t easy. Scaling a relational database out to multiple replicas and regions over a network while maintaining strong consistency, without sacrificing performance, is really hard.
How hard? The CAP Theorem says that you can only have two of the following three properties: consistency, 100 percent availability, and tolerance to network partitions.
A network partition is a break that blocks all possible paths between some two points on the network. Partitions do happen, even if you own and control your entire WAN, so either consistency or availability has to give.
What does this have to do with performance? If you demand “external consistency,” meaning strong consistency across replicas and regions in a distributed database, then transactions have to commit everywhere. There will be significant transmission lag between regions, at best 20 milliseconds per 1,000 miles (based on the speed of light in glass). That means cross-region commits will incur delays that impact the performance of the database, because commits require locks on certain parts of the database.