Explain the concept of data partitioning and how it improves query performance in a cloud data warehouse.