1. How to understand the definition
In Chinese, partitioning and sharding all have the meaning of partitioning. On the big side, the actions performed by these two words are really related to partitioning. Partitioning on many occasions is vertical partitioning abbreviation, then naturally, sharding is horizon partitioning. But at this time, two nouns, vertical and horizon, were introduced. What do you do with vertic and horizon? Where is the difference?
2. Starting from a specific point
To understand vertical partitioning and horizon partitioning, you should be aware of the point at which you stand to differentiate these two actions. Obviously, we've been talking about data, so of course we're standing in the data line angle.
Vertical partitioning refers to breaking the logical rows of data into multiple rows of data (but still on the same physical machine). The reason for this can be performance, availability, or maintainability.
Horizon Partitioning (sharding) refers to the spread of stored data across multiple physical machines. But the columns for each row of data are the same. Such a heavy reason can also be for performance, usability, or maintainability.
3. Summary
Vertical partitioning is the angle of the columns (column) to be partitioned, and the horizon partitioning is partitioned from the line (row) angle.
4. References
1.https://www.quora.com/whats-the-difference-between-sharding-db-tables-and-partitioning-them
2.http://stackoverflow.com/questions/20388923/database-partitioning-horizontal-vs-vertical-difference-between-normalizatio
Partitioning and sharding in the [original] Database