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.