GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

NoSQL-Datenbanktypen

Einführung

NoSQL ist eine Alternative zu herkömmlichen SQL-Datenbanken. Im Laufe der Zeit erwiesen sich relationale Datenbanken als unzureichend für bestimmte Anwendungsfälle. Diese Einschränkungen variierten je nach Anwendung, die sie unterstützen mussten.

Verschiedene Entwickler konzentrierten sich darauf, unterschiedliche Herausforderungen entsprechend ihren Bedürfnissen zu meistern. Als Ergebnis haben Sie jetzt verschiedene Arten von NoSQL-Datenbanken.

Dieses Tutorial konzentriert sich auf NoSQL-Datenbanktypen. Eine ausführlichere Anleitung zu NoSQL, seinen Funktionen und seiner Verwendung finden Sie in unserem Artikel Was ist NoSQL?

Arten von NoSQL-Datenbanken

Es gibt vier beliebte NoSQL-Datenbanktypen:

  1. Schlüsselwertdatenbanken
  2. Dokumentendatenbanken
  3. Wide-Column-Datenbanken
  4. Graph-Datenbanken

Schlüsselwertdatenbank

Schlüsselwertdatenbanken sind die einfachste Art von NoSQL-Datenbanken. Dank ihrer Einfachheit sind sie auch am besten skalierbar und ermöglichen die horizontale Skalierung großer Datenmengen.

Diese NoSQL-Datenbanken haben eine Dictionary-Datenstruktur, die aus einer Reihe von Objekten besteht, die Datenfelder darstellen. Jedem Objekt wird ein eindeutiger Schlüssel zugeordnet. Um Daten abzurufen, die in einem bestimmten Objekt gespeichert sind, müssen Sie einen bestimmten Schlüssel verwenden. Im Gegenzug erhalten Sie den dem Schlüssel zugewiesenen Wert (d. h. Daten). Dieser Wert kann eine Zahl, eine Zeichenfolge oder sogar ein anderer Satz von Schlüsselwertpaaren sein.

Im Gegensatz zu herkömmlichen relationalen Datenbanken benötigen Schlüsselwertdatenbanken keine vordefinierte Struktur. Sie bieten mehr Flexibilität beim Speichern von Daten und haben eine schnellere Leistung. Ohne auf Platzhalter angewiesen zu sein, sind Schlüsselwertdatenbanken eine einfachere Lösung, da sie weniger Ressourcen benötigen.

Solche Funktionalitäten eignen sich für große Datenbanken, die mit einfachen Daten umgehen. Daher werden sie häufig zum Caching verwendet , speichern , undBenutzersitzungen verwalten , Anzeigendienst , und Empfehlungen .

Redis, Project Voldemort und Riak sind nur einige Beispiele für Schlüsselwertdatenbanken.

Dokumentendatenbank

Eine Dokumentdatenbank ist eine Art NoSQL-Datenbank, die aus Sätzen von Schlüssel-Wert-Paaren besteht, die in einem Dokument gespeichert sind. Diese Dokumente sind grundlegende Dateneinheiten, die Sie aufgrund ihrer Funktionalität auch in Sammlungen (Datenbanken) gruppieren können.

Da es sich um eine NoSQL-Datenbank handelt, können Sie Daten problemlos speichern, ohne ein Schema zu implementieren. Sie können das Objektmodell in mehreren verschiedenen Formaten direkt in ein Dokument übertragen. Die am häufigsten verwendeten sind JSON, BSON und XML.

Hier ist ein Beispiel für ein einfaches Dokument im JSON-Format, das aus drei Schlüssel-Wert-Paaren besteht:

{
"ID" : "001",
"Name" : "John",
"Grade" : "Senior",
}

Darüber hinaus können Sie in solchen Formaten auch verschachtelte Abfragen verwenden, was eine einfachere Datenverteilung auf mehrere Festplatten und eine verbesserte Leistung ermöglicht.

Zum Beispiel können wir dem obigen Dokument eine verschachtelte Wertzeichenfolge hinzufügen:

{
 "ID" : "001",
 "Name" : "John",
 "Grade" : "Senior",
 "Classes" : {
      "Class1" : "English"
      "Class2" : "Geometry" 
      "Class3" : "History"
   } 
}

Dokumentendatenbanken sind aufgrund ihrer Struktur optimal für Anwendungsfälle, die Flexibilität und eine schnelle, kontinuierliche Weiterentwicklung erfordern. Sie können sie beispielsweise zum Verwalten von Benutzerprofilen verwenden , die sich je nach den bereitgestellten Informationen unterscheiden. Seine schemalose Struktur ermöglicht es Ihnen, verschiedene Attribute und Werte zu haben.

Beispiele für NoSQL-Dokumentdatenbanken sind MongoDB, CouchDB, Elasticsearch und andere.

Wide-Column-Datenbank

Wide-Column-Stores sind eine weitere Art von NoSQL-Datenbanken. In ihnen werden Daten gespeichert und in separat gespeicherte Spalten anstelle von Zeilen gruppiert. Solche Datenbanken organisieren Informationen in Spalten, die ähnlich wie Tabellen in relationalen Datenbanken funktionieren.

Im Gegensatz zu herkömmlichen Datenbanken sind Wide-Column-Datenbanken jedoch sehr flexibel. Sie haben keine vordefinierten Schlüssel oder Spaltennamen. Ihre schemafreie Eigenschaft ermöglicht die Variation von Spaltennamen sogar innerhalb derselben Tabelle sowie das Hinzufügen von Spalten in Echtzeit.

Der wichtigste Vorteil spaltenorientierter Datenbanken besteht darin, dass Sie große Datenmengen in einer einzigen Spalte speichern können. Mit dieser Funktion können Sie die Festplattenressourcen und die Zeit, die zum Abrufen von Informationen benötigt wird, reduzieren. Sie eignen sich auch hervorragend in Situationen, in denen Sie Daten auf mehrere Server verteilen müssen.

Beispiele für beliebte Datenbanken mit breiten Spalten sind Apache Cassandra, HBase und CosmoDB.

Grafikdatenbank

Graphdatenbanken verwenden eine flexible grafische Darstellung, um Daten zu verwalten.

Diese Graphen bestehen aus zwei Elementen:

  1. Knoten (zum Speichern von Datenentitäten)
  2. Kanten (zum Speichern der Beziehung zwischen Entitäten)

Diese Beziehungen zwischen Entitäten ermöglichen es, Daten im Speicher direkt miteinander zu verknüpfen und in vielen Fällen mit einem Vorgang abzurufen. Knoten und Kanten haben definierte Eigenschaften, und mithilfe dieser Eigenschaften können Sie Daten einfach abfragen.

Da diese Art der Datenspeicherung sehr spezifisch ist, handelt es sich nicht um eine häufig verwendete NoSQL-Datenbank. Es gibt jedoch bestimmte Anwendungsfälle, in denen grafische Darstellungen die beste Lösung sind. Beispielsweise verwenden soziale Netzwerke häufig Diagramme, um Informationen darüber zu speichern, wie ihre Benutzer verknüpft sind.

OrientDB, RedisGraph und Neo4j sind nur einige Beispiele für Graphdatenbanken, die Sie verwenden sollten.


Ubuntu
  1. Was ist eine NoSQL-Datenbank? – NoSQL erklärt

  2. So installieren Sie die Apache Cassandra NoSQL-Datenbank unter CentOS 8

  3. Zeigen Sie MySQL-Datenbanktypen in Bash an

  4. Verbindungseinstellungen für MySQL-Datenbanken

  5. Arbeiten mit cPanel MySQL-Datenbanken

So installieren Sie die ArangoDB NoSQL-Datenbank unter Ubuntu 18.04 LTS

So installieren Sie die Apache CouchDB NoSQL-Datenbank unter CentOS 8

So installieren Sie die RavenDB NoSQL-Datenbank unter Ubuntu 20.04

So installieren Sie die Apache Cassandra NoSQL-Datenbank unter Debian 11

So fügen Sie eine Datenbank hinzu (Plesk Control Panel)

Übersicht über verteilte Datenbanktypen und Sicherheit