It took me a while to read through, but I enjoyed every moment of it. The only thing I can compare it to is when I read "TCP/IP Illustraded vol.1" by W. Richard Stevens - it was extremely interesting and eye-opening.
The book describes transaction processing - not just the transactions in a database, but basically any kind of transaction with ACID properties, that includes all kinds of actions, including "real" ones (moving rods in a nuclear reactor, dispensing money from an ATM), either a local or distributed. There's a good amount of code in it (although the coding style was a bit ugly, probably to save space, but writing directly after the "{" and closing "}" on the same line will always look bad), that supplements the explanations.
(most of the figures are useless, but some can help a bit)
The initial chapters on the basics, models, etc. are something that should be taught at most universities and to all IT people. The chapter on isolation (locking, etc.) is probably the best description of the problem I've seen, and although there has been a lot of research on lock-less schemes and there is a preference for them these days, the same basics haven't changed and still need to be used in the same way.
The last few chapters describe something very close to the design of a transactional database (excluding the SQL parser and some other pieces). Those answer a lot of questions on how does the database work underneath and how does it handle the different data organization cases.
It's a book by people who have written such systems, have seen, debugged and solved the problems seen, and written papers on it. At some point I found 20 pages that described problems and solutions that have taken me months to get through.
I'd recommend a few of the chapters even for non-technical people, because of the insight they can give into computing.