If you find yourself not getting enough out of the standard content out there, I offer a classes to up your tuning and data modeling game. I am currently working on developing a series of five, one day courses. The first, the tuning course, is available now.


Course: Tuning – Diagnosing and Fixing hard problems

This course is suitable for developers who access databases, for database administrators, data warehouse and business intelligence developers and of course for professional tuning consultants. It aims to take you beyond best practices and go below the surface into  the realm of measurement and KNOWLEDGE about why your implementation works or doesn’t.

imageI will teach you how to use xperf and XEvents do scientifically measure, diagnose and resolve performance and scalability issues. I will cover both  SQL Server itself and code that access the database.

While the curriculum assumes you are already familiar with basic indexing strategies and query tuning, you will learn more about the internals of query execution and good join strategies. I will also cover tuning patterns you can apply to  proactively make your designs scalable – before any nasty surprises happen.

We will dig deep into spinlocks, latching, hardware specific tricks and other more obscure areas of SQL Server so you are armed to take on the hardest tuning challenges.

The course is designed to be taught in one day and consists of 4 sessions lasting 1.5h each, allowing time for lunch and coffee breaks between the sessions. I can go on site to teach the course directly to your employees and quickly ramp up their tuning skills.

I am also available to teach the course for professional training providers who will host me in their facilities.

Enquiries for the course, please contact me at:


Course: Advanced Data Warehouse Modeling

imageThis course will take your skill in data warehouse modeling to the next level, allowing you to handle very large datasets and to build data model which provide high query performance in both SMP and MPP environments.

I will demystify some of the “hand waving” that is often thrown around about data warehouse modeling, and we will get into the modeling trick that drive performance, maintainability and optimal compression.

The method I teach is specifically designed to make the best use of modern hardware and keep you close to the actual implementation details, the stuff that truly matters when you get your hands dirty with data modeling.

The following topics are covered:

  • Logical data models: What are they good for?
  • Demystifying meta data: Meta Models and auto generated ETL
  • Understanding modern hardware: Co-Located data in SMP and MPP systems
  • Comparing Inmon and Kimball
  • Why normalisation is bad for data warehouses, and what you can do about it
  • Choosing between column and row stores
  • Keys, master data and mapping layers
  • Tracking history in the warehouse
  • Handling changing user requirements
  • High speed data loading – and reloading
  • Big Data and Data Warehouses

Course prerequisites

It is expected that you are familiar with the basics of dimensional modeling as described in Ralph Kimball’s book: “The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling”. A light familiarity with 3rd normal form data modeling and/or UML is an advantage.

Even if you subscribe to another modeling technique than the one I will describe here, this course will help you understand why some models work, and others fail. You will also learn what types of modifications you need to make in the Dimensional model to counter the typical critique of this modeling approach for large environments.

Enquiries for the course, please contact me at:



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s