Hacker News new | past | comments | ask | show | jobs | submit login

> DBs I've shunned most of my career.

Database Design for Mere Mortals: https://www.amazon.com/Database-Design-Mere-Mortals-Hands/dp...

This is the book I recommend to everyone who is shy about DB's - I have owned several copies and given every one away. It breaks down not only functionality but how to create a good design in a sensible and easy to understand way. Worth every penny (and now somewhat cheap)

Long ago I read it, and found it frustrating. I don't remember all my objections, but I do remember one: the author spent about four pages almost but not quite defining 3rd Normal Form. Yes, jargon can be a barrier for beginners, but jargon also serves a purpose.

It seems to me that Jim Melton's Understanding the New SQL was pretty good. Anyway, I'm pretty sure I read one of Melton's books when I was learning about databases.

It was hard for me to absorb , I was like thinking that I lacked basic knowledge needed to master it.

RDBM's are a domain, and have their own terminology.

Thank you very much for recommending the book. Does it also provide a sense of when to use non-relational database systems, like NoSQL or GraphDBs (The book's description as well as "look inside" function at Amazon didn't yield any results for those two) ?

> Does it also provide a sense of when to use non-relational database systems, like NoSQL or GraphDB

I always thought of the NoSQL movement as encompassing document, KV, and GraphDb's and each can be a major departure from RDBMs thinking. These technologies aren't always "replacements" for RDMB's and often live alongside them, Redis (or memcache) and Solr/Lucene (or elasticsearch) are ones that I have personally used the most.

As you move into other tools like Cassandra or a Graph DB they look shiny but you are making some major (and maybe worthwhile) trade offs. These sorts of decisions probably shouldn't be made based off of knowledge from a book but rather experience and more importantly testing (performance and use).

As a side note, the last project I did ended up using a flat file as a back end because it was fast, simple and easy while meeting the needs for what it had to accomplish. Installing a DB was more work than needed.

thanks for this, bought. been looking for a recommendation in this space.

Applications are open for YC Winter 2022

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact