Video: SQL vs NoSQL or MySQL vs MongoDB 2024
Von Adam Fowler
Als NoSQL-Entwickler ist die Auswahl der richtigen Produktkategorie und des richtigen Produkts der erste Schritt. Diese Handbücher vergleichen die wichtigsten Funktionen einiger der beliebtesten NoSQL-Datenbanken.
Bigtable- / Wide-Column-Store-Funktionen in NoSQL-Datenbanken
Bigtables-Klone sind eine Art von NoSQL-Datenbanken, die aus Googles wegweisendem Bigtable-Papier hervorgegangen sind. Bigtables sind eine sehr verteilte Möglichkeit, Tabellendaten zu verwalten. Diese Datentabellen stehen nicht miteinander in Beziehung, wie dies bei einem traditionellen relationalen Datenbankverwaltungssystem (RDBMS) der Fall wäre. Hier sind die wichtigsten Merkmale von populären Datenbankauswahlen.
Merkmalfläche | Accumulo | Cassandra | HBase | Hypertisch |
---|---|---|---|---|
ACID oder BASIS | SÄURE | BASIS | BASIS | SÄURE < HA Replicas |
Ja, Sync | Ja, Async | Ja, Sync | TBD | DR Replicas |
As HDFS | Ja, Asyn | Wie HDFS | TBD | Datentypen |
Keine Datentypunterstützung. | Ja, das Schema muss im Voraus definiert werden. | Keine Datentypunterstützung. | Keine Datentypunterstützung. | Datenindexierung |
Keine sekundäre Indexierung. | Keine echte "sekundäre Indexfunktion" - nur | erlaubt die Verwendung von Spalten in Abfragen - beschleunigt nicht die Datenabfrage
. Unterstützt Bloom-Filter. Keine Indexierung. |
Unterstützt Bloom-Filter.
Vollständige sekundäre Indizes. |
Abfrage und Suche |
Verwendet Map / Reduce für den Zugriff auf Daten. | CQL-Abfragesprache ähnlich wie SQL. | Verwendet Map / Reduce für den Zugriff auf Daten. Kann mit der Hive-Abfrage | Engine verwendet werden.
Wert exakte Übereinstimmung und Zeichenfolge "beginnt mit" Abfragen. |
Spalte enthält Abfragebegriff-Unterstützung. Keine Reichweite
Werbung |
Apache 2. Wird in der Regierung für sichere Bigtable-Anforderungen verwendet. | Kommerzielle Version von DataStax. | Apache 2. Verfügbar von einer Reihe von Hadoop-Anbietern. | GPL v3 lizenziert. | Andere |
Funktion für rollenbasierte Zugriffssteuerung (RBAC) und Zelle (pro Wert) | für behördliche Anwendungsfälle.
Benutzerdefinierte Authentifizierungs- und Autorisierungs-Plug-Ins sind verfügbar. Teilweise Verschlüsselung bei Restdaten in Accumulo 1. 6. (Zwischenwiederherstellungsdateien nicht verschlüsselt.) 0. 5-1. Für jeden Knoten werden 0 TB Daten empfohlen. SSD-Speicher |
empfohlen. 32 GB RAM und 4/8 Kerne empfohlen.
Empfohlenes AWS-System für 1 TB Daten ist 2. 2x groß (60 GB RAM + SSD Speicher) oder kleiner c3. 2 groß für 100 GB Daten. Unterstützung für die Verschlüsselung von Daten in Ruhe (jedoch nicht in Journalprotokollen). Wird als die langsamere der Hadoop-basierten NoSQL-Datenbanken angesehen. |
"Endpunkte" bieten eine Funktionalität ähnlich der gespeicherten
Prozeduren. Die adaptive Speicherzuweisungsfunktion stimmt die Verwendung des RAM |
für schreiblastige und schwer lesbare Anwendungen automatisch ab.
|
Schlüsselwertspeicher sind keine Schnörkel NoSQL-Datenbanken, die generell alle Wertverarbeitungen an den Anwendungscode selbst delegieren. Dies sind die Hauptmerkmale von gemeinsamen Schlüsselwert-Datenbanken.
Dokument-NoSQL-Datenbankfunktionen
Dokument-NoSQL-Datenbanken sind flexibel und schema-unabhängig, dh Sie können jede Art von Dokument laden, ohne dass die Datenbank die Struktur des Dokuments im Voraus kennen muss. Document NoSQL-Datenbanken unterstützen diese wichtigen Funktionen.
Couchbase | Microsoft-DokumentDB | MarkLogic-Server | MongoDB | ACID oder BASE |
---|---|---|---|---|
BASE | BASE, Konsistenzauswahl des Client-Treibers > ACID, vollständig serialisierbar | BASE, Konsistenzauswahl des Client-Treibers | HA Replicas | Nein |
Verwaltet durch Azure-Plattform. | Ja, Sync | Ja, Async (Standard) | DR Replicas | Ja, Master-Master, Async |
Wird von der Azure-Plattform verwaltet. | Ja, Async | Ja, Async | Datentypen | JSON-Dokumentmodell |
JSON-Dokumentmodell. Die gleichen Typen werden unterstützt wie JSON - | Zeichenfolge, Zahlen (IEEE754) und Boolesche Zeichen. Erweiterte Datums- / Zeiteinstellung, GUID, | Int64-Typen werden unterstützt.
XML-, JSON-, Text- und Binärdokumente werden unterstützt. Alle W3C XML Schemadatentypen werden unterstützt. |
JSON-Dokumentmodell. Gleiche Typen wie JSON. Unterstützung von 2D-Geodaten | Datenindizierung
Unterstützte sekundäre Indizes. Ansichten werden unterstützt. Kein universeller Index |
. Indizes wurden asynchron aktualisiert. | Universalindex für alle JSON-Dokumente. Der Universalindex
enthält die automatische Bereichsindexerkennung. Indizes schließlich |
konsistent, standardmäßig.
Universeller Index für alle Text-, XML- und JSON-Dokumente. Ansichten werden nicht unterstützt. Unterstützt Range-Indizes. In der |
ACID-Transaktion aktualisierte Indizes. Geodaten 2D-Indizes
Kein universeller Index. Sekundäre Indizes, die für benannte -Eigenschaften konfiguriert werden können. |
Abfrage und Suche
Memcached API wird vollständig unterstützt. Abfragen über Dokumente und Ansichten |
werden unterstützt. | Verwendet SQL über HTTP für Abfragen. Keine Freitextsuchgrammatik
unterstützt. Projektions- und Bereichsabfragen werden unterstützt. |
Freier Text (ähnlich Google-Suchfeld) Suchgrammatik und
strukturierte Anfragen werden unterstützt. Bereichsabfragen werden unterstützt. |
Aggregate können während einer Suche berechnet werden. Geospatial-Abfragen
werden unterstützt. Benutzerdefiniertes JSON-Abfrageformat mit Unterstützung für Bereichsabfragen. Nein Freitextsuche Grammatikunterstützung. Text und Geospatial (GeoJSON) |
-Anfragen werden unterstützt.
Commercials Nur kommerzielles Modell. Wird nur auf der Microsoft Azure |
-Plattform bereitgestellt. | Nur kommerzielles Modell.
AGPL lizenziert. Kommerzielle Lizenzen verfügbar. |
Andere | Microsofts Azure-Plattform verbirgt viele der Komplexitäten | |
der Skalierung einer großen Datenbank über mehrere geografische Regionen hinweg. | Bietet Meetups in einigen MarkLogic-Niederlassungen weltweit.
Sicherheitsmodell auf Dokumentebene implementiert. |
Starke Unterstützung für lokale Meetups in vielen MongoDB Büros
weltweit. 10 offizielle und 32 Community-Client-Treiber. |
Triple-Store- und Graph-NoSQL-Datenbankfunktionen
Sie können eine Triple-Store- oder Graph-NoSQL-Datenbank verwenden, wenn Sie ein Netz miteinander verbundener Daten haben oder Ihre Daten einfach markieren und Beziehungen nach den Datensätzen ableiten. Stichworte. Diese Datenbankprodukte unterstützen diese wichtigen Funktionen. |
Feature-Bereich
AllegroGraph
MarkLogic Server | Neo4j | OrientDB | ACID oder BASE | ACID, vollständig serialisierbar |
---|---|---|---|---|
ACID, vollständig serialisierbar | ACID, read committed < ACID, vollständig serialisierbar oder read committed | HA Replicas | Nein | Ja, Sync |
Nein | Ja, Sync | DR Replicas | Ja, Async | Ja, Async |
Ja, Sync (wenn verfügbar) | TBD | Datentypen | Unterstützt ganze Zahlen, vorzeichenlose ganze Zahlen, Gleitkommazahlen, Dezimalstellen, | sowie Zeit und Datum. |
JSON, binär, XML, Freitextspeicher unterstützt. Alle W3C-RDF- und |
XML-Schematypen werden unterstützt. Unterstützte Java-Datentypen |
JSON-, Binär- und RDF-Speicher werden unterstützt.
Datenindizierung |
Dreifache Indizes, die für Abfragen im Diagrammstil optimiert sind. 7 SPOGI | Indizes. |
Dreifacher Index, optimiert für bekannte Tiefenabfragen im Triple-Store-Stil | . 4 SPOGI-Indizes.
Dreifache Indizes, die für Abfragen im Diagrammstil (kürzester Pfad |
, Untergraph usw.) optimiert sind. 7 SPOGI-Indizes.
Hat einen eigenen dreifachen Index. Optimiert für Abfragen im Triple-Store-Stil |
.
Abfrage und Suche |
SPARQL 1. 0 und 1. 1 unterstützt. SPARQL-Inferenzierungsnotation
(SPIN) API unterstützt. |
SPARQL 1. 0 Konformität, SPARQL 1. 1 Teilkonformität (wird in der kommenden Version | fast konform sein). Inferenzunterstützung in
Version 8. |
Cypher-Abfragesprache bereitgestellt, ähnlich wie SQL. Keine Standards
unterstützen. Kürzester Pfad, Dijkstra- und A * -Grafikalgorithmen werden unterstützt. |
Kein W3C SPARQL- oder GraphStore-Protokoll unterstützt das Speichern oder
Abfragen von RDF-Daten. Hat eine eigene Abfragesprache. Commercials |
Nur kommerzielles Modell. Erhältlich bei Franz, Inc. Kostenlose Version
verfügbar, begrenzt auf 5 Millionen Triples. Entwicklerversion verfügbar |
begrenzt auf 50 Millionen Triples. | Nur kommerzielles Modell. Einstiegsversion "Essential
Enterprise" für kleine Cluster und "Global Enterprise" für große Cluster. |
Wird unter AGPL bereitgestellt. Kommerzielle Lizenz verfügbar. Ermäßigte
Startlizenz verfügbar. Bevorzugte kommerzielle Bedingungen für Startups. Die kommerzielle |
Unterstützung ist für Apache 2 lizenzierte Edition verfügbar, obwohl die Funktion
begrenzt ist. Alle Funktionen sind nur in der kommerziellen |
Version verfügbar.
Andere Dreistufige Sicherheit wird unterstützt. Online-Backups mit Point-in-Time-Recovery werden unterstützt. CLIF ++ und RDFS ++ unterstützt. |
Enthält eine Bibliothek für soziale Netzwerkanalyse (SNA). | Sicherheitsunterstützung auf Datensatzebene (Graph). Bietet Meetups in einigen
MarkLogic-Niederlassungen weltweit. Neo Technologies empfiehlt SSDs für gute Leistung. |
Sicherheitsunterstützung auf Datensatzebene (Graph).
|