Partitioning splits a table into parts within a single database instance (often for management/performance). Sharding splits data across multiple database servers for horizontal scaling. Sharding adds complexity around routing and cross‑shard queries.