BASE-Modell der Datenbankentwicklung

click fraud protection

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 der SÄURE-Modell bleiben immer erhalten. 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.

Computernetzwerk
artpartner-images / Getty Images

Grundlegende Grundsätze des ACID-Modells

Es gibt vier grundlegende Grundsätze des ACID-Modells:

  • Die atomarität von Transaktionen stellt sicher, dass jede Datenbanktransaktion eine einzelne Einheit ist, die bei der Ausführung einen "Alles-oder-Nichts"-Ansatz anwendet. Wenn eine Anweisung in der Transaktion fehlschlägt, wird die gesamte Transaktion zurückgesetzt.
  • Relationale Datenbanken sorgen zudem für die
    Konsistenz jeder Transaktion mit den Geschäftsregeln der Datenbank. Wenn ein 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 erfolgt entweder vor oder nach jeder anderen Transaktion und die Ansicht der Datenbank die eine Transaktion am Anfang sieht, wird nur durch die Transaktion selbst verändert, bevor sie Fazit. Keine Transaktion sollte jemals das Zwischenprodukt einer anderen Transaktion sehen.
  • Das letzte ACID-Prinzip, Haltbarkeit, stellt sicher, dass eine Transaktion, die an die Datenbank übergeben wurde, durch die Verwendung von Backups und Transaktionsprotokollen dauerhaft aufbewahrt wird. Im Fehlerfall können diese Mechanismen verwendet werden, um festgeschriebene Transaktionen wiederherzustellen.

Grundprinzipien von BASE

NoSQL-Datenbankenumfassen andererseits 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 BASE-Modell bekannt ist. Dieses Modell trägt der Flexibilität Rechnung, die NoSQL und ähnliche Ansätze für die Verwaltung und Pflege unstrukturierter Daten bieten. BASE besteht aus drei Prinzipien:

  • Grundverfügbarkeit. Der NoSQL-Datenbankansatz konzentriert sich auf die Verfügbarkeit von Daten auch bei mehreren Fehlern. Dies wird durch die Verwendung eines stark verteilten Ansatzes für das Datenbankmanagement erreicht. Anstatt einen einzigen großen Datenspeicher zu verwalten und sich auf die Fehlertoleranz dieses Speichers zu konzentrieren, verteilen NoSQL-Datenbanken Daten mit einem hohen Grad an Replikation auf viele Speichersysteme. Im unwahrscheinlichen Fall, dass ein Fehler den Zugriff auf ein Datensegment unterbricht, führt dies nicht unbedingt zu einem vollständigen Datenbankausfall.
  • Weicher Zustand. BASE-Datenbanken verzichten fast vollständig auf die Konsistenzanforderungen des ACID-Modells. Eines der Grundkonzepte von BASE ist, dass die Datenkonsistenz das Problem des Entwicklers ist und nicht von der Datenbank gehandhabt werden sollte.
  • Eventuelle Konsistenz. Die einzige Anforderung an NoSQL-Datenbanken in Bezug auf Konsistenz besteht darin, dass die Daten irgendwann in der Zukunft zu einem konsistenten Zustand konvergieren. Es wird jedoch keine Garantie gegeben, wann dies der Fall ist. Dies ist eine vollständige Abweichung von der sofortigen Konsistenzanforderung von ACID, die eine Transaktion verbietet von der Ausführung bis zum Abschluss der vorherigen Transaktion und der Konvergenz der Datenbank zu einem konsistenten Zustand.

In BASE kann die grundlegende Verfügbarkeit bedeuten, dass Sie nicht einmal die Datenquellen kontrollieren. Sie können beispielsweise 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 Einhaltung eines relationalen Modells erfordern.

Die optimalen Anwendungsfälle für Datenbanken, die ACID verwenden, hängen von hochstrukturierten Daten mit vorhersehbaren Eingaben und Ausgaben ab. So profitieren Personaldatenbanken, Einzelhandelsdatenbanken und elektronische Krankenakten von der robusten internen Konsistenzprüfung, die ACID bietet.

BASE-Lösungen sind jedoch besser für unscharfe Themen wie die Sentiment-Analyse geeignet. Zum Beispiel könnte ein BASE-strukturiertes Projekt einen Twitter-Feed scannen 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, auch wenn der Umfang und die Art dieser Daten nicht sauber sind begrenzt.