There are no secrets to success. It is the result of preparation, hard work, and learning from failure.

?Colin Powell [1]

[1] The Leadership Secret of Colin Powell, Oren Harari (New York: McGraw-Hill, 2002).

I've written this book with the hope that it will serve as my lifetime technical contribution to my database administrator (DBA) brethren. It contains the sum knowledge and wisdom I've gathered this past decade, both working on and speaking about data warehousing. It does so purely from the DBA's perspective, solely for the DBA's needs and benefit.

While I've worked on many data warehousing projects, my three years at Electronic Data Systems (EDS) as the lead DBA for 7-Eleven Corporation's enterprise data warehouse provided my greatest learning experience. 7-Eleven is a world leader in convenience retailing, with over 21,000 stores worldwide. The 7-Eleven enterprise data warehouse:

  • Is multi-terabyte in size, with tables having hundreds of millions or billions of rows.

  • Is a true star schema design based on accurate business criteria and requirements.

  • Has average and maximum report runtimes of seven minutes and four hours, respectively.

  • Is operational 16X6 (i.e. the database is available 16 hours per day, 6 days per week).

  • Has base data and aggregations that are no more than 24 hours old (i.e., updated daily).

While the 7-Eleven enterprise data warehouse may sound impressive, it was not that way from Day One. We started with Oracle 7.2 and a small Hewlett?Packard (HP) K-class server. We felt like genuine explorers as we charted new territory for both EDS and 7-Eleven. There were few reference books or white papers at that time with any detailed data warehousing techniques. Plus, there were few DBAs who had already successfully built multi-terabyte data warehouses with whom to network. Fortunately, EDS and 7-Eleven recognized this fact and embraced the truly iterative nature of data warehousing development.

Since you are reading this book, it's safe to assume we can agree that data warehousing is radically different than traditional online transaction processing (OLTP) applications. Whereas OLTP database and application development is generally well-defined and thus easy to control via policies and procedures, data warehousing is more iterative and experimental. You need the freedom, support, and longevity to intelligently experiment ad-infinitum. With few universal golden rules to apply, often the method of finding what works best for a given data warehouse is to:

  • Brainstorm for design or tuning ideas.

  • Add those ideas to a persistent list of ideas.

  • Try whichever ideas currently look promising.

  • Record a history of ideas attempted and their results.

  • Keep one good idea out of 10?20 tried per iteration.

  • Repeat the cycle with an ever growing list of new ideas …

As Thomas Peters states, "Life is pretty simple: You do some stuff. Most fails. Some works. You do more of what works."[2] That's some of the best advice I can recommend for successfully building a data warehouse as well.

[2] In Search of Excellence: Lessons from America's Best-Run Companies, Thomas J. Peters and Robert H.Waterman, Jr. (New York: HarperCollins, 1982).