Database Scaling
Guidelines
Keep it simple on the database side!
Focus on your application.
Try all the common vertical scale-up approaches and tricks before considering scaling horizontally.
Try to avoid using derivative products, distributed approaches, or home-brewed sharding.
All distributed solutions for relational databases are inherently complex, and difficult to get right.
A properly configured single RDBMS instance can easily do hundreds of thousands of transactions per second.
A single node can typically do tens of thousands of write transactions per second.
A single RDBMS instance can easily handle dozens of Terabytes of data.
A single RDBMS instance is bullet-proof as far as data consistency is concerned.
Failures in a single RDBMS instance are generally more easily comprehensible – thus also recoverable.
Try to avoid the serious mistake of having your data “architecture” centered around a single huge table.