NoSQL

Autor: Robert Simon
Erstelldatum: 19 Juni 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
Что такое NoSQL за 6 минут
Video: Что такое NoSQL за 6 минут

Inhalt

Definition - Was bedeutet NoSQL?

NoSQL ist eine Klasse von Datenbankverwaltungssystemen (DBMS), die nicht allen Regeln eines relationalen DBMS entsprechen und kein herkömmliches SQL zum Abfragen von Daten verwenden können. Der Begriff ist etwas irreführend, wenn er als "Kein SQL" interpretiert wird, und die meisten übersetzen ihn als "Nicht nur SQL", da dieser Datenbanktyp im Allgemeinen kein Ersatz ist, sondern eine ergänzende Ergänzung zu RDBMS und SQL.


NoSQL-basierte Systeme werden normalerweise in sehr großen Datenbanken verwendet, die besonders anfällig für Leistungsprobleme sind, die durch die Einschränkungen von SQL und das relationale Datenbankmodell verursacht werden. Viele halten NoSQL für die moderne Datenbank ihrer Wahl, die sich an die Webanforderungen anpasst. Einige bemerkenswerte Implementierungen von NoSQL sind die Cassandra-Datenbank, Googles BigTable und Amazons SimpleDB und Dynamo.

Eine Einführung in Microsoft Azure und die Microsoft Cloud | In diesem Handbuch erfahren Sie, worum es beim Cloud-Computing geht und wie Microsoft Azure Sie bei der Migration und Ausführung Ihres Unternehmens aus der Cloud unterstützen kann.

Techopedia erklärt NoSQL

Eine NoSQL-Datenbank folgt nicht unbedingt den strengen Regeln für Transaktionen in relationalen Datenbanken. Diese verletzten Regeln sind unter dem Akronym ACID (Atomicity, Consistency, Integrity, Durability) bekannt. Beispielsweise verwenden NoSQL-Datenbanken keine festen Schemastrukturen und SQL-Joins.


In einem herkömmlichen RDBMS sind die Grundoperationen Lesen und Schreiben. Lesevorgänge können skaliert werden, indem Daten auf mehrere Maschinen repliziert werden, wodurch Leseanforderungen ausgeglichen werden. Dies wirkt sich jedoch auf Schreibvorgänge aus, da die Datenkonsistenz beibehalten werden muss. Nur Schreibvorgänge können durch Partitionieren der Daten skaliert werden. Dies wirkt sich auf Lesevorgänge aus, da verteilte Joins normalerweise langsam und schwer zu implementieren sind. Um die ACID-Eigenschaften beizubehalten, müssen Datenbanken außerdem Daten sperren. Das heißt, wenn ein Benutzer ein Datenelement öffnet, sollte kein anderer Benutzer in der Lage sein, Änderungen an demselben Element vorzunehmen. Diese Einschränkung hat schwerwiegende Auswirkungen auf die Leistung.

Diese Einschränkungen waren in der Vergangenheit kein großes Problem. Mit dem Aufkommen von Social Networking und Big Data waren jedoch eine Reihe von riesigen Datenbanken gezwungen, die Dutzende oder sogar Hunderte von Millionen Kunden auf der ganzen Welt mit mehreren Tausend Lese- und Schreibvorgängen pro Minute zu bedienen. Herkömmliche RDBMS erfüllen diese Anforderung einfach nicht, da sie nur die Ressourcen auf einem zentralen Server "skalieren" oder erhöhen können. Andererseits kann eine NoSQL-Implementierung die Datenbanklast auf mehrere Server "skalieren" oder verteilen.


NoSQL-Datenbanken konzentrieren sich auf bestimmte Problemklassen - von flexibler in Bezug auf gespeicherte Daten (Dokumentenspeicher) über das Targeting von Anwendungsfällen wie Beziehungen (Diagrammdatenbanken) und das Aggregieren von Daten (Spaltendatenbanken) bis hin zur Vereinfachung der Datenbankidee etwas, das einen Wert speichert (Schlüssel / Wert speichert).

NoSQL-Datenbanken bieten die Vorteile einer schnellen Skalierbarkeit, einer viel besseren Leistung und einer einfacheren Struktur im Vergleich zu RDBMS. Sie sind jedoch auch eine relativ neue und unerprobte Technologie und können keine RDBMS-reichen Berichts- und Analysefunktionen bereitstellen.

Diese Definition wurde in den con von Database geschrieben