Thread: NoSQL -vs- SQL

NoSQL -vs- SQL

From
Carlos Mennens
Date:
Just wondering how you guys feel about NoSQL and I just wanted to
share the following article...

http://www.linuxjournal.com/article/10770

Looking to read your feedback and / or opinions.

-Carlos

Re: NoSQL -vs- SQL

From
David Boreham
Date:
  On 10/11/2010 5:46 PM, Carlos Mennens wrote:
> Just wondering how you guys feel about NoSQL and I just wanted to
> share the following article...
>
> http://www.linuxjournal.com/article/10770
>
> Looking to read your feedback and / or opinions.
http://www.xtranormal.com/watch/6995033/
(warning: may not be sfw).



Re: NoSQL -vs- SQL

From
Rich Shepard
Date:
On Mon, 11 Oct 2010, Carlos Mennens wrote:

> Just wondering how you guys feel about NoSQL and I just wanted to share
> the following article...
>
> http://www.linuxjournal.com/article/10770
>
> Looking to read your feedback and / or opinions.

Carlos,

   I stopped reading LJ several years ago, but that's a very interesting
article ... for the first couple of pages. IMNSHO, there is no conflict
between SQL/RDBMS and the various flavors of NoSQL. It's a case of horses
for courses or vehicles for uses.

   You would probably not want to use a semi-tractor to run errands around
town, yet it's ideal for hauling three large semi-trailers across the
country on the Interstate Highway System. Similarly, you would not use a
spreadsheet to store and retrieve massive amounts of data (well, most of us
wouldn't) when a database is called for. And, despite what we see all too
frequently when biological data (of the bugs and bunnies variety) are
analyzed is the use of parametric statistics when the data are not
parametrically distributed, but most folks do not know non-parametric
equivalents and their Excel(R) spreadsheets don't have those formulae built
in.

   It appears from the article that NoSQL in its various incarnations is well
suited for some Web-based applications. For those applications it's better
by measures considered important by the application owners than the SQL
rdbms that have been used. It's not a case of one-size-solution-fits-all,
but of developing a better tool for a specific application or class of
applications.

   And that's my $2.00 worth.

Rich

Re: NoSQL -vs- SQL

From
Darren Duncan
Date:
Carlos Mennens wrote:
> Just wondering how you guys feel about NoSQL and I just wanted to
> share the following article...
>
> http://www.linuxjournal.com/article/10770
>
> Looking to read your feedback and / or opinions.

"NoSQL" is a brand name and the things it applies to are better called
distributed databases.  These things are complementary to ACID databases and
focused on different tasks; one isn't a replacement for the other.

Use an ACID database when you care more about absolute correctness in your data
and will accept greater scalability challenges in exchange when one machine
isn't enough for your workload.  Use "NoSQL" when scalability is more important
than correctness and your scalability need is greater than one machine can handle.

Some people would say that "NoSQL" is a contrast with relational databases but I
would say that in fact these things are orthogonal.  You can in fact use the
relational model of data over both an ACID database as over a "NoSQL" database,
just as you can use a key-value store over both as well.

Speaking for myself, my Muldis D object-relational database language is designed
to work over both kinds of DBMSs, although it emphasizes the ACID model.

-- Darren Duncan

Re: NoSQL -vs- SQL

From
Dann Corbit
Date:
> -----Original Message-----
> From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-
> owner@postgresql.org] On Behalf Of Carlos Mennens
> Sent: Monday, October 11, 2010 4:47 PM
> To: pgsql-general@postgresql.org
> Subject: [GENERAL] NoSQL -vs- SQL
>
> Just wondering how you guys feel about NoSQL and I just wanted to
> share the following article...
>
> http://www.linuxjournal.com/article/10770
>
> Looking to read your feedback and / or opinions.

NoSQL is ideal for situations where we have a single table with no children.
Consider something like FACEBOOK or the like, where there is a unique id for a single table, and there are jillions of
records.
We just want to find, insert, update or delete this entry and it has no parents or children.
A simple key/store database is all that is needed.

That is where the NoSQL model shines.


Re: NoSQL -vs- SQL

From
Scott Marlowe
Date:
On Mon, Oct 11, 2010 at 5:46 PM, Carlos Mennens
<carlos.mennens@gmail.com> wrote:
> Just wondering how you guys feel about NoSQL and I just wanted to
> share the following article...
>
> http://www.linuxjournal.com/article/10770
>
> Looking to read your feedback and / or opinions.

Here's my opinion.  Key-value store is NOT NEW.  Calling it a new name
(NoSQL) is kind of counter intuitive for me.  I've used key-value
stores since I wrote my first program in 1985.  For things like
session management they are great.  The label NoSQL covers way to much
to mean any one thing.  It's new speak for management.  If a key value
store works use it.  If a particular db /storage engine that happens
to not rely on sql does something well, then reference THAT db /
storage engine.

SQL database engine can be arbitrary enough that no one just says "we
use SQL", at least not in an engineering department.

memcached is a type of NoSQL db, and so are mongo, but they're
optimized for fundamentally different behavior and usage patterns.

When I talk about a particular SQL database, I name it.  Seldom do I
ever talk about the aggregate group that is "SQL Databases."  It's a
large and poorly defined set.

--
To understand recursion, one must first understand recursion.

Re: NoSQL -vs- SQL

From
"Peter C. Lai"
Date:
On 2010-10-11 05:57:37PM -0600, David Boreham wrote:
>   On 10/11/2010 5:46 PM, Carlos Mennens wrote:
> > Just wondering how you guys feel about NoSQL and I just wanted to
> > share the following article...
> >
> > http://www.linuxjournal.com/article/10770
> >
> > Looking to read your feedback and / or opinions.
> http://www.xtranormal.com/watch/6995033/
> (warning: may not be sfw).

Someone should (or probalby has) made one that sounds exactly the same,
except for replacign the Mongo guy with MySQL and the MySQL guy with
PostgreSQL. That might be more apopros all around ;)

--
===========================================================
Peter C. Lai                 | Bard College at Simon's Rock
Systems Administrator        | 84 Alford Rd.
Information Technology Svcs. | Gt. Barrington, MA 01230 USA
peter AT simons-rock.edu     | (413) 528-7428
===========================================================


Re: NoSQL -vs- SQL

From
Andy Colson
Date:
On 10/11/2010 8:50 PM, Scott Marlowe wrote:
> On Mon, Oct 11, 2010 at 5:46 PM, Carlos Mennens
> <carlos.mennens@gmail.com>  wrote:
>> Just wondering how you guys feel about NoSQL and I just wanted to
>> share the following article...
>>
>> http://www.linuxjournal.com/article/10770
>>
>> Looking to read your feedback and / or opinions.
>
> Here's my opinion.  Key-value store is NOT NEW.  Calling it a new name
> (NoSQL) is kind of counter intuitive for me.  I've used key-value
> stores since I wrote my first program in 1985.

Yep!  +1

I used "nosql" back in the dos days, using btrieve running on a novell
server.  Was pretty wicked fast... but... we had to store things with
horrible keys, because all the children needed the parent key + child
key + index.  sucked.

I hated writing reports, alot!  There was no sum or group by or joins..
ick.  I never want to go back.

Moving from key/value to relational db was like moving from a tricycle
to a 10-speed bike.

-Andy

Re: NoSQL -vs- SQL

From
Dave Page
Date:
On Tue, Oct 12, 2010 at 2:58 AM, Peter C. Lai <peter@simons-rock.edu> wrote:
> On 2010-10-11 05:57:37PM -0600, David Boreham wrote:
>>   On 10/11/2010 5:46 PM, Carlos Mennens wrote:
>> > Just wondering how you guys feel about NoSQL and I just wanted to
>> > share the following article...
>> >
>> > http://www.linuxjournal.com/article/10770
>> >
>> > Looking to read your feedback and / or opinions.
>> http://www.xtranormal.com/watch/6995033/
>> (warning: may not be sfw).
>
> Someone should (or probalby has) made one that sounds exactly the same,
> except for replacign the Mongo guy with MySQL and the MySQL guy with
> PostgreSQL. That might be more apopros all around ;)

Someone did indeed do that:
http://nigel.mcnie.name/blog/mysql-is-a-database (also nsfw, iirc)

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: NoSQL -vs- SQL

From
Chris Browne
Date:
carlos.mennens@gmail.com (Carlos Mennens) writes:
> Just wondering how you guys feel about NoSQL and I just wanted to
> share the following article...
>
> http://www.linuxjournal.com/article/10770
>
> Looking to read your feedback and / or opinions.

There's a lot there to agree with, and a lot to "not disagree" with.

A couple of places I'd dispute a bit...

  "So, what is the opposite of ACID? BASE (Basically Available,
   Soft-state, Eventual consistency), of course."

No, that's not the "opposite," by any means.

BASE represents a particular model for relaxation of the ACID model.
Indeed, it's more or less an academic codifying of the consequences of
systems like MQ-Series, which use message queues to allow several ACID
databases to talk to each other, relaxing the "total consistency" of
cross-DB transactions.

  "On the NoSQL side, the only thing in common is that there is nothing
  in common. Each NoSQL database has its own set of APIs, libraries and
  preferred languages for interacting with the data they contain. With
  an RDBMS, it is trivial to get data out in whatever format you need
  using whatever programming language you like best. Your choice of a
  NoSQL database might limit you to one or a handful of programming
  languages and access methods."

This is true, but is further, essentially, a step backwards into the way
databases were handled before SQL.  Back in the Old Days, your database
probably used IMS or CODASYL or some B-Tree library (hmm...  anything
similar here to SleepycatDB versus MongoDB versus Cassandra versus Tokyo
Cabinet?  :-)).

And the only way to extract that data was by writing a program to
traverse the data structure.  At best, you could choose between COBOL
and PL/1, and you'd have to write a separate program for each custom
retrieval.

The move from that to SQL was considered a big step *AHEAD*, because
SQL, being a declarative representation, was inherently a whole lot more
language/OS/framework-independent.  Whoops, "MongoDB is web scale"[1]
breaks all that.

"No schema" means there's no declarative representation, so the notion
of the same data being reusable without having to duplicate the
traversal logic goes away.

What I consider *particularly* bad is that this fails to recognize that
"NoSQL" represents, in considerable part, a throwback to the database
strategies of the 1960s that were consciously rejected in the adoption
of SQL.

[1]  http://andrewjstevens.com/2010/09/mongodb-is-web-scale/
--
(reverse (concatenate 'string "moc.liamg" "@" "enworbbc"))
"Any sufficiently complicated C or Fortran program contains an ad hoc
informally-specified bug-ridden slow implementation of half of Common
Lisp."  -- Philip Greenspun

Re: NoSQL -vs- SQL

From
merlyn@stonehenge.com (Randal L. Schwartz)
Date:
>>>>> "Carlos" == Carlos Mennens <carlos.mennens@gmail.com> writes:

Carlos> Looking to read your feedback and / or opinions.

Here's what I wrote on the Smalltalk Seaside mailing list a few weeks
back:


I've given a talk a few times about "forget the ORM".  The slides are up
on http://www.slideshare.net/RandalSchwartz/forget-the-orm

The key thing that separates a lot of these newer databases is that you
can't have all three of consistency, availability, and performance at
once... you have to sacrifice something.  Traditional SQL databases
favored consistency over everything, but who cares if your blog page
says "read the 6 comments on this item" for a couple of seconds when
there are really 7 because one just got added.

The new databases give options for higher availability or performance at
the cost of consistency.  Some, like Riak (interviewed at
http://twit.tv/floss129), actually let you select on each request how
consistent you want the results, thus controlling how fast you get the
response.  Thus, for the front page of a blog, you can say "give me a
result that any 1 of the 3 replicas has", but when you finally drill
into the comments, you say "give me a result that all 3 replicas agree
on".  Of course, these are all *eventually* consistent on the order of
tens or hundreds of milliseconds, but by allowing "almost correct"
results, things are a lot zippier.  (It also works that way on
write... you can say "come back when any 1 replica says it has it" or
"come back only when all 3 replicas confirm write".)

So, it's not so much that you get schemaless key/value store (although
that's a frequent feature)... it's that these aren't traditional
databases in a lot of ways.


--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.posterous.com/ for Smalltalk discussion

Re: NoSQL -vs- SQL

From
Rodrigo E. De León Plicet
Date:
On Mon, Oct 11, 2010 at 6:57 PM, David Boreham <david_list@boreham.org> wrote:
> http://www.xtranormal.com/watch/6995033/
> (warning: may not be sfw).

ROFLMAO!!!

Re: NoSQL -vs- SQL

From
Graham Leggett
Date:
On 12 Oct 2010, at 2:27 AM, Darren Duncan wrote:

> Some people would say that "NoSQL" is a contrast with relational
> databases but I would say that in fact these things are orthogonal.
> You can in fact use the relational model of data over both an ACID
> database as over a "NoSQL" database, just as you can use a key-value
> store over both as well.

We (a large UK media organisation) use both SQL and NoSQL on our
platform, and deploy each where it is most appropriate to do so.

We endure extremely high loads from time to time from thundering
herds, and to do this on a realistic budget, the NoSQL options give us
the performance required. To insulate ourselves from unstable nosql
interfaces, we defined a very simple HTTP based restful API to our
nosql database, giving us the option to swap out our nosql database at
a future date should we need to.

For years, SQL has been sold as a magic hammer to solve all database
problems, but as the size of the data exceeded the practical size of a
machine, and as internet audiences grew faster than the capacity of
individual servers, the need became apparent for more specific
database types that performed a far simpler job, far faster.

Regards,
Graham
--


Re: NoSQL -vs- SQL

From
Satoshi Nagayasu
Date:
On 2010/10/12 8:46, Carlos Mennens wrote:
> Just wondering how you guys feel about NoSQL and I just wanted to
> share the following article...
>
> http://www.linuxjournal.com/article/10770
>
> Looking to read your feedback and / or opinions.

Seems a nice article. I like it. :)

I think "NoSQL is a new implementation built with old technologies".
Computing paradigm (and the hype) is repeatable.

I know there are several trade-offs on making decisions of technology
design, such as "Traditional RDBMS", "In-Memory Datatabase",
"Key-Value Store" or something like that.

A few years ago, I heard that Michael Stonebraker said
"There is no new (theoretical) invention around the database technology.
The key is integration of existing technologies". I agree with that.
At that time, he was working for the C-store.

Anyway, NoSQL is grown as a kind of storage, not a database to process
business transactions (As the article mentioned, early MySQL users knew
an importance of web-scale storage). However, when NoSQL process more
critical transactions or critical user data, it needs to be ACID-compliant,
and needs to have several technologies around traditional RDBMSes.
For example, Cassandra is now having its write-ahead-logging.

So, from my viewpoint, NoSQL is a subset of traditional database
technologies, and I agree with that it would deliver values
in some use cases, because there are several trade-offs and overheads
on existing technologies in such use cases.

However, NoSQL is still lacking important features and/or properties to
process business transactions, and there are only few sites having needs
for true Facebook-size scalability.

Thanks,
--
NAGAYASU Satoshi <satoshi.nagayasu@gmail.com>

Re: NoSQL -vs- SQL

From
ghatpande@vsnl.net
Date:

Hi,

I liked the article.
A few years ago, I heard that Michael Stonebraker said  "There is no new (theoretical) invention around the database  technology.The key is integration of existing technologies". Everyone feels that RDBMS has reached saturation level and no further developemnt is possible. I do not agree with this.

I feel strongly that integration of existing technologies is possible. Inventions in RDBMS technology is possible. RDBMS should become INTELLIGENT.
CAP: Consistancy, Availability and Partition Tolerance should be achieved same time.

I have concepts in mind and need to work on the same and looking for sponcer.

Regards,

Vijay Ghatpande



----- Original Message -----
From: Satoshi Nagayasu <satoshi.nagayasu@gmail.com>
Date: Wednesday, October 13, 2010 8:43 am
Subject: Re: [GENERAL] NoSQL -vs- SQL
To: Carlos Mennens <carlos.mennens@gmail.com>
Cc: pgsql-general@postgresql.org

> On 2010/10/12 8:46, Carlos Mennens wrote:
> > Just wondering how you guys feel about NoSQL and I just wanted to
> > share the following article...
> >
> > http://www.linuxjournal.com/article/10770
> >
> > Looking to read your feedback and / or opinions.
>
> Seems a nice article. I like it. :)
>
> I think "NoSQL is a new implementation built with old technologies".
> Computing paradigm (and the hype) is repeatable.
>
> I know there are several trade-offs on making decisions of technology
> design, such as "Traditional RDBMS", "In-Memory Datatabase",
> "Key-Value Store" or something like that.
>
> A few years ago, I heard that Michael Stonebraker said
> "There is no new (theoretical) invention around the database
> technology.The key is integration of existing technologies". I
> agree with that.
> At that time, he was working for the C-store.
>
> Anyway, NoSQL is grown as a kind of storage, not a database to process
> business transactions (As the article mentioned, early MySQL users
> knewan importance of web-scale storage). However, when NoSQL
> process more
> critical transactions or critical user data, it needs to be ACID-
> compliant,and needs to have several technologies around
> traditional RDBMSes.
> For example, Cassandra is now having its write-ahead-logging.
>
> So, from my viewpoint, NoSQL is a subset of traditional database
> technologies, and I agree with that it would deliver values
> in some use cases, because there are several trade-offs and overheads
> on existing technologies in such use cases.
>
> However, NoSQL is still lacking important features and/or
> properties to
> process business transactions, and there are only few sites having
> needsfor true Facebook-size scalability.
>
> Thanks,
> --
> NAGAYASU Satoshi <satoshi.nagayasu@gmail.com>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

Re: NoSQL -vs- SQL

From
Chris Browne
Date:
dpage@pgadmin.org (Dave Page) writes:
> On Tue, Oct 12, 2010 at 2:58 AM, Peter C. Lai <peter@simons-rock.edu> wrote:
>> On 2010-10-11 05:57:37PM -0600, David Boreham wrote:
>>>   On 10/11/2010 5:46 PM, Carlos Mennens wrote:
>>> > Just wondering how you guys feel about NoSQL and I just wanted to
>>> > share the following article...
>>> >
>>> > http://www.linuxjournal.com/article/10770
>>> >
>>> > Looking to read your feedback and / or opinions.
>>> http://www.xtranormal.com/watch/6995033/
>>> (warning: may not be sfw).
>>
>> Someone should (or probalby has) made one that sounds exactly the same,
>> except for replacign the Mongo guy with MySQL and the MySQL guy with
>> PostgreSQL. That might be more apopros all around ;)
>
> Someone did indeed do that:
> http://nigel.mcnie.name/blog/mysql-is-a-database (also nsfw, iirc)

Alas, while it's somewhat funny, it's mighty clear that it's a
second-degree derivation, which rather diminishes its power.

It gets confused as to who's the questioner, which yanks some sense out
of it.  At the start, the MySQL aficionado is the speaker, taking
questions, but at the end, somehow the Postgres guy ends up thanking
everyone for their questions.

To make this work requires that it be rather carefully done; sadly,
sufficient care doesn't seem to have been taken :-(.
--
output = ("cbbrowne" "@" "gmail.com")
http://linuxfinances.info/info/x.html
In case you weren't aware, "ad homineum" is not latin for "the user of
this technique is a fine debater." -- Thomas F. Burdick

Re: NoSQL -vs- SQL

From
David Fetter
Date:
On Tue, Oct 19, 2010 at 12:36:44PM -0400, Chris Browne wrote:
> dpage@pgadmin.org (Dave Page) writes:
> > On Tue, Oct 12, 2010 at 2:58 AM, Peter C. Lai <peter@simons-rock.edu> wrote:
> >> On 2010-10-11 05:57:37PM -0600, David Boreham wrote:
> >>>   On 10/11/2010 5:46 PM, Carlos Mennens wrote:
> >>> > Just wondering how you guys feel about NoSQL and I just wanted to
> >>> > share the following article...
> >>> >
> >>> > http://www.linuxjournal.com/article/10770
> >>> >
> >>> > Looking to read your feedback and / or opinions.
> >>> http://www.xtranormal.com/watch/6995033/
> >>> (warning: may not be sfw).
> >>
> >> Someone should (or probalby has) made one that sounds exactly the same,
> >> except for replacign the Mongo guy with MySQL and the MySQL guy with
> >> PostgreSQL. That might be more apopros all around ;)
> >
> > Someone did indeed do that:
> > http://nigel.mcnie.name/blog/mysql-is-a-database (also nsfw, iirc)
>
> Alas, while it's somewhat funny, it's mighty clear that it's a
> second-degree derivation, which rather diminishes its power.
>
> It gets confused as to who's the questioner, which yanks some sense out
> of it.  At the start, the MySQL aficionado is the speaker, taking
> questions, but at the end, somehow the Postgres guy ends up thanking
> everyone for their questions.
>
> To make this work requires that it be rather carefully done; sadly,
> sufficient care doesn't seem to have been taken :-(.

Maybe they stored it in MySQL ;)

Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: david.fetter@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate