Database sharding involves partitioning a database into smaller, independent pieces called shards, distributed across multiple servers. It improves performance by allowing parallel processing and reducing the load on a single server.