Datenbank Modelle ACID und BASE im Vergleich

Datenbanksysteme

In der Welt der Datenbanktechnologien sind zwei zentrale Konzepte weit verbreitet: das ACID-Modell, das typischerweise mit relationalen (SQL) Datenbanken assoziiert wird. Das BASE-Modell wird oft mit NoSQL-Datenbanken in Verbindung gebracht. Diese Modelle definieren die grundlegenden Eigenschaften, die von den jeweiligen Datenbanksystemen erwartet werden.

ACID-Modell

ACID steht für Atomicity, Consistency, Isolation und Durability. Dieses Modell wird in relationalen Datenbankmanagementsystemen (RDBMS) eingesetzt, um die Zuverlässigkeit und Genauigkeit von Transaktionen zu gewährleisten.

  • Atomicity (Atomarität): Jede Transaktion wird als eine einzelne Einheit betrachtet, die entweder vollständig erfolgreich ist oder gar nicht ausgeführt wird.
  • Consistency (Konsistenz): Transaktionen führen eine Datenbank von einem konsistenten Zustand in einen anderen über, ohne die Datenintegrität zu verletzen.
  • Isolation (Isolierung): Gleichzeitig ausgeführte Transaktionen beeinflussen sich nicht gegenseitig.
  • Durability (Dauerhaftigkeit): Sobald eine Transaktion abgeschlossen ist, bleiben die Änderungen dauerhaft erhalten, auch im Falle eines Systemausfalls.

BASE-Modell

BASE steht für Basically Available, Soft State und Eventually Consistent. Dieses Modell wird in NoSQL-Datenbanksystemen verwendet, um Flexibilität, Skalierbarkeit und Verfügbarkeit in verteilten Systemen zu gewährleisten.

  • Basically Available (Grundsätzlich verfügbar): Das System garantiert die Verfügbarkeit von Daten, auch wenn einige Teile des Systems ausgefallen sind.
  • Soft State (Weicher Zustand): Der Zustand des Systems kann sich mit der Zeit ändern, auch ohne Benutzereingriffe.
  • Eventually Consistent (Schließlich konsistent): Das System stellt sicher, dass, wenn keine neuen Updates mehr erfolgen, alle Replikationen der Datenbank nach einiger Zeit konsistent sind.

Vergleichstabelle

Eigenschaft ACID-Modell BASE-Modell
Datenintegrität Hoch Variabel
Flexibilität Gering Hoch
Skalierbarkeit Vertikal Horizontal
Konsistenz Strenge Konsistenz Eventuelle Konsistenz
Transaktionsmanagement Strikt und zuverlässig Locker und anpassungsfähig
Einsatzgebiet Traditionelle Unternehmensanwendungen Verteilte, skalierende Anwendungen

Fazit

Das ACID-Modell bietet hohe Datenintegrität und Zuverlässigkeit, was es ideal für Anwendungen macht, die strenge Konsistenz und Transaktionssicherheit erfordern, wie z.B. Bankensysteme. Allerdings kann es aufgrund seiner strengen Regeln zu Einschränkungen in Bezug auf Flexibilität und Skalierbarkeit kommen.

Im Gegensatz dazu bietet das BASE-Modell eine hohe Flexibilität und Skalierbarkeit, was es ideal für verteilte Systeme und Anwendungen mit großem Datenvolumen und hohen Benutzerzahlen macht, wie soziale Netzwerke oder Echtzeit-Analysen. Die eventuelle Konsistenz kann jedoch zu Herausforderungen in Anwendungen führen, die eine sofortige Datenkonsistenz erfordern.

Letztendlich hängt die Wahl zwischen ACID- und BASE-Modellen von den spezifischen Anforderungen und dem Kontext der jeweiligen Anwendung ab. Beide Modelle haben ihre Berechtigung und bieten unterschiedliche Vorteile, die je nach Einsatzgebiet entscheidend sein können.

 

IoT, Big Data und BI

In der modernen Geschäftswelt nimmt die Bedeutung von Daten stetig zu. Insbesondere durch die Entwicklung des Internets der Dinge (IoT) hat sich das Potenzial zur Datenerfassung und -analyse erheblich erweitert. IoT-Geräte, von Sensoren in Fabriken bis hin zu smarten Geräten im Einzelhandel und Industrie, ermöglichen es Unternehmen, kontinuierlich Daten in Echtzeit zu sammeln. Diese Daten bieten wertvolle Einblicke in verschiedene Business Prozesse und können dazu beitragen, diese Prozesse zu optimieren, die Effizienz zu steigern und letztlich den Gewinn zu maximieren.

Nachdem die Daten von den IoT-Geräten erfasst wurden, müssen sie verarbeitet und für Analysen vorbereitet werden. Hier kommt der ETL-Prozess ins Spiel. ETL steht für „Extrahieren, Transformieren und Laden“ (Extract, Transform and Load).

Extrahieren

Im ersten Schritt werden die Daten aus den unterschiedlichsten Quellen gesammelt.

Transformieren

Anschließend werden diese Daten bereinigt, transformiert und in ein standardisiertes Format überführt.

Laden

Schließlich werden die transformierten Daten in ein Data Warehouse (DWH)  geladen. Das ist eine spezialisierte Datenbank, die dafür optimiert ist, große Mengen von Daten zu speichern und komplexe Abfragen effizient auszuführen.

 

Sobald die Daten im Data Warehouse liegen, können sie mit Analyse-Tools wie QlikView geladen werden. QlikView ist eine Business-Intelligence-Plattform, die es Nutzern ermöglicht, Daten zu visualisieren, Dashboards zu erstellen und durch Analyse tiefe Einblicke in ihre Daten zu gewinnen. Unternehmen können QlikView verwenden, um Muster und Trends in ihren Daten zu identifizieren, was letztlich zu fundierteren Entscheidungen und besseren Geschäftsergebnissen führt.

Fazit

Durch die Kombination von IoT-gewonnenen Daten, dem ETL-Prozess und Analyse-Tools wie QlikView können Unternehmen wertvolle Erkenntnisse aus ihren Daten ziehen und ihre Geschäftsprozesse kontinuierlich verbessern. Dieser Prozess bietet nicht nur eine verbesserte Effizienz, sondern auch die Möglichkeit, auf verändernde Marktbedingungen und Kundenbedürfnisse proaktiv zu reagieren.

 

 

Der ETL Prozess bei Big Data

ETL Prozess

Der ETL-Prozess ist eine Abkürzung für Extraktion, Transformation und Laden. Es ist ein wesentlicher Aspekt der Datenverwaltung und insbesondere der Verarbeitung von Daten bei Big Data.

Schaubild des ETL Prozesses

Er beginnt mit der Extraktion von Daten aus verschiedenen Quellen, die strukturiert, halbstrukturiert oder unstrukturiert sein können.

Nach der Extraktion werden die Daten transformiert, das heißt, sie werden gereinigt, bereinigt, validiert und in ein Format überführt, das von der Ziel-Datenbank gelesen werden kann. Dieser Schritt kann auch die Anreicherung von Daten mit zusätzlichen Informationen und die Durchführung komplexer Berechnungen beinhalten.

Schließlich werden die transformierten Daten in eine Zieldatenbank oder ein Data Warehouse geladen, wo sie für die Anwender im Intranet  zu Analyse- und Auswertungszwecken leicht zugänglich sind.

 

 

Normalisierung bei relationalen Datenbanken

Für die Nutzung und Wartung eines relationalen Datenbanksystems (DBS) sind sauber strukturierte Daten von Vorteil.

Denn bei der Nutzung können Schwächen, also Anomalien auftreten, die es zu verhindern gilt. Das wären zum Beispiel

  • Die Einfügeanomalie tritt auf, wenn es aufgrund von fehlenden Attributwerten nicht möglich ist, neue Daten in die Tabelle einzufügen.
  • Die Änderungsanomalie tritt auf, wenn Änderungen an einem Attributwert in einer Zeile zu Inkonsistenzen in anderen Zeilen führen.
  • Die Löschungsanomalie tritt auf, wenn das Löschen von Daten in einer Tabelle versehentlich auch andere, relevante Daten löscht oder wenn das Löschen von Daten zu einer fehlenden Information führt.

Um die oben genannten Anomalien zu verhindern, wird der Normalisierungsprozess eingesetzt.

Normalisierung der 1. Normalform

Eine Relation ist in der 1. Normalform, wenn jeder Wert in jeder Spalte des Tabellenentwurfs atomar ist, d.h. keine mehrwertigen Attribute enthält. Es dürfen also keine Spalten mit mehreren Werten in einer Zeile vorhanden sein.

Normalisierung der 2. Normalform

Eine Relation ist in der 2. Normalform, wenn sie bereits in der 1. Normalform ist und kein Teil der Primärschlüssel-Funktionsabhängigkeit von einer Teilmenge der Attribute abhängt. Das bedeutet, dass jede Nichtschlüssel-Spalte von der gesamten Primärschlüssel abhängt, nicht von einem Teil davon.

Normalisierung der 3. Normalform

Eine Relation ist in der 3. Normalform, wenn sie bereits in der 2. Normalform ist und keine transitive Abhängigkeiten existieren. Das bedeutet, dass eine Nichtschlüsselspalte nicht von einer anderen Nichtschlüsselspalte abhängen kann, sondern nur von der Primärschlüsselspalte.

Die Normalformen sind wichtig, um Datenredundanz und -inkonsistenzen zu vermeiden und die Datenkonsistenz und -integrität sicherzustellen.

Beispiel zur Normalisierung

Angenommen, wir haben eine Tabelle „Studenten“ mit den folgenden Spalten:

  • Matrikelnummer (Primärschlüssel)
  • Name
  • Geburtsdatum
  • Studienfach
  • Modul1-Name
  • Modul1-Note
  • Modul2-Name
  • Modul2-Note
  • Modul3-Name
  • Modul3-Note

Diese Tabelle ist nicht in der 1. Normalform, da die Spalten „Modul1-Name“, „Modul1-Note“, „Modul2-Name“, „Modul2-Note“, „Modul3-Name“ und „Modul3-Note“ mehrwertige Attribute enthalten. Wir können die Tabelle in zwei separate Tabellen aufteilen: eine für die Studenteninformationen und eine für die Modulinformationen.

  • Tabelle „Studenten“ (Primärschlüssel: Matrikelnummer)
    • Matrikelnummer (Primärschlüssel)
    • Name
    • Geburtsdatum
    • Studienfach
  • Tabelle „Module“ (Primärschlüssel: Modul-ID, Fremdschlüssel: Matrikelnummer)
    • Modul-ID (Primärschlüssel)
    • Matrikelnummer (Fremdschlüssel)
    • Modul-Name
    • Modul-Note

Jetzt befindet sich die Tabelle „Studenten“ in der 1. Normalform, da alle Spalten atomar sind. Die Tabelle „Module“ ist in der 2. Normalform, da alle Nichtschlüsselspalten von der gesamten Primärschlüssel-Spalte „Modul-ID“ abhängig sind.

Die Tabelle „Module“ ist jedoch noch nicht in der 3. Normalform, da die Spalte „Modul-Name“ und „Modul-Note“ von der Teilmenge der Spalte „Modul-ID“ und „Matrikelnummer“ abhängen, anstatt von der gesamten Primärschlüsselspalte „Modul-ID“ abhängig zu sein. Wir können die Tabelle erneut aufteilen:

  • Tabelle „Module“ (Primärschlüssel: Modul-ID, Fremdschlüssel: Matrikelnummer)
    • Modul-ID (Primärschlüssel)
    • Modul-Name
  • Tabelle „Noten“ (Primärschlüssel: Modul-ID, Matrikelnummer)
    • Modul-ID (Primärschlüssel, Fremdschlüssel)
    • Matrikelnummer (Primärschlüssel, Fremdschlüssel)
    • Modul-Note

Jetzt hängen alle Nichtschlüsselspalten von der gesamten Primärschlüssel-Spalte „Modul-ID, Matrikelnummer“ ab, und die Tabelle „Module“ und „Noten“ befinden sich in der 3. Normalform.

 

 

Relationale Datenbanken entwerfen

Der Entwurf relationaler Datenbanken spielt für Datenbankentwickler eine wichtige Rolle. Dabei wird das 3-Ebenen Modell eingesetzt. Das besteht aus drei Ebenen. Dies sind die externe-, die konzeptionelle- und die interne Ebene. Um die Entwicklung zu vereinfachen, wird häufig das Entity-Relationship Modell eingesetzt. Das wird auch ER-Modell oder ERM genannt.

Der Entwicklungsprozess

Der gesamte Entwicklungsprozess besteht aus mehreren Phasen.

AnforderungsanalyseDatenbank EntwicklungsprozessAnforderungsanalyse

Die Anforderungsanalyse beginnt damit, dass alle Anforderungen der Akteure gesammelt und ausgewertet werden. Dabei können die Akteure in Gruppen geordnet werden. Dabei stellen sich die W-Fragen:

  • Welche Daten werden verarbeitet?
  • Wie werden die Daten verarbeitet?
  • Was ist in der Datenbank abzulegen?
  • Welche Daten werden Wem zur Verfügung gestellt?
  • Wo werden die Daten verarbeitet und wo gespeichert?
  • Wann finden welche Prozesse statt?
  • Wer führt welche Tätigkeiten durch?

Konzeptioneller Entwurf

Beim konzeptionellen Entwurf gibt es verschiedene Vorgehensmodelle. Oft wird die Top-Down- oder die Bottom-Up Methode eingesetzt. Hier werden die Daten, die Prozesse, die Abhängigkeiten in Beziehung gebracht. Jetzt ist der richtige Moment zu entscheiden, welches Datenbank System (DBS) eingesetzt wird, außer die Anforderungen haben dies bereits festgelegt.

Logischer Entwurf

Beim logischen Entwurf findet die Umsetzung des konzeptionellen Schemas statt. Die häufigsten Abfragen sind auf Grund der Anforderungen bekannt und bereits beschrieben. Das Endergebnis ist eine normalisierte Tabellenstruktur, die keine Fehler und Redundanzen enthält.

Implementierung

Jetzt erfolgt die konkrete Umsetzung auf dem Datenbank System. Dabei wird auf ein gutes Laufzeitverhalten und auf Effizienz geachtet. Wichtig ist hier, dass nach den Regeln der KVP (Kontinuierlicher Verbesserung Prozess) die Datenbank optimiert wird. Es werden die Sichten, Relationen, Indizes und die Berechtigungen eingerichtet.

Test / Qualitätssicherung

Bei der Qualitätssicherung wird geprüft, ob die Anforderungen erfüllt sind. Zudem werden die während der Anforderungsanalyse festgestellten Kriterien geprüft. Optimal ist hier zusätzliches automatisiertes Testsystem zu nutzen, dass den ganzen Lebenszyklus des DBS genutzt wird. Das vermeidet wiederkehrende Fehler und optimiert die Qualitätssicherung.

Übergabe und Nutzung

Nach dem Abschluss der Qualitätssicherung findet die Übergabe des Systems statt. Dabei ist zu beachten, dass dies wie alle vorher beschriebenen Prozesse in schriftlicher Form dokumentiert sein soll. Das Übergabedokument wird nach erfolgreicher Abnahme durch den Auftraggeber unterzeichnet und damit ist der Leiter des Projekts entlastet.

 

Unternehmensprozesse im Zeitalter von Industrie 4.0

Unternehmen sind ein Teil der Privatwirtschaft und dem stetigen Wandel in der Natur unterworfen. Die Anpassung gelingt einigen Unternehmen sehr gut und anderen weniger gut. Im Zeitalter der elektronischen Datenverarbeitung haben sich Systeme entwickelt, die den Wandel zu Industrie 4.0 mit KI begünstigen. Die nachfolgende Auflistung zeigt im Überblick Einige von Unternehmen eingesetzte Datenverarbeitungssysteme.

Unternehmensweite Planung bei Industrie 4.0

Unternehmensweite Planung bei Industrie 4.0
Unternehmensweite Planung bei Industrie 4.0

Enterprise Ressource Planning (ERP) ist die unternehmensweite Planung von Ressourcen des gesamten Unternehmens. Dabei wird bei Industrie 4.0 immer mehr KI genutzt werden, um den Bearbeitern und Entscheidern zeitnah, umfassende Auswertungen und Lösungen anzubieten. Die Entscheidungen fällt jetzt noch der Mensch. Aber dies wird sich in der Zukunft ändern. Denn der Mensch wird die Koexistenz und Handlungsfähigkeit der KI als gleichberechtigter Partner akzeptieren müssen. Das verändert die Wirtschaftssysteme.

Je nach Branche sind die ERP Systeme unterschiedlich aufgebaut. einige Unternehmen leisten sich individuelle angepasste ERP Systeme. Andere nutzen Vanilla Lösungen. Eine Vanilla Lösung stellt die standardisierte, nicht angepasste Anwendung „out of the box“ dar. Diese hat den Vorteil, das Versions-Upgrades einfach und kostengünstig möglich sind. Dafür werden bei diesen Unternehmen in vielen Bereichen Standardprozesse genutzt.

Umfassende Kommunikation der IT-Systeme ist erforderlich

Über Schnittstellen erfolgt die Kommunikation der Subsysteme mit einer einheitlichen Sprache zum Datenaustausch. Meist wird dafür Extended Markup Language (XML) genutzt. Die in großen Mengen vorhandenen Daten werden in leistungsfähigen Datenbanken vorgehalten. Auch hier wird immer mehr KI eingesetzt und unterstützt die Prozesse. So werden sich in der multipolaren Welt diese Systeme unterscheiden und das entspricht der von der Natur gewünschten Vielfalt und ermöglicht die Zukunftsfähigkeit von Unternehmen, Mitarbeitern und der KI.