Database sharding is a technique used to partition a large database into smaller, more manageable pieces called shards, which can be spread across multiple servers to improve performance and scalability. Each shard contains a subset of the data, allowing for parallel processing and reducing the load on any single database instance.