Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 Site Related Forums
 The Yak Corral
 noSQL

Author  Topic 

joe8079
Posting Yak Master

127 Posts

Posted - 2012-08-30 : 17:11:58
Has anyone had to learn noSQL for any reason? Do you think it will eventually replace relational databases? Just wondering.

tkizer
Almighty SQL Goddess

38200 Posts

Posted - 2012-08-30 : 17:48:08
No and no. Here is a perfect quote on this subject:

quote:

The essence of NoSQL is that it gets its scalability by giving up consistency and reliability. Trying to run NYSE or Visa on NoSQL is pointless.



My systems care about scalability, consistency and reliability. We can't use NoSQL.

Tara Kizer
Microsoft MVP for Windows Server System - SQL Server
http://weblogs.sqlteam.com/tarad/

Subscribe to my blog
Go to Top of Page

robvolk
Most Valuable Yak

15732 Posts

Posted - 2012-08-30 : 17:51:32
I haven't used it yet. I'm not as opposed to it as I was a year ago. They have their strengths and weaknesses just like relational DBs do, so it's not going to replace them anytime soon. Banks are still using COBOL originally written in the '70s, and I'm pretty sure no one is willing to do business with a bank who's data will be "eventually consistent".

I just saw an academic paper analyzing the most common NoSQL products, and many of them actually don't perform well on standalone server configurations. They don't start getting faster until the data is distributed over numerous servers, and they scale almost linearly. Cassandra was the best example of that.
Go to Top of Page

Transact Charlie
Master Smack Fu Yak Hacker

3451 Posts

Posted - 2012-08-31 : 08:57:33
Its a misconception that they necessarily 'replace' a relational database..

I've used a lot of different technologies that would fall into the nosql bracket and each one is good for a specific task (as you can probably tell from my sig)

Here's what I think a Relational database does poorly (if you have enough data):

1) Search. (as in web scale faceted search). Products such as Apache SOLR offer an incredible search function on indexed data including stemming lexical search etc.

2) Key Value Lookup. Products like Riak and Membase offer a real benefit at scale compared to a relational database.

3) Master / Master setups. If you need to combine changes on two (or more) masters you get problems quickly in the relational world. Products such as CouchDB have fantastic support for that.

On the other hand there are products like MongoDB and other document stores which offers incredible write performance and a lovely schema-less design at the cost of atomicity.

And then graph databases which look so cool but which I've never managed to get my head completely around.

It's horses for courses and everything is dependent on the workload and how much you care about consistency.

I work for a web company doing price comparison and we have a pretty uncommon attitude to data -- we have a lot of data which cover's quote information for different providers. This data changes all of the time but we don't really care if we miss an update or not. We don't *need* complete consistency.

So for a lot of our requirements nosql solutions work exceedingly well and there are so many products to choose from that are *free*

Sql Server has a lot of scale support in enterprise edition -- federated servers etc. However, I've never worked somewhere with that just because it costs so much money.

No SQL gives you a tremendous bang for your buck but it's like Linux, you need people who know what they are doing and finding people with the skills isn't so easy at the moment.

Transact Charlie
Msg 3903.. The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.
http://nosqlsolution.blogspot.co.uk/
Go to Top of Page

Transact Charlie
Master Smack Fu Yak Hacker

3451 Posts

Posted - 2012-08-31 : 09:03:06
quote:
Originally posted by tkizer

No and no. Here is a perfect quote on this subject:

quote:

The essence of NoSQL is that it gets its scalability by giving up consistency and reliability. Trying to run NYSE or Visa on NoSQL is pointless.



My systems care about scalability, consistency and reliability. We can't use NoSQL.

Tara Kizer
Microsoft MVP for Windows Server System - SQL Server
http://weblogs.sqlteam.com/tarad/

Subscribe to my blog


This just isn't true.

Like most other things in life, Scale-ability, Consistency and Reliability are choices you have to balance with whatever product you choose. Basically, in the main, you pick any two.....

For distributed systems the CAP theorem applies (replace reliability with partition tolerance and you are there).:
http://en.wikipedia.org/wiki/CAP_theorem

Transact Charlie
Msg 3903.. The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.
http://nosqlsolution.blogspot.co.uk/
Go to Top of Page

jackv
Master Smack Fu Yak Hacker

2179 Posts

Posted - 2012-08-31 : 10:03:52
It depends on the problem you're trying to solve. Systems that require severe horizontal scaling - and require optimizations around performance - benefit from NoSQL. It's basically a large flat file - with a different concept of schema.

Jack Vamvas
--------------------
http://www.sqlserver-dba.com
Go to Top of Page
   

- Advertisement -