3 ms·
Ask HN: Which book would you recommend for learning database internals?
In the realm of RDBMSs I've so far come across this book from 2007: 'Understanding MySQL Internals'.
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 9y agoHaven'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 9y agoThis 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 9y agoThis 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