There are two types of scaling: vertical scaling and horizontal scaling.
Vertical scaling means that you scale by adding more power (CPU, RAM) to an existing machine.
Horizontal scaling means that you scale by adding more machines into your pool of resources.
将数据拆分成不同的部分，保存在不同的机器上 （SQL 需要自己做Sharding，而NoSQL一切基本是自动的。）
Vertical partitioning involves creating tables with fewer columns and using additional tables to store the remaining columns.
Horizontal partitioning involves putting different rows into different tables.