Jump to content

Strozzi NoSQL

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Sae1962 (talk | contribs) at 08:28, 5 April 2011 (Added a new article stub). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

NoSQL (read sometimes as noseequel) is a relational database management system that is fast and portable. It is a shell-level tool. It does not have arbitrary limits besides microprocessor speed and memory. NoSQL runs under the UNIX operating system.[1] In contrast to the NoSQL concept, which proposes distributed data stores that cannot use SQL at all, NoSQL intentionally avoids the usage of this language.

Construction

NoSQL uses the operator-stream paradigm, where a number of "operators" perform a unique function on the passed data. The stream used is supplied by the UNIX input/output redirection system so that operators can pass the result of their calculation over the pipe system to other operators. As the UNIX pipes operate in memory, this is a very efficient way of implementing the operators.[1]

NoSQL is written mostly in interpretive languages that makes it not the fastest RDBMS.[2]

Philosophy

The reasons of avoiding SQL are the following:"[2]

  1. Complexity: Most commercial database products are often too costly for minor projects, and free databases are too complex. They also do not have the shell-level approach that NoSQL has.
  2. Portablility:
    1. Data: The data from NoSQL can easily ported to other types of machines, like Macintoshes or MS-DOS computers.
    2. Software: NoSQL can run on any UNIX machine that has the PERL and the AWK programming languages installed, and perhaps even on the Cygwin UNIX-like environment for Microsoft Windows.
  3. Unlimited: NoSQL has no arbitrary limits, like a data field size, column number, of file size limit, and can principally work where other products cannot. (Number of columns in a table may actually be limited to 32.768 by some implementations of the AWK1 programming language).
  4. Usability: With its straight forward and logical concept, NoSQL is can easily be used by non-computer people. For instance, rows of data are selected with the 'row' operator, columns with the 'column' operator.

In contrast to other RDBMS, NoSQL has the full full power of UNIX during application development and usage. Its user interface uses the UNIX shell. So, it is not necessary to learn a set of new commands to administer the database. From the view of NoSQL, the database is not more than a set of files similar to any other user file. No scripting or other type of database language is used besides the UNIX shell. This shell-nature encourages casual use of this database, which makes it's use familiar, resulting in formal use. In other words, NoSQL is a set of shell routines that access normal files of the operating system.[2]

References

  1. ^ a b "NoSQL: a non-SQL RDBMS". http://www.strozzi.it/. {{cite web}}: External link in |location= (help); Unknown parameter |accessdata= ignored (help)
  2. ^ a b c "NoSQL: a non-SQL RDBMS: Why NoSQL, in the first place?". http://www.strozzi.it/. A good question one could ask is "With all the relational database management systems available today, why do we need another one ?". The main reasons are:
    1. Several times I have found myself writing applications that needed to rely upon simple database management tasks. Most commercial database products are often too costly and too feature-packed to encourage casual use. There is also plenty of good free databases around, but they too tend to provide far more than I need most of the times, and they too lack the shell-level approach of NoSQL. Admittedly, having been written mostly with interpretive languages (Shell, Perl, AWK), NoSQL is not the fastest DBMS of all, at least not always (a lot depends on the application).
    2. NoSQL is easy to use by non-computer people. The concept is straight forward and logical. To select rows of data, the 'row' operator is used; to select columns of data, the 'column' operator is used.
    3. The data is highly portable to and from other types of machines, like Macintoshes or DOS computers.
    4. The system should run on any UNIX machine (that has the PERL and the AWK Programming Languages installed). Some users have reported it to work also on the Cygwin UNIX-like environment for Microsoft Windows.
    5. NoSQL essentially has no arbitrary limits and, at least in principle, it can work where other products can't. For example there is no limit on data field size, the number of columns, or file size (the number of columns in a table may actually be limited to 32.768 by some implementations of the AWK1 programming language). {{cite web}}: External link in |location= (help); Unknown parameter |accessdata= ignored (help); line feed character in |quote= at position 156 (help)

See also