
Ask HN: Which book would you recommend for learning database internals? - rajnathani
In the realm of RDBMSs I&#x27;ve so far come across this book from 2007: &#x27;Understanding MySQL Internals&#x27;.<p>Have you read this book? Or is there another book (or maybe even a lengthy tutorial-like blog post) which you would recommend reading?
======
ignoramous
Haven't the read anything about MySQL but
[http://www.interdb.jp/pg/](http://www.interdb.jp/pg/) is a good read about
Postgres.

A few things to get you interested:

* Postgres is a process-per-connection/ shared-memory model vs MySQL that's multi-threaded-per-connection

* Postgres has more than one index-types (bit-index, generalized-inverted-index, partial-index, btree-index).

* AFAIK (might be wrong), because of the way Postgres implements Consistency and Isolation (as in ACID) via MVCC (Multi-version Concurrency Control), it is at the mercy of the notorious VACCUM (think: Garbage Collection in Java).

* Postgres does Streaming Replication (typical of NoSQL and distributed databases in general) which is superior to what MySQL had prior to them introducing Group Replication in MySQL 7.

* Postgres is known to have an advanced query-processor engine as well and AFAIK driven by academia as much as engineers orgs.

Apart from that, to know about what's latest in the DB field, pick up the Red
Book (can't say I've read it myself, but it does get recommended a lot).

\----

People famous in the Distributed and RDBMS space include:

* Martin Kleppmann of Apache Kafka and Samza fame.

* Peter Bailis, Researcher

* Michael Stonebreaker, creator of Postgres, Ingres, VoltDB

* Murat Buffalo, Researcher

* Curt Monash, Researcher

* Matei Zaharia, Researcher

And a bunch of other folks, the list is big, but these are the one's I keep an
eye on.

You might want to look at the winners of VLDB, SIGMOD, and SIGKDD conferences,
too, for cutting edge research in the area (and the Red Book, too).

You might want to follow developments on the new-age databases:

* RAM-only DBs: VoltDB, MemSQL

* GPU-accelerated DBs: mapd, SQream, alenka

* NVMe-only DBs: Onur Multu et al wrote a seminal paper on the subject.

* OLAPs: Not familiar with this field per se, but it is huge in itself. Think: RedShift, Spark, and so on.

Best!

~~~
rajnathani
This is a very detailed answer. Thanks for sparing your time.

I found the interdb.jp resource shortly after posting this question, it looks
like a good resource however it doesn’t have the chapter on query
optimizations translated as yet. I will definitely read the rest as on quick
glance it looks very well written!

------
tonetheman
This is not a book but a site really. Sqlite3 is an amazing database and the
site has great documentation.

[https://www.sqlite.org/docs.html](https://www.sqlite.org/docs.html)

