Yesterday we covered database structures and transaction logging. I learnt a ton of great stuff on the latter especially and need to experiment with it a lot. It is tempting to 'bullet point' the 'aha' moments but somehow am trying to avoid that and keep it for my own deep dives and explorations later. The breadth and depth of the product is totally amazing, and how little one knows about a basic thing such as transaction log even after 12 years of working with it. That by far is my biggest takeway in itself, especially during times when beginner bloggers like me worry that everything we can write is already written about. May be true in a way, but I believe there is lots of things to write about in our own way, as we learn our way through the product and its many features and complexities. Also some features that really interested me were the new 'version store' and how it works with/in comparison to traditional locking/blocking/isolation levels, this is definitely something I want to explore in detail and understand.
Today most of the morning was on partitioning - partitioning views which is apparently a very old feature and available since 7.00 was explained in great detail and contrasted with table partitioning with pros and cons. I really wish i had known more of this before - especially since i have worked at lot of places where big data is a problem and going to Enterprise was unaffordable. It is great information to know and certainly hope to explore it further. In the afternoon we started off with my favorite topic and one of Kimberly's best - Index internals. We learnt the significant disadvantages of using heaps and results of several types of testing on heaps versus indexed tables. One of the best things i also learnt today was on the anatomy of page splits - the 5 different types of page splits and why some of them are bad for the system. I am waiting with great interest for tomorrow's sessions on indexes and statistics.
Today was also spiced up a little with reading a tweet-war started by somebody who thought such trainings were apparently unnecessary to get to MCM. Somehow i was reminded of a distant relative - a kid who dropped out of high school with the line that he would be the next Bill Gates since Bill Gates dropped out of high school too. I met him a few years ago, a somewhat depressed young man struggling to make ends meet. Not only did he not get to being Bill G, he does not even have a job and a degree like his class mates did, and an ordinary comfortable life that comes out of that. Setting big goals is a great thing, so is the importance of humility, taking small steps and looking at pragmatic ways of acquiring whatever it is you are after. Even if my goal is MCM, a pragmatic way to get to it would be to acquire knowledge via trainings like this, get to being a great DBA first, get the depth and breadth of experience that other MCMs have - in most cases that would automatically pave the way for MCM, if not, nothing lost, am still a great DBA :))