Live data from Hacker News

NoSQL v. SQL is the worst holy war ever.

deserettechnology.com

51–59 of 59 posts

Re: NoSQL v. SQL is the worst holy war ever.

#51
post #49
post #15

Earlier quoted context omitted.

I agree with this, but I'd add that we developers tend to make an RDBMS do everything because it's what they're familiar with. NoSQL is an alternative to solve a specific problem, but you can't see that problem if you're ignorant of it. It's like my experience with SVN vs Git. I didn't know how useful and more efficient my workflow would be if I used branches, so I never saw why Git was useful. Sure I could branch in…

"SVN vs Git" An excellent comparative case in point that in my opinion actually undercuts what you are asserting. You do not lose features and functionality in that transition (where as noSQL is by design reductive), and further, Git is a replacement for SVN and not a complementary tool.

Actually you do lose functionality by going that way. SVN handles binaries better. I can also cherry-pick files from a directory structure, so if I need to fetch out a subfolder or an individual file, I can do so. With Git I must clone the repo or set up a web service so I can get access to the file system. But they're different tools for different audiences. In my environment, I do use both of these tools together.

The lesson Git, Ruby, Subversion, Apache, and many other projects have taught me is that instead of saying "What I have is fine, I don't need what you have", I need to ask "Why do you use what you use, why does it help you, and how might it help me?

Re: NoSQL v. SQL is the worst holy war ever.

#52
post #7
post #2

The whole idea with "NoSQL" is that you pick the best tool for the job. Most people that push RDBMS solutions try to shoehorn an RDBMS for every possible scenario. For modeling the majority of business data, an RDBMS is fine. There are many problems such as graphs, logs, lossy real-time data, etc that CAN be modeled in an RDBMS but shouldn't be.

I largely agree with this, but in my mind using an RDBMS for a sub-optimal task is not always shoehorning—it can be a powerful hedge. In an early stage startup you don't know what the final business model is going to be, or how your data will need to scale. Spending time researching and setting up optimized data stores for things that change drastically or never end up being important is a tremendous waste of time.

I suppose it could also be said that spending time designing relational schemas that will change drastically, then migrating data every time they do, is wasteful. Many non-relational databases allow quite a bit of flexibility in terms of incrementally changing structure as you learn about your business needs.

Not that I am in one camp or the other. We use both relational and non-relational databases where it makes sense. The more of each (both in choices and users), the better, so far as I am concerned.

Re: NoSQL v. SQL is the worst holy war ever.

#53
post #45

Earlier quoted context omitted.

The same argument about branches in source control can made about SQL itself. In my opinion, a large number of developers don't know how to code SQL properly and a lot are afraid of it. They end up using an RDBMS as nothing more than a dumb bit bucket -- often hidden behind increasingly complex abstractions. The NoSQL movement, unintentionally, lets these programmers feel superior about their lack of knowledge. I don…

I disagree. Lots of applications only require dumb bit buckets. There is no real sophistication or structure to the data. Anything more is over engineering for a large majority of products which data storage is not particularly useful or meaningful.

I worked on a system a couple of years ago where we ran calculations nightly and then we write the results of this calculation to a row in a table for caching purposes. This row was then fetched by another job to generate a PDF. We used SQL for this because Reporting Services could build a pdf from a row in a table.

It's not a good solution. This type of data doesn't need to be searchable. It's using a database server as a caching mechanism. That seems wrong. Seems like memcached, mongo, couch, or anything else would have been better.

Heck, people have been using memcached for a long time, and yet all of a sudden people don't see a use for NoSQL setups?

Are we sure we're not just doing the same old "Defend what you know" dance?

Re: NoSQL v. SQL is the worst holy war ever.

#54
> Relational databases scale. NoSQL databases scale.

This is simply not true, if we're talking about horizontal scalability (which is probably the most relevant kind of scaling these days, because it's the most cost-effective).

You can't add more nodes to an RDBMS, keep ACID, and get linear scalability. You just can't.

From what I know of CouchDB, you could scale it linearly if you manage the partitioning of data yourself according to load. But if your data distribution changes you're a bit screwed. My impression though is that most people just use CouchDB on a single machine.

For BigTable, on the other hand, it really is just a matter of adding or removing machines at any time and getting nearly linear scaling. The load is dynamically balanced between machines, so this is actually practical.

Are there ways of scaling an RDBMS architecture? Yes, but they involve giving up ACID (like having read-only replicas, for example).

So I'm not saying RDMBS's are bad, just that there is a real limitation here.

Re: NoSQL v. SQL is the worst holy war ever.

#56
post #50
post #28

Earlier quoted context omitted.

Interesting... how were the Crusades larger/worse than the muslim expansion all the way to Spain/Balkan/India? (Let us bunch the Crusades as one single example, at least for this argument.) (The Huns/Mongols were religiously tolerant and motivated by conquest, right?)

The Ottoman Empire was religiously tolerant and motivated by conquest as well. (The irony of the 20th century is that if the empire could have staved off its breakup for just a little longer, they would have had Iraq's oil wealth to back them up and very well could have developed into a modern superpower.)

A point, re muslim expansion to the Balkans. But still, just the Spain/Persia/Iran expansion makes the Crusades look like a tea party with centenarians.

But where the Ottomans religiously tolerant in all periods?

It seems the Turks where really disliked by their subjects (both in Middle East and in the Balkan), where did that come from, then?

Re: NoSQL v. SQL is the worst holy war ever.

#57
post #43
post #41

Earlier quoted context omitted.

Ubiquity

Both are in nearly every dictionary around. And given the base of "ubiquitous", I prefer adding a "ness" to denote a quality, which is extremely common in English and can even be applied to words that don't normally accept it, so it's an easy cognate. Something being cheesy == has cheesiness. "Ubiquity" is more of a hacked form of a word, as it removes from the base word. Though I admit it's shorter, thus may eventua…

Not to continue the content-free let-me-fix-that-for-ya sniping you're answering, but "ubiquity" dates back to 1579. It's a nice, old word, not a hack or neologism.

Nonetheless, both words are entirely proper, acceptable, and clear.

Re: NoSQL v. SQL is the worst holy war ever.

#58

I have that wish for humanity: I'd really like people to use words that are in proportion with what they describe. Things like: "we're dead" (when we just talk about loosing a contract or even closing one company), "it's totally catastrophic" (when someone cannot make it to a meeting, or the vegetables you had planned for dinner are not available anymore at the groceries). Come on. Talking about "worst holy war" for…

I think the article used "worst holy war" in the sense of "lamest". The (No)SQL "holy war" is just as dumb as any other computer-related "holy war" throughout our industry's short history (e.g., emacs/vi, Windows/Mac/Linux/Unix). It's as dumb as the arguments about who the best Captain of the Enterprise was.

It's as dumb as the arguments about who the best Captain of the Enterprise was.

Exactly. Everyone knows it was Patrick Stewart.

Re: NoSQL v. SQL is the worst holy war ever.

#59
post #56
post #50

Earlier quoted context omitted.

The Ottoman Empire was religiously tolerant and motivated by conquest as well. (The irony of the 20th century is that if the empire could have staved off its breakup for just a little longer, they would have had Iraq's oil wealth to back them up and very well could have developed into a modern superpower.)

A point, re muslim expansion to the Balkans. But still, just the Spain/Persia/Iran expansion makes the Crusades look like a tea party with centenarians. But where the Ottomans religiously tolerant in all periods? It seems the Turks where really disliked by their subjects (both in Middle East and in the Balkan), where did that come from, then?

Sigh, s/Iran/India/
Post reply on HN