Hacker News new | ask | show | jobs
by EasyCompany 5772 days ago
Totally agree, as i am a beginner programmer, i am totally confused which database to use and when, particularly when. I have read up on so many, so many blog posts that contradict each other, i have looked into coudb, cassandra, mysql, neo4j, hbase, persevere and a few more. I have just decided to learn each one well and judge as my knowledge grows, so i have started with mysql and couchdb.
3 comments

Personally, I love Postgres; I've been burned by MySQL in the past. Here's the thing, you will be infinitely more employable if you know SQL well, and you'll easily retrain from one RDBMS to another if a better SQL database comes along.
Don't forget MonetDB (performance) and SQLite (simplicity) if your project is mostly reading.
You should try a RBDMS too :P
There aren't any relational databases doing any thing useful, only non relational databases, like those based on SQL.
To clarify this comment a bit: The conventional RDBMSs people refer to as relational databases (Oracle, Postgres, MySQL, SQLite, etc.) shoot for compatibility with the SQL standard, which diverges from the relational model. For example, you can have duplicate rows in a table, which doesn't make any sense in the (set-based) relational model. SQL is not "purely" relational.

If you read Chris Date's books (I recommend starting with _An Introduction to Database Systems_), he really hammers this point.

There are people who hate SQL because it's too relational, and there are people who hate SQL because it's not relational enough.