Thread: 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. -Carlos
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).
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
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
> -----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.
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.
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 ===========================================================
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
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
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
>>>>> "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
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!!!
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 --
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>
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
>
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
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