I’m using this blog to create a performance tuning guide for data warehousing professionals. The guide will document the steps I follow to diagnose and solve what my clients perceive to be performance problems.
Let me first set a typical scenario that I have found during my consulting career. After several years of development, a large corporation has finally managed to implement a corporate-wide data warehouse (DW). A dedicated IT development group has built and deployed a reporting solution on top of the DW. Unfortunately, the users of the DW, typically on the business side of the corporation, are very unhappy with the reporting environment. They claim that performance is extremely slow. Reports take forever to run. Many reports return cryptic errors that only IT can decipher. The IT group is bombarded with support requests, and must allocate most of its time to answering support calls. Furthermore, since the corporation’s business is changing constantly, business users demand that the DW evolve to reflect how the business works. However, since IT spends most of its time fixing problems with the existing reporting environment, it cannot implement new features in the DW.
The scenario described above creates a dynamic whereby business users grow increasingly disillusioned with the DW and the IT group in charge of it, while the IT team grows frustrated with the business users and their insatiable demand for support and feature improvements. Both groups become frustrated with the reporting software, which is the most visible part of the DW.
When the situation becomes critical enough, the IT team decides to bring an external consultant to “fix the problem”.
In my next post I will list the high-level steps that a consultant must follow to solve the problem.