Best Practices for Building a Scalable Data Warehouse