Talk:NoSQL

From Citizendium
Revision as of 15:42, 19 August 2010 by imported>Pat Palmer (→‎Pat's review of this article)
Jump to navigation Jump to search
This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
To learn how to update the categories for this article, see here. To update categories, edit the metadata template.
 Definition A number of non-relational distributed database architectures, usually that store data as key-value pairs. [d] [e]
Checklist and Archives
 Workgroup category Computers [Categories OK]
 Talk Archive none  English language variant American English

Just a question on an interesting topic

Only a personal interest, but to what extent do these use XML, or are the key-value relationships implemented more as type-length-value or something even simpler? --Howard C. Berkowitz 14:54, 28 July 2010 (UTC)

Useful article?

You may want to use ACID properties. Howard C. Berkowitz 02:29, 8 August 2010 (UTC)

Pat's review of this article

This is a great beginning. The article as it stands today is written at a high level of expertise--I learned a lot from reading it--and I appreciate the DOI in the reference list, plus the spare, lean and precise technical language employwed in many sections. Some comments, questions, and ideas for additional development are detailed in the following subsections (to be added shortly):

intended readers

This article is the product of one or more writer who appear to have a high level of technical expertise with databases in general, and who writes with admirable clarity and conciseness about technical matters. The article seems to assume that readers are already familiar with the capabilities of conventional relational database management systems, and also with map-reduce algorithms. While the technology being described is sufficiently complicated that much of the article probably may necessarily be beyond the scope of what an expert lay reader might understand, IMO it is still important to strive for satisfying both intelligent lay experts and deep subject experts. Perhaps there might be added some kind of statement about this in the overview at the beginning. It might also be useful to provide some history and market descriptive material near the top, before launching heavily into the tech speak.Pat Palmer 20:09, 19 August 2010 (UTC)

P. S., While I was able to follow most of the article, I am forced to admit that I am not sure what is meant by "ad hoc query". I could just Google it. It would also be great if the article briefly defined it (and other terms) on first use, or else pointed off to another article that contains a definition.Pat Palmer 20:38, 19 August 2010 (UTC)

intro

The nice intro would possibly be even better by providing a quick summary of when, where, why, who, etc. See next comment below about the history of this technology. Also, the surge of interest in the open source community as a result of recently create cloud computing technologies would fit will into the opening overview.Pat Palmer 20:25, 19 August 2010 (UTC)

code snippets

It is important that the two code snippets identify the language that they are written in. I can pretty much surmise that one is Java, and the other C (or C++), but it needs to be made explicit somewhere.Pat Palmer 20:36, 19 August 2010 (UTC)

semi-structured data

Wow, use of JSON to identify rather free-form data. After just reading the Semantic Web article, I am very curious to know whether there is (or could be some day) a relationship between semi-structured data and Semantic Web technologies. Or is there already, and I am just to new to these ideas to get it?Pat Palmer 20:41, 19 August 2010 (UTC)

history of NOSQL movement (a rant)

While the recent surge of activity in the NOSQL movement is a product of the emergence of cloud computing platforms by Google, the needs of social networking sites such as LinkedIn and Facebook, and the open source movement's interest in low-cost software, the technology has its roots in an earlier, high commercially successful product: Lotus Notes, first released in 1989 by a small group of developers (led by Ray Ozzie) in Boston. The product was eventually bought up by IBM and still enjoys widespread utilization today. I consulted for a few years on this really fantastic product, and what I see now is that much of the writing in Wikipedia and elsewhere in the NOSQL movement "glosses over" that fact that Lotus Notes DID IT FIRST, and in fact, it was a first in many other respects, such as role-based security, use of a totally optimistic non-locking strategy, provision for replication and off-line use of databases, automatic indexing, and automatic rendering of all database contents onto web pages. The article cited for the history buries Lotus Notes in the 1980's with a 2-line blurb. This is a glaring historical inaccuracy. The open source community is possibly overlooking Lotus Notes because it is not free (in fact, just like Oracle or SQL Server, one has to pay a fair amount for it), but this is no excuse to wrongly imply, for example, the Berkley DB (charmingly described in Wikipedia as created by "old school" and which dates, I believe, to 1996) is one of the first. Lotus Notes achieves its "distributed" name by non-cloud means (fast replication to local disks, and then remerging after edits). The product needs to be more prominently mentioned in any accurate history of a non-relational, distributed database architecture THAT ACTUALLY WORKS. The advent of today's cloud technologies such as Google's MapReduce platform has, of course, brought things to a new level. There, end of my rant. How could any younger person who wasn't there possibly know this? I'm telling you now. This article, to be really good, needs to address this glaring, well, injustice. Finally, DaaS (Database as a Service) is not particularly new. The use of the phrase is, though. Hosting services have been offering hosted relational databases and Lotus Notes databases "for hire" for a long time.Pat Palmer 20:25, 19 August 2010 (UTC)