Inhaltsverzeichnis:
Video: Microsoft Azure OpenDev—June 2017 2024
Obwohl einige Funktionen bei NoSQL-Datenbanken ziemlich üblich sind (z. B. Schema-Agnostizismus und nicht-relationale Struktur) Es ist nicht ungewöhnlich, dass einer Datenbank eines oder mehrere der folgenden Merkmale fehlen und sie sich dennoch als moderne NoSQL-Datenbank qualifizieren.
Open-Source
NoSQL-Software ist einzigartig, weil die Open-Source-Bewegung die Entwicklung vorangetrieben hat und nicht einer Reihe von kommerziellen Unternehmen folgt. Sie finden daher eine Vielzahl von Open Source-NoSQL-Produkten für jeden Bedarf. Wenn Entwickler keine NoSQL-Datenbank für ihre Anforderungen finden konnten, erstellten sie eine und veröffentlichten sie zunächst als Open Source.
Die Mehrheit der populären NoSQL-Lösungen wird von kommerziellen Unternehmen betrieben, wobei die Open-Source-Variante nicht über die Schlüsselfunktionen verfügt, die für den unternehmenskritischen Einsatz in großen Unternehmen erforderlich sind.
Der Unterschied zwischen Open-Source-NoSQL-Anbietern und diesen vollständig kommerziellen Unternehmen besteht darin, dass Open-Source-Anbieter ein Geschäftsmodell haben, das dem Red-Hat-Modell ähnelt. Im Grunde veröffentlichen sie ein Open-Source-Produkt und verkaufen darüber hinaus Enterprise Add-On-Funktionen, Support und Implementierungsdienste.
Das ist keine schlechte Sache! Es ist jedoch erwähnenswert, dass die Mitarbeiter bei NoSQL nicht ausschließlich oder hauptsächlich von Open-Source-Entwicklern in ihrer Freizeit betreut werden, sondern für die kommerziellen Unternehmen hinter den Produkten arbeiten.
Käufer Vorsicht! Denken Sie bei der Auswahl einer NoSQL-Datenbank an "Total Cost of Ownership". "Viele Organisationen haben Open-Source-Produkte erworben, nur um herauszufinden, dass sie ein teures Abonnement benötigen, um die gewünschten Funktionen zu erhalten.
BASE versus ACID
Vor 2014 enthielt die Mehrheit der NoSQL-Definitionen keine ACID-Transaktionsunterstützung als definierendes Merkmal von NoSQL-Datenbanken. Das ist nicht mehr wahr.
ACID-konforme Transaktion bedeutet, dass die Datenbank so konzipiert ist, dass sie absolut keine Daten verliert:
-
Jede Operation verschiebt die Datenbank von einem gültigen Zustand in einen anderen ( A tomic).
-
Jeder hat zu jedem Zeitpunkt die gleiche Sicht auf die Daten ( C vorhanden).
-
Die Operationen in der Datenbank stören sich nicht gegenseitig ( I -Solation).
-
Wenn eine Datenbank sagt, dass sie Daten gespeichert hat, wissen Sie, dass die Daten sicher sind ( D ).
Nicht viele NoSQL-Datenbanken haben ACID-Transaktionen. Ausnahmen von dieser Norm sind FoundationDB, Neo4j und MarkLogic Server, die vollständig serialisierbare ACID-Transaktionen bereitstellen.
Weshalb ist die ACID-Konformität ein nicht alltägliches Merkmal?Als das Oracle RDBMS veröffentlicht wurde, bot es auch keine ACID-Konformität. Es dauerte sieben Versionen, bis die ACID-Kompatibilität über mehrere Datenbankupdates und Tabellen hinweg unterstützt wurde.
Wenn Sie sich die Roadmaps aller NoSQL-Datenbanken ansehen, sehen Sie, dass sich alle auf die Arbeit an der Transaktionskonsistenz beziehen. MongoDB beispielsweise hat im Herbst 2013 150 Millionen US-Dollar eingenommen, um diese und andere Unternehmensprobleme zu lösen. MongoDB hat eine neue ACID-kompatible Speicher-Engine angekündigt. Die ACID versus BASE-Debatte ist interessant.