Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Designing scalable systems when you don't need to makes you a bad engineer.

> In general, RDBMS > NoSql

I use NoSql because RDBMS is a premature optimization for me

My experience with ORMs especially ORMs I didnt chose is that they are frail, assume too much and I often end up writing my own plain text queries anyway, all so that I can get a result from the database in object form, but without bogging down the database with inefficient queries

NoSql is object and collection based by default, and any Orm-like necessity is standardized with that database, instead of with a third party under-maintained library

My projects dont need to brag in an engineering blog about scalable performance, and the memcache solves all bottlenecks I’ve ever encountered



The problem you point to is the ORM, not the DBMS. And if you think “of course, but how can you OOP properly without objects? (And thus ORM if you use an RDBMS)” — you might join some of us in the conclusion that OOP is way overrated.

Don’t get me wrong, it is exceptionally useful when it’s a natural fit, like in GUI systems and some aspects of game programming.

But in many places, it is completely unfitting, and complicated things (similarly for FP, BTW)


My point is that I dont need to do plain text queries or need to make queries simpler or worry about what I just did to a row when I am using NoSql

Whereas I have all those concerns with DMBS, the ORMs want to help but just add more problems


Having used ORMs, SQL and NoSQL, My experience is that NoSQL is basically never the right choice for anything. It saves you minutes in the beginning in return for hours within a week’s time, then hours in return for days, then it just keeps costing.

Especially since Postgres supports JSON properly, I’ve found no reason to use anything else except perhaps when you want eventual consistency, which couchdb may do better out of the box, but is a whole big can of worms.

Added: I find DALs are the only acceptable layer over relational data, and other than BLOBs (which unfortunately no database seems to deal with nicely, and are thus relegated to the file system), everything that fits into a NoSQL fits at least as well into a modern RDBMS (e.g. Postgres)


yes, I’ve encountered that in other people’s projects with increasing scope

I architect my own projects to not need more than a simple data store and scrap ideas that dont fit that archetype




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

Search: