But are the lab/programming part of the course available as lecture videos? Such stuff are usually left as onsite students privilege. On the other hand, I think Sciore's book does a good job of intermingling between theory and practice, thus the reader stays engaged all the time.
Fair enough, thank you for pointing this out, I agree that the Sciore book might be a better learning approach to the lab side of things.
How different is this book from his class notes, titled "Database Management: A Systems Approach Using Java"?
I wonder if his SimpleDB [1] is the same SimpleDB that is used in the MIT and Berkeley db intro courses, that would be a great match.
Do you happen to know of any other books, not about databases, that do a similar job for other complex systems? For instance, for OSs there is xv6 and its companion book [2].
EDIT:
Just one observation: the first lab in the CMU course consists of implementing a Buffer Pool Manager. This basically means bypassing the OS virtual memory management, which is too general and far from optimal for a disk storage db, and implementing you own, in this case a sqlite extension in C++ (the idea seems to me sort of similar to implementing a bespoke, optimized malloc, not exactly, of course). Now, Sciore's SimpleDB is written in Java, so I suppose that this can't be done, so it's a much simpler system, and passes over what is a key issue in a production class system.
This is also relevant for one more reason, which is that, although this CMU intro course doesn't really focus on memory caching issues (disk access trumps the cache), Pavlo's follow up course, Advanced DBs [3], is about in-memory db systems, and here the memory cache is very much a central issue, and I doubt, again, that a db written in Java can take this into account, I suspect that you need a systems programming language to handle this. So, this might be a reason to favour the CMU course, I am not sure, I am new to the game.
Well, for what it's worth, I've just had a very quick look at SimpleDB, and it does have a buffer manager after all (in simpledb.buffer). I am glad about this, it is looking more and more interesting to me, and I am more and more inclined to following this approach. Also, the course notes I alluded to above are looking like a good substitute for the book, because they also seem to discuss the source code in great detail, as mentioned in other comments.
The MIT OCW SimpleDB seems different from Sciore's though, simpler, but is also in Java, I wonder whether they have adapted it or whether it is entirely different system.
Sciore's old db course, might help figure out how much material to pack into a terms-worth of learning, but the notes aren't there, you will find then in the internet if you know where to look :) https://web.archive.org/web/20081028011620/http://www.cs.bc....
Yes, xv6 book is on my reading list :) As for other books - Appel's Modern Compiler Implementation in ML and Cooper/Torczon's Engineering a Compiler come to mind.