Strozzi NoSQL (RDBMS)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

NoSQL (wird manchmal auch nosequel gelesen) ist ein von Carlo Strozzi entwickeltes portables relationales Datenbankverwaltungssystem. Es ist eigentlich ein Softwarewerkzeug auf Unix-Shell-Ebene, das keine willkürlichen Einschränkungen hat, außer der Mikroprozessorgeschwindigkeit und der elektronischen Speichergröße. NoSQL läuft unter dem Betriebssystem UNIX.[1] Im Gegensatz zum NoSQL-Konzept, das eine verteilte Datenbank verwendet, die SQL überhaupt nicht verwenden kann, vermeidet NoSQL absichtlich diese Sprache.

Aufbau[Bearbeiten]

NoSQL verwendet das Operator-Datenstrom-Paradigma, wo eine Anzahl von „Operatoren“ auf die übergebenen Daten eine eindeutige Funktion ausführen. Der verwendete Datenstrom wird vom UNIX Ausgaben-Eingabenumleitungssystem zur Verfügung gestellt, sodass Operatoren das Berechnungsergebnis über das Pipe-System des Betriebssystems anderen Operatoren übergeben können. Weil die UNIX-Pipes im elektronischen Speicher laufen, ist dies ein sehr effizienter Weg, Operatoren zu implementieren.[1][2][3]

NoSQL ist zum Großteil in interpretativen Sprachen geschrieben, wodurch diese Datenbank nicht zum schnellsten RDBMS geworden ist.[4]

Philosophie[Bearbeiten]

Aus folgenden Gründen wurde bei NoSQL von SQL Abstand genommen:"[4]

  1. Komplexität: Die meisten kommerziellen Datenbankprodukte sind für Kleinprojekte zu kostenintensiv, oder bei quelloffenen Datenbanken zu komplex. Auch verfolgen sie nicht den Ansatz, auf Shell-Ebene vorzugehen.
  2. Portabilität:
    1. der Daten: Die Daten von NoSQL können einfach auf andere Maschinen wie z. B. Macintosh- oder MS-DOS-Rechner portiert werden.
    2. der Software: NoSQL kann auf allen UNIX-Maschinen laufen, die PERL und die AWK Programmiersprache installiert haben, möglicherweise sogar auch auf Cygwin, der UNIX-ähnlichen Umgebung für Microsoft Windows.
  3. Uneingeschränktheit: NoSQL wird durch keinerlei willkürlichen Grenzen wie Datenfeldgröße, Spaltenanzahl, Dateigröße eingeschränkt. Prinzipiell kann es überall dort noch funktionieren, wo andere Produkte versagen. (Die Spaltenanzahl einer Tabelle könnte bei der AWK1-Programmiersprache mit 32.768 eingeschränkt sein.)
  4. Benutzerfreundlichkeit: Mit seinem unkomplizierten logischen Konzept kann NoSQL auch von Menschen benutzt werden, die sich mit Rechnern nicht auskennen. Z. B. werden Datenreihen mit dem 'row'-Operator ausgewählt, Datenspalten mit 'column'.

Im Gegensatz zu anderen RDBMS kann NoSQL von den Stärken von UNIX während der Anwendungsentwicklung und der Nutzung voll profitieren. Die Benutzerschnittstelle verwendet die UNIX-Shell. Somit ist es nicht notwendig, eine neue Menge von Befehlen zu erlernen, um die Datenbank zu verwalten. Aus der NoSQL-Sicht ist die Datenbank nicht mehr als eine Menge von Dateien, die anderen beliebigen Benutzerdateien ähnlich sind. Keinerlei Skriptsprache o. Ä. wird außer der UNIX-Shell verwendet. Diese shell-Natur ermutigt die gelegentliche Verwendung der Datenbank, wodurch ihr Gebrauch geläufig wird. Schließlich kommt sie auch in professionellen Projekten zum Einsatz. Mit anderen Worten ist NoSQL eine Menge von UNIX-Shell-Routinen, die auf normale Dateien des Betriebssystems zugreifen.[4]

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. a b NoSQL: a non-SQL RDBMS. Abgerufen am 5. April 2011.
  2. NoSQL RDBMS. Ehcache Tutorial - EHCACHE, OSACHE, MEMCAHED. Abgerufen am 6. April 2011: „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 UNIX Operating System. It uses the "Operator-Stream Paradigm" 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 supplied 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".“
  3. NoSQL RDBMS. twit88.com. Abgerufen am 6. April 2011: „The key feature of NoSQL (and other similar packages mentioned in this manual), is its close integration with UNIX. Real-world problems are typically more complex than the data models provided by many DBMS. Actual applications, and Web-based ones are no exception, are complex puzzles made up of many small pieces, several of which are data-related. Unlike other fourth generation systems, NoSQL is an extension of the UNIX environment, making available the full power of UNIX during application development and usage.“
  4. a b c NoSQL: a non-SQL RDBMS: Why NoSQL, in the first place?. Abgerufen am 5. April 2011: „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).“