There has definitely been more chatter about NoSQL in the Boston area lately. I hear there is a group forming around NoSQL ( I will post more details when I get them ). There were some NoSQL folks at the recent Cloud Camp which I was not able to attend (damn!).
My views on NoSQL are unchanged from an earlier post on the subject. I think there are some genuine issues about database scaling that are being addressed through a variety of avenues (packages, tools, …). But, in the end, the reason that SQL has survived for so long is because it is a descriptive language that is reasonably portable. That is also the reason why, in the data warehousing space, you have each vendor going off and doing some non-SQL extension in a totally non-portable way. And they are all going to, IMHO, have to reconcile their differences before the features get wide mainstream adoption.
This morning I read a well researched blog post by BJ Clark by way of Hacker News. (If you don’t use HN, you should definitely give it a try).
I strongly recommend that if you are interested in NoSQL, you read the conclusion section carefully. I have annotated the conclusion section below.
“NoSQL is a great tool, but it’s certainly not going to be your competitive edge, it’s not going to make your app hot, and most of all, your users won’t give a shit about any of this.
What am I going to build my next app on? Probably Postgres.
Will I use NoSQL? Maybe. [I would not, but that may just be my bias]
I might keep everything in flat files. [Yikes! If I had to do this, I’d consider something like MySQL CSV first]
If I need reporting, I won’t be using any NoSQL.
If I need ACIDity, I won’t use NoSQL.
If I need transactions, I’ll use Postgres.
NoSQL is a great stepping stone, what comes next will be really exciting technology. If what we need is a database that scales, let’s go make ourselves a database that scales. Base it on MySQL, PostgreSQL, … but please make it SQL based. Extend SQL if you have to. I really do like to be able to coexist with the rich ecosystem of visualization tools, reporting tools, dashboards, … you get the picture.
2 thoughts on “Look Ma! NoSQL!”
fwiw “Acidity” and “nosql” are not fully mutually exclusive. Many of the solutions out there have durability, and atomicity for certain operations (such as manipulations of single documents).
Understood, I tend to view ACID as being an all or nothing issue, especially the ability to make changes to multiple relations (tables) as a single atomic unit. Hence the comment re: ACID, but I understand what you are saying about single document (table) operations.