
Database Internals - pointy_hat
https://databass.dev
======
playing_colours
This is a very good book! Recently, I am very happy with a number of more
foundational data books from O’Reilly:

Designing Data-Intensive Applications
[https://dataintensive.net/](https://dataintensive.net/)

Streaming Systems
[http://shop.oreilly.com/product/0636920073994.do](http://shop.oreilly.com/product/0636920073994.do)

and this one.

~~~
burlesona
If you wanted to build your own database (to learn how), is Database Internals
the better book, or DDIA?

~~~
travisjeffery
I'm currently writing a book for PragProg called Building Distributed Services
with Go (though it mostly applies to other languages too) that's walks you
through building a distributed database from scratch. You can sign up on this
mailing list to know when it's available: [https://travisjeffery.us4.list-
manage.com/subscribe?u=1e3ff7...](https://travisjeffery.us4.list-
manage.com/subscribe?u=1e3ff7d7791b26a8f60b9f16c&id=653935be08)

~~~
bogomipz
Looking forward to it. Do you have any idea when this might become a Beta book
on PragProg? Cheers.

~~~
travisjeffery
Awesome. Hopefully within a month or two.

------
chrisseaton
I've been reading this book for the last few days - it is _way_ above what you
expect these days for a technical book from a popular publisher in terms of
its description of underlying data structures and algorithms. It's also easy
to read. The depth of a text book with the approachability of a typical
working programmer's book.

------
manigandham
I also recommend following Andy Pavlo and the CMU Database Group which has
lots of free courses, videos and material:

[https://db.cs.cmu.edu/](https://db.cs.cmu.edu/)

[https://www.youtube.com/channel/UCHnBsf2rH-K7pn09rb3qvkA](https://www.youtube.com/channel/UCHnBsf2rH-K7pn09rb3qvkA)

~~~
zerr
It suffers from the common issue for such content - theory/lectures are too
diverged from the practical/lab part.

~~~
manigandham
There's nothing stopping you from just writing code following the lectures.
What else would a practical/lab part be? \

There are tons of open-source databases on github that you can hack on so I
don't think there's a major issue with getting practical experience if you
want it.

------
elamje
The topical overview certainly sounds interesting, but sounds extremely
similar to Designing Data Intensive Applications which also covers modern DB
internals.

What’s the sell here?

~~~
libraryofbabel
There is some overlap, but they complement each other. This one (Database
Internals) has much more of a technical deep dive on storage engines,
especially B-tree implementation details.

If I was mentoring someone learning this stuff, I'd advise reading Designing
Data Intensive Applications first, which is certainly the best for giving the
big picture, and follow up with this one for more detail on certain topics.

Given the previous dearth of books on this important subject, I think it's
wonderful that we have two.

------
HappyJoy
Database Design and Implementation by Edward Sciore implements a fully working
relational database from buffer manager up to parser and beyond. It's very
much in the spirit of Tanenbaum's OS book.

Here's the landing page for the book's implementation:
[http://www.cs.bc.edu/~sciore/simpledb/intro.html](http://www.cs.bc.edu/~sciore/simpledb/intro.html)

Unfortunately, I don't think the book is in print anymore.

------
abhinaba1
I am reading this book for the past few days. Very well written!

------
loopz
Grey text on white background => almost unreadable on my screen and I don't
usually have problems with low contrast.

~~~
ifesdjeen
Author here. Thanks for the heads up, it did look a bit bleak on the mobile.
Increased the font size, made grey much more dark, and increased heading
sizes. Hope it's easier to read now!

~~~
Stratoscope
I don't know if I'm seeing the old version or the new version, but this is
still very hard to read.

Advice to all web designers: Please do not use "font-weight: 300" for body
text, _ever_. Simply changing that to 400 in the developer tools made it much
more readable. The font was still bugging me, so I tried killing the "font-
family: futura pt" too.

Wow! What a world of difference. Now it is super easy to read, instead of
looking like it's trying to show off some design style.

Know your audience: you are addressing potential database developers with this
book, not graphic designers.

~~~
ifesdjeen
Preferring one font over the other is more a question of taste, but I think
you're right about font-weight: it does read better with 400. Thanks for the
tip!

~~~
Stratoscope
And thank you for being so responsive to feedback! It's much easier to read
now.

I also want to apologize for my comment being a little grouchy; I should know
better than to comment on style and readability in the wee hours. :-)

~~~
ifesdjeen
Sure thing! Appreciate that you've figured out what was wrong with that font,
too.

------
mesaframe
In past few days I've heard so many praises and also I have heard so much
criticism about Database Books in general.

What makes this book so much better?

~~~
zzzcpan
It depends on your goal.

Database internals books are not worth reading if you want to work on
implementing real world database engines. You are better off checking out
internals and documentation of various implementations and also research
papers in that field. And you would be doing your own research anyway.

But if you are just starting out in programming, it's probably as good book as
any to learn something new and practical about algorithms and data structures.

~~~
ifesdjeen
I completely agree that it always depends on the goal. I'd also add a second
vector: experience. If you've already worked with distributed and/or storage
systems and have understanding of the field, you can jump straight to papers
and code. However, for people who are just starting, it may be beneficial to
read an overview book and get familiar with a field. This book attempts to be
that a starting point that can help to navigate database papers and code.

Some of the folks I talked to who have already worked with databases a lot
mentioned they've benefited from the book as well, since there were some
concepts they were less familiar with or never had to learn (for example,
transactional processing for the folks who have mostly worked with on
eventually consistent databases; or B-Tree details for the folks who have
mostly worked on LSM-Based storage engine)

Disclaimer: I'm author of this book.

------
alfiedotwtf
Nice. This is the book I've been wishing someone wrote for a long time.
Finally! Insta-buy.

------
commandersaki
Is this a full fee paid course for on campus students?

Because if it is, I would be miffed and feel short changed to be told to watch
youtube lectures on my own time. I value face to face time and interactivity
with my professor or lecturer. If this is a heavily discounted course due to
the crippled way it is taught then I have no issue.

From the syllabus:

CS144 is taught using a combination of lectures and videos. In previous years,
it was entirely “flipped”; i.e. all the lecture material was taught by videos.
This year things are different and we are going to mix things up: Some weeks,
including the first week, will be based on recorded videos that you are
required to watch in your own time. We will call these Video Weeks. Other
weeks, including the second week, are based entirely on in-class lectures, and
you don’t need to watch any videos. We will call these Lecture-only Weeks. So
why mix things up? We are teaching this way because we have found that some of
the material (e.g. the basic principles you learn in week 1) are most
efficiently learned by watching videos - the concepts are fairly simple and
the material is descriptive; a video is a more efficient use of your time.
Other material, such as when you learn about congestion control in week 4, is
best learned in person, interactively in a lecture.

~~~
jrockway
The fee you pay for college courses is for the piece of paper saying you
passed the course.

Those that don't need the piece of paper can learn for free. Who can complain
about that!

~~~
commandersaki
Ostensibly. Some may want the paper and an actual learning experience that
isn't virtualised. I must be asking for too much.

I also might not understand the purpose of the video lectures. If they
supplant face to face time but get rid of the tedium, then I would say it
should also accompany course/lecture notes, reading texts, and/or supplemental
documents.

I just think forcing people to watch youtube videos is a much lower quality
experience for a student. If it's a required course I'd want a refund for
being forced into a lazy teaching format.

