Home > Data Warehouse, Modeling, SQL Server > Reading Material

Reading Material

Today, I was asked a good question: “What material do you read to stay up to date on SQL Server, computers and data modeling” (thanks Chris). Let me try to answer this:

Twitter

I am not a big fan of Twitter – I find the noise to signal ratio horrible. But I just don’t need to stay up to date with the bleeding edge of the chatter on the net

Blogs

I AM a big fan of following individuals that I respect for their opinions. I read blogs a lot. It is my observation that when people take the time to sit down and write a longer text (i.e. a blog, not a Tweet) , their ideas are often expressed with more clarity. I highly recommend the links to the right. Note that only 10 are shown at a time, so they will occasionally change.

I also track a variety of other blog sources that I may not always keep up to date on this web page – so if you are not on my list here, don’t take that the wrong way. If you are interested in sharing good reading material with me, then feel free to add me for “following” in Google Reader (which is my blog aggregator). My Gmail account is thomas<at>kejser.org.

Some major blogs that give me daily ideas on the subjects I blog about myself:

Books, Articles and whitepapers

I have a rather extensive library at home, though I am currently in the process of buying Kindle editions of most books on my shelves.

Here is a list of books I would consider the “bare minimum” to acquaint yourself with as a DBA or architect to be on the Microsoft platform.

Basics of computers and databases:

Before you can work with computers, operating systems and databases, I think it is crucial to understand how they are built.

  • Mark Russinovich: “Windows Internals” – THE reference on how windows works
  • Donald Knuth: “The Art of Computer Programming” (AKA: TAO)– THE reference on algorithms and optimizing code. You will not have to read this from one end to the other, but browse though and try to understand the key messages Knuth has to tell you.
  • Andrew S. Tannenbaum: “Modern Operating System” and “Structured Computer Organization” – Some of the greatest books on operating system design and behavior ever written. Though I am not in the “micro kernel camp” – I greatly admire Tannenbaum for being such a great educator.
  • Kalen Delaney: “SQL Server Internals” – Great reference guide on how SQL Server works
  • Ken Henderson: “The Guru’s Guide to SQL Server architecture and Internals” – By the late Ken Henderson, this book is IMHO still the best book ever written about SQL Server. It deals with old versions, but Ken’s technique for learning is simply superb and is just as relevant today as it was back when it was written
  • Dan Tow: “SQL Tuning” – A surprisingly unknown book in the SQL Server community. Great resource on how to find the best query plan. I attended Dan’s course once, and this guy knows what he is talking about.
  • I would recommend reading about the latest servers from the big hardware vendors: HP, Dell, IBM, Fujitsu etc. Try to understand the design tradeoffs they make
  • Intel’s and AMD’s chip roadmaps are crucial to understand too (and ARM if you are into that)
  • Follow the storage vendors websites, and try to track the NAND revolution as it is happening
  • Read the latest TPC full disclosure reports for your favourite database engine and hardware vendor. Try to understand the thinking behind the configuration of the database and hardware.

There is a great online resource where you can download course material for Computer Science classes: OnlineCourses.com.

Becoming a great developer or architect:

My personal belief is that if you don’t have a full overview of everything from the storage all the way up the stack to organization of code modules and networking (you can skip the GUI), you are not yet ready to become an architect. Thus, the first step is to learn how to code and tune well, and get familiar with the intricate details of systems. There is really no shortcut here. But once you know how to code, how to tune and how to build a good data model, architecture discussion become trivial to you.

  • Steve McConnel: “Code Complete” – A really good resource on writing good code and remaining passionate about your job
  • Andrew Hunt & Dave Thomas: “The Pragmatic Programmer” – A great view on the mindset required to become a good programmer/architect
  • Frederick P. Brooks: “The Mythical Man Month” – wise words about organising large software projects. As relevant today as it was back then, we didn’t learn a thing
  • Christopher Duncan: “The Career Programmer – Guerilla tactics for an imperfect world” – I think this one fits the world I observe better than Steve McConnel’s: “Rapid Development”. But both are really good. Duncan is probably a better primer for the programmer to be, Steve has a more mature outlook.

I have not yet found really good resources on data modeling. Which is one of the reasons I started this blog.

    1. May 9, 2011 at 22:36

      Hi Thomas, I use Feedly which is available for Windows, Mac & IPhone/Ipad and it make the reading of blog post really confortable and enjoyable. Is synchronized with Google Reader so you don’t have to maintain two different list of favourite blogs: give it a try (it’s free and it’s completely integrated also with Chrome and Firefox…dont’ know if there is and extension also for IE9)
      http://www.feedly.com/

    1. No trackbacks yet.

    Leave a comment