Vertical partitioning: Split by columns. Put user profile in one database, user activity in another.
Horizontal partitioning (sharding): Split by rows. Users - million in shard , users - million in shard .
Vertical partitioning is simpler but limited. You can only split so many ways.
Horizontal partitioning scales indefinitely. Add more shards as data grows.
In interviews, "sharding" usually means horizontal partitioning. That's what we'll focus on.