-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Python Architecture Patterns
By :

As we've discussed before, relational databases weren't designed with scalability in mind. They are great for enforcing strong data assurances, including ACID transactions, but their preferred way of operating is through a single server.
This can impose limitations in terms of how big an application can be using relational databases.
It is worth noting that a database server can grow vertically, which means using better hardware. Increasing the capacity of a server or replacing it with a bigger one is an easier solution for high demand than applying some of these techniques, but there's a limit. In any case, please double-check that the expected size is big enough. These days, there are servers in cloud providers that reach 1 terabyte of RAM or more. That's enough to cover a huge number of cases.
Note that these techniques are useful to grow a system after it is up and running, and can be added to most usages...