SQLRally Nordic - My Reflections

This week I attended SQLRally Nordic edition which was held in Stockholm and I must start by saying how grateful I am to my boss for sending me. Second, thanks to all the Swedish people that spoke English to me, I had some really nice conversations with people, most of them started off “You’re Australian, but you live in London?”.

Monday: Pre-Con: Data Warehouse Modeling - Making the Right Choices

This workshop was the main reason I came to SQLRally. It was an entire day talking about data warehouse modeling! Both Davide and Thomas give a very thorough overview of the entire process end-to-end. This part of the description really stood out to me before the event:

In this workshop, Thomas Kejser and Davide Mauri will share all the information they learned since they started working with data warehouses, giving you the guidance and tips you need to start your BI project in the best way possible―avoiding errors, making implementation effective and efficient, paving the way for a winning Agile approach, and helping you define how your team should work so that your BI solution will stand the test of time

I was particularly interested in hearing about how to take an agile approach to building a data warehouse, and in future posts I’m going to cover more of what I learnt.

To summarize their approach:

  • Implement BI Design Patterns (e.g. loading staging tables, dimensions and facts, these are all well known and repeatable)
  • Automate everything, after you’ve standardized your solution with the above design patterns. Davide showed some really excellent demos of how to use BIML to create a bunch of SSIS packages based on meta data
  • Focus on the “business” processes - after automating all the “technical” processes (the repeatable and well known parts) you will have more time to focus on the parts which are business specific

Their key mantra throughout the whole day was: avoid the monkey work.

Tuesday’s Top Session: Index Impact Analysis (with Klaus Aschenbrenner)

It is a classic problem that everyone who works with SQL Server faces, how do I measure the impact of adding an index.

In this session Klaus showed how easy it is to:

  • Capture a workload of real transactions on a production OLTP database
  • How to use this workload to establish a baseline in a test environment
  • How to use the baseline to measure the actual impact of adding an index

His approach (using the Distributed Replay feature of SQL Server) is definitely one that anyone who was listening to him could reproduce. This is something that I’m going to be looking into further when I’m back in the office!

Wednesday’s Top Session: Automating Your DW Development (with Davide Mauri)

This was a more in-depth session on BIML (Business Intelligence Markup Language) and BI Design Patterns. During Monday’s pre-con Davide talked at a high level about design patterns and how to automate their implementation, however only gave a few simple examples.

In this session he showed a number of different design patterns and then demoed how they could be implemented and automated using BIML, as well as another custom tool which he developed specifically for creating packages which deal with Slowly Changing Dimensions.

The other thing that made this session stand out was the presentation style, Davide is a very energetic speaker, he spoke very quickly and still didn’t finish all of his slide deck. There was no point when I thought “come on, hurry up”. 10/10 in my book.

In Summary

I can definitely say that my expectations were met and exceeded. The pre-con was excellent, I learnt a lot of very practical things which I can start doing straight away, as well as a good amount of theory to backup the “why” I should start doing these things.

The sessions I attended were varied, but overall the quality was excellent. There was one session I ended up in which was way over my head and in hindsight I wish I had recognized this in the first 5 minutes and gone to another session. My take away from this is to actually take note of the session level before it starts.

🍪 I use Disqus for comments

Because Disqus requires cookies this site doesn't automatically load comments.

I don't mind about cookies - Show me the comments from now on (and set a cookie to remember my preference)