A few months ago I was a bit hyped about Database Internals by Alex Petrov and recently I had time to finally read it. And it’s a nice book. The first part of the book has lots of trees and covers the storage side of databases both persistent and in-memory with examples from actual databases but without going too deep in specific database implementation details. The second part is about distributed systems and shows what and why is used in different databases. It’s also a bit more generic as it can be applied not only to databases.
At least for me, it was a good reading on system design and architecture.