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

I'm with you. I love SQL. I find it surprisingly expressive, despite having a rigid syntax. Some of my favorite projects that I've worked on thus far into life have been heavily SQL-based, and no successful code run has ever matched the thrill of seeing a SQL statement return what I expected.

I'd venture to say NoSQL has gained it's popularity because it's Magic(TM), and it works well with equally magical frameworks. For frameworks that don't have generators like ActiveRecord, NoSQL replaces the need to boringly write your models and database logic. It's like every Getting Started document on the Internet is having a race to the bottom, and people are falsely equating a quick start with a good framework. I have never picked a technology to work with because I could have a blog written in 10 minutes.



> I'd venture to say NoSQL has gained it's popularity because it's Magic

No, it's because to a first approximation, they aren't magic. Writing your queries in a more imperative style means that most developers can more easily reason about them, doubly so once they get more complicated.

You don't have to rely on generators or magic frameworks to generate SQL for you with a good document database. All your queries can quite reasonably be right there, and things like "get the document with the ID of foo" are already just one method call away.

Of course, most NoSQL databases have tradeoffs that are not obvious, while I believe all SQL databases stick to ACID. That's probably more of the problem than what query language is used.


> You don't have to rely on generators or magic frameworks to generate SQL for you with a good document database. All your queries can quite reasonably be right there, and things like "get the document with the ID of foo" are already just one method call away.

I guess the scenario I was thinking of was if somewhere were to sit down and learn Rails with no knowledge of programming, they don't also have to learn SQL in addition to Ruby and Rails and ERB and everything else bundled in because ActiveRecord takes care of the database for you. If they were learning Sinatra, as a comparison, they'd have to also learn some ORM-layer tool, which potentially abstracts the SQL, but may not. But if they do Mongoid or the like, then the database returns to Magic status. Change you schema? No problem.


Do you know of any good ACID NoSQL?




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

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

Search: