BASE-Modell der Datenbankentwicklung

Inhaltsverzeichnis:

BASE-Modell der Datenbankentwicklung
BASE-Modell der Datenbankentwicklung
Anonim

Relationale Datenbanken sind im Kern auf Zuverlässigkeit und Konsistenz ausgelegt. Die Ingenieure, die sie entwickelt haben, konzentrierten sich auf ein Transaktionsmodell, das sicherstellt, dass die vier Prinzipien des ACID-Modells immer erh alten bleiben. Das Aufkommen eines neuen unstrukturierten Datenbankmodells stellt ACID jedoch auf den Kopf. Das NoSQL-Datenbankmodell vermeidet das stark strukturierte relationale Modell zugunsten eines flexiblen Key/Value-Store-Ansatzes. Dieser unstrukturierte Umgang mit Daten erfordert eine Alternative zum ACID-Modell: das BASE-Modell.

Image
Image

Grundsätze des ACID-Modells

Es gibt vier Grundprinzipien des ACID-Modells:

  • Die Atomizität von Transaktionen stellt sicher, dass jede Datenbanktransaktion eine einzelne Einheit ist, die einen „Alles-oder-Nichts“-Ansatz für die Ausführung annimmt. Wenn eine Anweisung in der Transaktion fehlschlägt, wird die gesamte Transaktion rückgängig gemacht.
  • Relationale Datenbanken stellen auch die Konsistenz jeder Transaktion mit den Geschäftsregeln der Datenbank sicher. Wenn irgendein Element einer atomaren Transaktion die Konsistenz der Datenbank stören würde, schlägt die gesamte Transaktion fehl.
  • Die Datenbank-Engine erzwingt Isolation zwischen mehreren Transaktionen, die gleichzeitig oder nahezu gleichzeitig stattfinden. Jede Transaktion findet entweder vor oder nach jeder anderen Transaktion statt, und die Ansicht der Datenbank, die eine Transaktion zu Beginn sieht, wird nur durch die Transaktion selbst vor ihrem Abschluss geändert. Keine Transaktion sollte jemals das Zwischenprodukt einer anderen Transaktion sehen.
  • Das abschließende ACID-Prinzip, Dauerhaftigkeit, stellt sicher, dass eine einmal in die Datenbank übertragene Transaktion durch die Verwendung von Backups und Transaktionsprotokollen dauerhaft erh alten bleibt. Im Falle eines Fehlers können diese Mechanismen verwendet werden, um festgeschriebene Transaktionen wiederherzustellen.

Kernprinzipien von BASE

NoSQL-Datenbanken hingegen umfassen Situationen, in denen das ACID-Modell übertrieben ist oder den Betrieb der Datenbank tatsächlich behindern würde. Stattdessen stützt sich NoSQL auf ein weicheres Modell, das passenderweise als das BASE-Modell bekannt ist. Dieses Modell berücksichtigt die Flexibilität, die NoSQL und ähnliche Ansätze für die Verw altung und Pflege unstrukturierter Daten bieten. BASE besteht aus drei Prinzipien:

  • Grundlegende Verfügbarkeit Der NoSQL-Datenbankansatz konzentriert sich auf die Verfügbarkeit von Daten auch bei mehreren Ausfällen. Dies wird durch einen stark verteilten Ansatz für die Datenbankverw altung erreicht. Anstatt einen einzigen großen Datenspeicher zu verw alten und sich auf die Fehlertoleranz dieses Speichers zu konzentrieren, verteilen NoSQL-Datenbanken Daten mit einem hohen Grad an Replikation auf viele Speichersysteme. In dem unwahrscheinlichen Fall, dass ein Ausfall den Zugriff auf ein Datensegment unterbricht, führt dies nicht unbedingt zu einem vollständigen Datenbankausfall.
  • Soft State. BASE-Datenbanken verzichten fast vollständig auf die Konsistenzanforderungen des ACID-Modells. Eines der grundlegenden Konzepte hinter BASE ist, dass die Datenkonsistenz das Problem des Entwicklers ist und nicht von der Datenbank gehandhabt werden sollte.
  • Eventual Consistency Die einzige Anforderung, die NoSQL-Datenbanken bezüglich der Konsistenz haben, besteht darin, zu verlangen, dass die Daten irgendwann in der Zukunft zu einem konsistenten Zustand konvergieren. Es wird jedoch nicht garantiert, wann dies der Fall sein wird. Dies ist eine vollständige Abkehr von der unmittelbaren Konsistenzanforderung von ACID, die die Ausführung einer Transaktion verbietet, bis die vorherige Transaktion abgeschlossen ist und die Datenbank zu einem konsistenten Zustand konvergiert ist.

In BASE kann grundlegende Verfügbarkeit bedeuten, dass Sie nicht einmal die Datenquellen kontrollieren. Beispielsweise können Sie für einen Teil Ihrer Bemühungen auf öffentliche Datensätze verlinken.

Relative Anwendungsfälle

Das BASE-Modell ist nicht für jede Situation geeignet, aber es ist sicherlich eine flexible Alternative zum ACID-Modell für Datenbanken, die keine strikte Einh altung eines relationalen Modells erfordern.

Die optimalen Anwendungsfälle für Datenbanken, die ACID verwenden, hängen von stark strukturierten Daten mit vorhersagbaren Eingaben und Ausgaben ab. Somit profitieren Personaldatenbanken, Einzelhandelsdatenbanken und elektronische Patientenakten von der robusten internen Konsistenzprüfung, die ACID bietet.

Allerdings sind BASE-Lösungen besser für unscharfe Themen wie Stimmungsanalyse. Beispielsweise könnte ein BASE-strukturiertes Projekt einen Twitter-Feed durchsuchen und nach Wörtern suchen, die Emotionen basierend auf einem bestimmten Hashtag implizieren. Der Twitter-Feed ist nicht gut strukturiert oder lokal instanziiert, aber der Datenstrom bietet die Informationen, die in Abfragen programmiert sind, selbst wenn der Umfang und die Art dieser Daten nicht sauber begrenzt sind.

Empfohlen: