James' USENIX 2007 notes: tutorial M6

Databases: What You Need to Know
John Sellens, SYONEX

Databases used to run almost exclusively on dedicated database servers, with one or more database administrators (DBAs) dedicated to their care. These days, with the easy availability of database software such as MySQL and PostgreSQL, databases are popping up in many more places and are used by many more applications.

As a system administrator you need to understand databases, their care and feeding.

I arrived about 10 minutes late, but what I missed what mostly just the opening remarks and introduction.

morning session 1

John spent most of this session going over general database concepts: purpose, design, tables, rows, primary/secondary keys, avoidance of redundant data, backup approaches, etc.

The slides do a good job of covering these concepts. Plus, this is also fairly basic stuff—any introductory book on databases will cover all this, and more.

(John mentioned in one of his slides that Subversion uses Berkeley DB. During the break, I filled him in on Subversion's history with Berkeley DB and fsfs.)

morning session 2

MySQL didn't achieve ACID compliance until version 5.0. As far as database purists are concerned, if it'd not ACID compliant, it's not a DBMS.

The reason why MySQL is so fast, fast, fast is because the default storage engine, MyISAM, is not ACID-compliant. John's philosophy is: What use is a fast database if it might corrupt your data?

John's opinion: avoid MySQL whenever reasonably possible. He fully admits it's a religious argument, but John point of view is that if you're going to go through the effort of using full-blown DBMS, do it right.

Q&A session

There weren't really any questions.

This session appeared to be useful for most of the attendees, but most of the information I already knew. The most important information I gleaned is that the decision to use (or not use) MySQL seems to be a religious argument.

Unfortunately, John didn't get through all of his material; he had to skim over a bunch of slides at the end. I'm not sure that he could have pared back his material without making it too lightweight (despite the fact that this tutorial seemed to be aimed at people with little to no familiarity with databases).


You can go to the index of my Usenix notes.