Every business has the goal of being successful. The consequence of having a successful business when there's a database involved is increasingly high volume. This volume can be composed of query activity, data accumulation, or both. A PostgreSQL database that is not prepared for vast amounts of data or transaction load will slowly falter until the platform suffers.
Customers notice bad performance just as readily as outages. If our database is struggling to service queries, we have three options:
- Spend time optimizing the platform to reduce database interaction
- Buy a more capable database server
- Store data on several PostgreSQL servers
Indeed, we should probably always implement the first option in any case. Yet there is a limit to what can be optimized. If the platform is using object-relational mapping (ORM), then making query changes can be difficult...