Passionately curious about Data, Databases and Systems Complexity. Data is ubiquitous, the database universe is dichotomous (structured and unstructured), expanding and complex. Find my Database Research at SQLToolkit.co.uk

"The important thing is not to stop questioning. Curiosity has its own reason for existing" Einstein

Monday, 6 May 2013


SQLBits took place at the East Midlands Conference Centre in Nottingham between 2-4 May 2013. It is now the largest SQL Server conference outside of North America. It was the usual amazing conference full of deep dive training sessions, parallel tracks and networking.

I attended the excellent deep dive Extreme Data Recovery session by Argenis Fernandez. This session was great for drilling down into the actual database pages on disk and discussing the different algorithms used for page verification. He also mentioned an alert 829 to be aware of used by AlwaysOn for page verification errors. In SQL Server 2012 these 829 alerts are automatically fixed so it is important to monitor these. He gave a reminder that having a play book with scripts and tested resolutions to use give a sense of calm when dealing with the inevitable failures that occur from time to time. It contains a simple documented approach to be followed to resolution. A great resource can be found in the 31 Days of Disaster Recovery blogs.

The Keynote was delivered by Conor Cunnigham on Architecting Large Scale Services on Azure. Windows Azure SQL  Database (WASD) currently has a database size limit of 150GB, runs from commodity hardware and is used to scale out rather than scale up. Sharding the data requires a central metadata database to keep track of the shard and shardlets. Availability on WASD is 99.9% and there are automatic mechanisms to fail over databases when the load is too high, a machine dies or the rolling out of patches to the service happens. Key things to think about when architecting solutions to reside in the cloud is that database engine throttling can occur within a multi-tenant environment and it is necessary to design for unavailability.  Potentially cache more data and use defensive programming techniques such as implementing retry logic. Due to the charging models some database architecture designs need a complete rethink. WASD distributed database system uses an eventually consistent model. More details about how this works can be found in the Windows Azure SQL Database Performance and Elasticity Guide . This was an amazing keynote sharing a new way of thinking about database architecture design.

The day continued with Karen Delaney’s session Seeking SQL Server Secrets. This covered all manner of trace flags and undocumented stored procedures for 2008R2 and 2012. I attended various other sessions on troubleshooting on Azure, Inside xVelocity InMemory Engine, database design: size does matter, query tuning, ETL with Hadoop and MapRedure etc.

The diversity of sessions at SQLBits and hybrid tools available for the engine show this as an unprecedented time, where the database engine is rapidly growing and changing to meet the demands of the data market.