Einführung in NoSQL-Datenmodelle

Bevor wir uns mit Datenmodellen befassen, wollen wir zunächst verstehen, was NoSQL bedeutet. NoSQL ist nicht das einzige SQL, was bedeutet, dass Daten aus nicht relationalen Datenbanken abgerufen und gespeichert werden. Nun wollen wir sehen, welches Datenmodell ist. Ein Datenmodell definiert die logische Struktur des DBMS. Dies bedeutet im Grunde, dass es uns sagt, wie Daten miteinander verbunden sind, Beziehungen zwischen verschiedenen Entitäten und wie sie verarbeitet werden. Datenmodellierungstechniken unterscheiden sich sowohl für relationale als auch für nicht relationale Datenbanken. Der Hauptunterschied besteht darin, dass NoSQL-Datenmodelle im Vergleich zu SQL mehr anwendungsspezifische Abfragen haben.

Syntax mit Parametern

Die Syntax zum Schreiben einer NoSQL-Abfrage wird mit einem Beispiel angegeben. In diesem Beispiel rufen wir den Namen und das Alter aller Mitarbeiter mit der Bezeichnung Manager ab.

(
"object": "employee",
"q": (
"designation" : " Manager"
),
"fields": ("name", "age") )

Im obigen Beispiel haben wir das JSON-Formular zum Schreiben einer Abfrage verwendet. Das Schlüsselwort "object" wird zum Zuweisen eines Tabellennamens verwendet. Das Schlüsselwort "q" wird als WHERE-Bedingung verwendet. In unserem Fall muss eine Bedingung für die Bezeichnung gelten, da wir nur Mitarbeiter wünschen, deren Bezeichnung der Manager ist. Der Schlüssel "Feld" sind die Namen der Spalten, die wir basierend auf der Bedingung in "q" abrufen möchten. In unserem Fall sind die Spalten Name und Alter.

Die obige NoSQL-Abfrage sieht bei der Konvertierung in SQL wie folgt aus:

SELECT name, age
FROM employee
WHERE designation =' manager';

Die kürzeste Abfrage, die wir schreiben können, ist eine normale Auswahlabfrage in NoSQL:

(
"object": "String",
"q": "Expression"
)

Die obige Abfrage ist eine normale Auswahlabfrage.

Arten von NoSQL-Datenmodellen

Jetzt lernen wir die verschiedenen Arten von NoSQL-Datenmodellen kennen.

Im Allgemeinen gibt es in NoSQL vier verschiedene Arten von Datenmodellen. Sie sind wie folgt und wir werden sie einzeln besprechen.

  • Schlüsselwertspeicher
  • Dokumentenbasierter Speicher
  • Spaltenbasierter Speicher
  • Grafikbasierter Speicher

Gehen wir sie nun einzeln durch.

1. Schlüsselwertspeicher

  • Wie der Name schon sagt, verwendet der Schlüsselwertspeicher einfach den Schlüsselwert, um Daten in der Datenbank zu speichern. Der Schlüssel im Schlüssel-Wert-Paar muss eindeutig sein. Die Regeln, nach denen der Schlüssel die Länge für die Größe des Schlüssels haben kann, hängen von der Datenbank ab, in der sich die Datenbank befindet. In Redis beträgt die maximale Größe für Key beispielsweise 512 MB. Auch die leere Zeichenfolge ist ein gültiger Schlüssel.
  • Die Größe des Schlüssels ist hier wichtig, da ein langer Schlüssel Leistungsprobleme verursachen kann, während ein zu kurzer Schlüssel Lesbarkeitsprobleme verursachen kann. Der Wert im Schlüssel-Wert-Paar kann von einem String bis zu einem Bild reichen. Sie können hier auch den Datentyp des Werts angeben.
  • Das Schlüsselwert-Datenbankmodell kann nützlich sein, um Daten im E-Commerce wie Produktkategorien, Produktdetails usw. zu speichern. Diese werden häufig in der Big-Data-Analyse verwendet. Wir können sogar vollständige URLs speichern, da der URL-Name der Schlüssel und die tatsächliche URL als Wert sein kann. Beispiele für Datenbanken, die Schlüssel-Wert-Paare verwenden, sind Oracle NoSQL-Datenbanken und Redis.

2. Dokumentenbasiertes Speichern von NoSQL

  • In diesem Datenbanktyp werden der Datensatz und die zugehörigen Daten in einem einzigen Dokument gespeichert. Dieses Modell ist also nicht völlig unstrukturiert, sondern es handelt sich um eine Art semistrukturierte Daten.
  • Der Unterschied zwischen einem Dokument- und einem Schlüsselwertpaar besteht darin, dass beim Speichern von Dokumenttypen bei diesem Typ eine Codierung bereitgestellt wird, während die Daten in Dokumenten gespeichert werden. Dies kann eine XML-Codierung oder eine JSON-Codierung sein.
  • Das folgende Beispiel zeigt ein Dokument, das in einer Dokumentendatenbank mit einer anderen Codierung gespeichert werden kann. Schauen wir uns das XML-Beispiel an.


Srikanth Engineer
Febuary

Srikanth Engineer
Febuary

  • Der Unterschied zwischen herkömmlichen Datenbanken und dokumentenbasierten Datenbanken besteht darin, dass die Daten hier nicht wie bei herkömmlichen Datenbanken in Tabellen gespeichert werden, sondern in Dokumenten.
  • Beispiele für Datenbanken, die das oben genannte Datenmodell verwenden, sind MongoDB und Couchbase. Diese Datenbanktypen werden insbesondere in der Big-Data-Analyse häufig verwendet.

3. Spaltenbasierter Speicher

  • Bei diesem Datenbanktyp liegt der Fokus eher auf Spalten als auf Zeilen, da Daten in Spalten statt in Zeilen gespeichert werden, was bei den meisten relationalen Datenbanken der Fall ist. Da Daten in Zellen gespeichert werden, die in Spalten gruppiert sind, erfolgt das Lesen und Schreiben ausschließlich in Spalten und nicht in Zeilen.
  • Die interessante Frage ist, warum Spalten statt Zeilen verwendet werden. Die Antwort auf diese Frage lautet: Wenn Sie Daten in Spalten speichern, können Sie schnell suchen, abrufen und aggregieren, da alle Zellen einer Spalte als fortlaufender Eintrag gespeichert werden, der dann einen schnelleren Zugriff ermöglicht.
  • Wenn wir beispielsweise Titel von Millionen Artikeln abfragen möchten, ist es einfach, in das spaltenbasierte Datenmodell zu gelangen, da wir mit einem Platteneintrag die Titel des Artikels leicht erhalten, während sie in relationalen Datenbanken verworfen werden müssen zu jedem Ort, um die Titel zu bekommen. Beispiele für spaltenbasierte Geschäftsdatenbanken sind HBase, Big Table und Cassandra.

4. Graph-Based Store

  • Wie der Name schon sagt, wird anstelle von Tabellen oder Spalten eine grafische Darstellung verwendet. Das wichtige Merkmal dieser Art von Datenmodell ist das Vorhandensein von Knoten und Kanten. Die beiden Knoten sind beispielsweise mit einigen Beziehungen verbunden, und die Beziehung wird hier durch Kanten dargestellt.
  • Mit diesem NoSQL-Datenmodell auf Diagrammbasis können Sie auch Daten effizient von einem Modell in ein anderes umwandeln. Es gibt zwei häufig verwendete graphbasierte Datenbanken: InfoGrid und Infinite Graph. InfoGrid bietet auch zwei Arten von Graphdatenbanken wie MeshBase und NetMeshbase an, die Benutzer je nach den Anforderungen des Benutzers auswählen können.

Fazit

In diesem Artikel haben wir die NoSQL-Datenbank und verschiedene Typen von NoSQL-Modellen besprochen und diese Modelle einzeln besprochen. Die verschiedenen Arten von Datenbanken, die in den einzelnen Arten von Datenmodellen verfügbar sind. Die Popularität von NoSQL-Datenbanken nimmt aufgrund ihrer Geschwindigkeit und Effizienz mit jedem Tag zu.

Empfohlene Artikel

Dies ist eine Anleitung zu NoSQL-Datenmodellen. Hier diskutieren wir die Typen von NoSQL-Datenmodellen und die Syntax mit Parametern und Erklärungen. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren.

  1. Vorteile von NoSQL
  2. Ist MongoDB NoSQL
  3. Was ist Big Data-Technologie?
  4. Was ist Datenanalyse?