I’m interested in reading more about databases. I was reading the article posted here and realized that I am part of the small margin of developers who don’t understand databases that well.
Transaction Processing by Gray and Reuter is probably my favorite database book, but it may not be the best first book. Ullman et al.’s Database Systems: The Complete Book or various forms of it (as long as they have the database implementation parts) might be a better place to start. The red book: http://www.redbook.io/ and the papers listed here are also great: https://github.com/rxin/db-readings
Some of this stuff might seem intimidating at first, but I think a lot of database texts suffer from the opposite problem: they skim over how the database is actually implemented, which is a crucial part of understanding databases; otherwise you end up with this “databases are magic boxes” mindset.
I’m not the author , but I’m also not an expert. I don’t feel especially bad about it, but it would be to go from “I know enough to write a query if I need to, with some head scratching” to “I know the theory, implementation, and tradeoffs. If I needed to, I could design one.”
Transaction Processing by Gray and Reuter is probably my favorite database book, but it may not be the best first book. Ullman et al.’s Database Systems: The Complete Book or various forms of it (as long as they have the database implementation parts) might be a better place to start. The red book: http://www.redbook.io/ and the papers listed here are also great: https://github.com/rxin/db-readings
Some of this stuff might seem intimidating at first, but I think a lot of database texts suffer from the opposite problem: they skim over how the database is actually implemented, which is a crucial part of understanding databases; otherwise you end up with this “databases are magic boxes” mindset.
I wouldn’t feel too bad–most everyone doesn’t really know how they work or what they can do (myself included).
I’m not the author , but I’m also not an expert. I don’t feel especially bad about it, but it would be to go from “I know enough to write a query if I need to, with some head scratching” to “I know the theory, implementation, and tradeoffs. If I needed to, I could design one.”
I’d be happy to see some good references as well.
Jeffrey D. Ullman Principles of Database & Knowledge-Base Systems, Vol. 1: Classical Database Systems
Ralph Kimball The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling
David C. Hay Data Model Patterns
An Introduction to Database Systems by C. J. Date