SearchWiki
NoSQL.RecentChanges
Edit Page
Page Revisions
Groups available

CSA
Calendar
Main
NoSQL
People
PmWiki
PmWikiIt
PtvDev
RssFeeds
ScriptaVox
ScriptaWeb
ScriptaWiki

Quick links

TextFormattingRules
Edit Menu

Campaigns

NoSQL


A Relational Database Management System


NoSQL is a fast, portable, relational database management system without arbitrary limits, (other than memory and processor speed) that runs under, and interacts with, the UNIX1 Operating System. It uses the OperatorStreamParadigm? described in "Unix Review", March, 1991, page 24, entitled "A 4GL Language". There are a number of "operators" that each perform a unique function on the data. The "stream" is suplied by the UNIX Input/Output redirection mechanism. Therefore each operator processes some data and then passes it along to the next operator via the UNIX pipe function. This is very efficient as UNIX pipes are implemented in memory. NoSQL is compliant with the "Relational Model".

Table of Contents


Copyright

NoSQL RDBMS, Copyright (C) 1998,2006 Carlo Strozzi. Part of NoSQL code comes from RDB, a similar package written by W.Hobbs, an has been included in NoSQL with permission from the author.

NoSQL comes with ABSOLUTELY NO WARRANTY; for details refer to the GNU General Public License.


What is NoSQL

NoSQL, which I personally like to pronounce as noseequel, is a derivative of the RDB database system. The latter was developed at RAND Organization by Walter W. Hobbs. The few Perl scripts included with NoSQL are still very close the original RDB ones, so a good share of the credit for them goes to the original author.

Other major contributors to the original RDB system, besides W. Hobbs, are:

  • Chuck Bush
  • Don Emerson
  • Judy Lender
  • Roy Gates
  • Rae Starr

People who helped with turning RDB into NoSQL:

  • Vincenzo (Vicky) Belloli
  • David Frey
  • Giuseppe PaternĂ²
  • Maurizio (Masar) Sartori
  • Paul Lussier
  • Seth LaForge
  • Micah Stetson
  • Thomas Miller
  • Michael Somos

The NoSQL logo was kindly provided by Kyle Hart.

As its name implies, NoSQL is not an SQL database but rather a shell-level tool, as explained in PhilosophyOfNoSQL. NoSQL data is contained in regular UNIX ASCII files, and so can be manipulated by regular UNIX utilities, e.g. ls, wc, mv, cp, cat, head, more, less, editors like 'vi,' etc., as well as by powerful versioning systems, such as RCS and CVS.

The form of each file of data is that of a relation, or table, with rows and columns of information.

To extract information, a file of data is fed to one or more "operators" via the UNIX Input/Output redirection mechanism.

There are also programs to generate, modify, and validate the data. A more through discussion of why this type of relational database structure makes sense is found in the book, "UNIX Relational Database Management", in the references section.

It is assumed that the reader has at least a basic familiarity with the UNIX Operating System, including knowledge of Input/Outout redirection (e.g., STDIN, STDOUT, pipes).

NoSQL tends to be biased in favour of Linux. This means that, wherever it matters, NoSQL makes use of the GNU versions of the various UNIX commands, as those are the ones normally found on Linux. NoSQL is Free Software, released under the terms of the GNU General Public License. As such, it fully qualifies also as Open Source Software.


How to get NoSQL

NoSQL can be freely downloaded from http://www.scriptaworks.com/shared/nosql/. Make sure you get also any patches to the base code, for the version that you download. There is also a torrent file, if you prefer.

Starting from version 4.0.14 the NoSQL development repository was moved from CVS to Subversion. Authorized users can download the latest development code from ScriptaWorks' Subversion server:

 svn checkout --username anonymous svn://subversion.scriptaworks.com/pub/nosql/trunk

Authorized users can still download versions up to 4.0.13 from the development CVS server:

 cvs -d:pserver:anonymous@cvs.scriptaworks.com:/home/cvs login

When prompted for a password for anonymous, simply press the Enter key.

 cvs -z3 -d:pserver:anonymous@cvs.scriptaworks.com:/home/cvs co nosql

After downloading, you may want to log-out:

 cvs -d:pserver:anonymous@cvs.scriptaworks.com:/home/cvs logout


Support

There is a mailing list for discussions related to NoSQL. The address is noseequel@scriptaworks.com. To subscribe simply send a message to minimalist@scriptaworks.com with the phrase "subscribe noseequel" (without the quotes) in the subject of the message. The mailing list software is Minimalist, a MINImalist MAiling LIST Manager.

Please send bug reports (fixes are most welcome) to the same list noseequel@scriptaworks.com. Always include as much information as possible, especially the content of file nosql.version, which is created in the NoSQL installation directory during install. By "bug reports" I mean not just errors in the code, but also grammatical mistakes, typos, and bad English constructions in the documentation, as English isn't my native language.


Contributions

If you want to help with NoSQL by contributing your own code you are most welcome, but please read the NotesForContributors first.


About this Web site

Pages on this Web site are organized in the form of a WikiWikiWeb. These pages can be edited by any standard Web browser -- just click the "Edit Page" link on any page (try it in the WikiSandbox page).


References

  1. "Unix Review" magazine, March, 1991, page 24, "A 4GL Language".
  2. "UNIX Relational Database Management", R. Manis, E. Schaffer, R. Jorgensen, 1988, Prentice Hall.
  3. "The AWK Programming Language", Alfred V. Aho, Brian W. Kernighan and Peter J. Weinberger, 1988, Addison-Wesley.
  4. "Programming PERL", L. Wall, R. Schwartz, 1991, O'Reilly & Associates.
  5. "UNIX Shell Programming", L.J. Arthur, T. Burns, 1997, John Wiley & Sons.
  6. How Not To Re-Invent The Weel, by Larry Ayers.
  7. NoSQL Tutorial, by Giuseppe PaternĂ².
  8. Safely Creating Temporary Files in Shell Scripts, by David Isecke.
  9. See also the online paper Consultix Shell Quoting Guidelines.

1 UNIX is a registered trademark of The Open Group. All brand names, product names, or trademarks mentioned in this publication belong to their respective owners.

Edit Page - Page Revisions - WikiHelp - SearchWiki - RecentChanges - Printable version
Page last modified on September 03, 2003, at 17:03 (CEST)