Skip to Content

Was ist Datenabstraktion in einem DBMS?

Mit der Datenabstraktion können Entwickler und Administratoren Front-End-Benutzern nur die erforderlichen Daten anzeigen, da sie keinen Zugriff auf ein ganzes Datensilo benötigen. Abstraktion wird in mehreren Bereichen der Softwareentwicklung verwendet, und die Datenebene einer Anwendung trennt die Datenbank von der Benutzeroberfläche. Der Zweck besteht darin, eine bessere Skalierbarkeit und weniger Refactoring bei Infrastrukturänderungen zu nutzen.

Was ist ein DBMS?

Ein Datenbankmanagementsystem (DBMS) ist ein Tool, das als Schnittstelle zwischen einem Benutzer und den gespeicherten Rohdaten verwendet wird. Mithilfe eines DBMS können Administratoren in einer Datenbank gespeicherte Daten anzeigen, neue Daten aktualisieren oder einfügen und Abfragen ausführen, um Daten abzurufen. Administratoren können auch Datenbankelemente wie gespeicherte Verfahren, Auslöser, Tabellen, Indizes und andere Objekte verwalten. Ein DBMS wird oft zum Erstellen und späteren Verwalten der Datenbank verwendet.

Ein Beispiel für ein DBMS ist MySQL . MySQL ist eine relationale Datenbank, sodass Administratoren das DBMS verwenden, um Datenbankobjekte anzuzeigen, Tabellen zu erstellen oder Daten abzufragen. Eine Anwendung verwendet das DBMS, um Daten abzufragen oder Daten zur Datenbank hinzuzufügen. Da MySQL eine relationale Datenbank ist, werden Daten in Tabellen mit Einschränkungen in jeder Spalte gespeichert, um den Typ der gespeicherten Daten zu steuern.

Ein weiteres Beispiel für ein DBMS ist MongoDB . MongoDB ist eine Open-Source-Datenbank von NoSQL, in der unstrukturierte Daten gespeichert werden. Daten werden in Dokumenten gespeichert, und Administratoren können eine beliebige Anzahl und Art von Elementen im Dokument speichern. Administratoren verwenden das MongoDB-DBMS, um die Struktur der Datenbank zu verwalten, und Anwendungen verwenden es, um Daten abzufragen und hinzuzufügen.

Was ist eine Datenabstraktion?

Die Datenabstraktion ist eine logische Funktion in einer Anwendung, um die Rohdaten vom Frontend zu trennen. Einfach ausgedrückt verarbeitet die Datenschicht die Verbindung zur Datenbank und fragt sie vom Frontend ab. Die Datenabstraktion ermöglicht es der Front-End-Anwendung, Daten abzufragen, unabhängig davon, wo die Daten gespeichert sind. Entwickler können dann Back-End-Datenbanken austauschen, ohne große Teile ihres Codes zu refaktorieren, um sich mit einer neuen Datenbank-Engine zu verbinden und zu arbeiten.

Nehmen wir beispielsweise an, dass Sie MongoDB in der Entwicklung verwenden, bis Sie die Art von Daten bestimmen können, mit denen Sie arbeiten müssen. Sie möchten dann MySQL in der Produktion verwenden. Die Datenabstraktionsebene verarbeitet die Verbindung zur Datenbank und Abfragen sowohl von MongoDB als auch von MySQL, ohne die Front-End-Codebasis zu beeinträchtigen. Benutzer sind sich der Änderungen an Datenbank-Engines nicht bewusst, können aber immer noch die Informationen erhalten, die sie benötigen.

Ebenen der Datenabstraktion

Die Datenabstraktion ist ein Oberbegriff, der verschiedene Aspekte der Datenverwaltung behandelt. Wenn Entwickler eine Anwendung erstellen und mit Administratoren zusammenarbeiten, gibt es drei Abstraktionsebenen: physisch, logisch und Ansicht. Hier eine kurze Erklärung dieser Ebenen:

  • Physische/interne Ebene: Diese Ebene umfasst die Infrastruktur zum Unterbringen der Datenbank, einschließlich der Netzwerkinformationen für den Server und des Standorts des Servers. Die physischen Komponenten könnten beispielsweise eine Cloud-VM mit mittleren CPU- und Speicherressourcen sein.
  • Logische/konzeptive Ebene: Die logische Ebene ist der Code, der zum Verbinden mit der physischen Ebene verwendet wird. Sie enthält die Logik für Verbindungen, Abfragen und Fehlerbehandlung. Logische Layer können je nach Eingabefaktoren Code zum Verbinden mit mehreren Datenbanken enthalten.
  • Ansichts-/externe Ebene: Mit der Frontend-Anwendung können Benutzer die Daten anzeigen. Diese Abstraktionsstufe ist am weitesten vom Speicherort der Rohdaten entfernt, formatiert und präsentiert die Daten jedoch dem Betrachter, sodass sie nützlich sein können.

Mehrstufige Datenbankarchitekturen

Abstraktionsebenen können logische Schichten sein, die in Ihre Anwendung eingebettet sind, aber sie können auch auf physisch unterschiedlichen Ressourcen angeordnet sein. Der Zweck einer mehrstufigen Abstraktion besteht darin, die Skalierung einer einzelnen Schicht viel einfacher zu machen, ohne andere Schichten zu beeinträchtigen. Die Multi-Tier-Architektur wird auch als „N-Tier-Architektur“ bezeichnet, bei der Administratoren für jede Komponente in der Anwendung mehrere Tiers auswählen können.

Es ist üblich, dass in einer mehrstufigen Architektur drei Ebenen vorhanden sind: Präsentation, Daten und Anwendung. Hier eine kurze Beschreibung dieser Stufen:

  • Datenebene: Diese Ebene speichert die Daten und führt die Datenbank-Engine aus. Es kann sich auf einem dedizierten Bare-Knochen-Server oder einer virtuellen Maschine befinden. Datenbanken können je nach Anwendungsfallszenario auch in Clustern in einem Data Warehouse mit komplexen Datenpipelines funktionieren.
  • Anwendungsebene: Diese Stufe verarbeitet die Anwendung. Wenn das Frontend beispielsweise eine benutzerdefinierte Webanwendung ist, speichert ein Webserver die Anwendungsdateien und führt sie aus. Benutzer stellen eine Verbindung zu diesem Server her, um die Anwendung auszuführen.
  • Präsentationsebene: Die Präsentationsebene unterscheidet sich von der Anwendungsebene, obwohl sie ähnlich klingt. Anwendungsebenen verfügen über die Codebasis und Anwendungslogik, während die Präsentationsebene dem Benutzer entspricht. In einer Webanwendung ist die Präsentationsebene die CSS und HTML, die zum Formatieren und Anzeigen von Anwendungscode für den Benutzer verwendet werden.

Was sind die Vorteile von Datenabstraktion?

Das Trennen von Datenschichten von der Frontend-Anwendung ermöglicht eine granulare Skalierung von Ressourcen. Änderungen an der Datenschicht würden sich auch nicht auf das Frontend auswirken, sodass die Datenabstraktion die Neubewertung von Code einschränkt, wenn eine andere Datenbank-Engine verwendet wird oder die Datenschicht die Standorte ändert.

Nehmen wir beispielsweise an, Ihr Unternehmen beschließt, die Datenbank von lokalen Standorten in die Cloud zu verschieben. Nur die Datenebene müsste sich ändern, und es wären keine Änderungen am Front-End-Anwendungscode erforderlich. Administratoren können Ressourcen für die Datenebene skalieren, ohne die Ressourcen für die Anwendungsebene skalieren zu müssen, wenn dies nicht erforderlich ist.

Fazit

In einer Unternehmensanwendung können Sie mit einer Datenabstraktionsebene für die Verbindung zu Ihrem DBMS nach oben oder unten skalieren. Sie können auch ohne viele Codeänderungen an Ihrer Codebasis Änderungen an der Architektur der Datenebene in Ihrer Architektur vornehmen. Sie können mehrere Datenbank-Engines verwenden oder Ihre Datenbank an einen neuen Speicherort verschieben, ohne viel Overhead zu verursachen.

Wenn Sie Ihre Datenabstraktionsarchitektur planen, sollten Sie sich Pure Storage ® FlashArray™ für einheitlichen Block- und Datei-Storage ansehen. Für Storage in der Cloud besuchen Sie den Cloud-Block-Storage von Pure Storage .

04/2024
Disaster Recovery for MySQL with FlashArray
Detailed guidance for choosing a data-protection and disaster-recovery solution for MySQL databases with Pure Storage FlashArray.
White Paper
24 Seiten
KONTAKTIEREN SIE UNS
Fragen, Kommentare?

Haben Sie eine Frage oder einen Kommentar zu Produkten oder Zertifizierungen von Pure?  Wir helfen Ihnen gerne!

Termin für Demo vereinbaren

Vereinbaren Sie einen Termin für eine Live-Demo und sehen Sie selbst, wie Pure Ihnen helfen kann, Ihre Daten in überzeugende Ergebnisse zu verwandeln. 

Rufen Sie uns an: +49 89 26200662
Presse:
 pr@purestorage.com

 

Pure Storage Germany GmbH

Mies-van-der-Rohe-Straße 6

80807 München

Deutschland

info@purestorage.com

SCHLIESSEN
Ihr Browser wird nicht mehr unterstützt!

Ältere Browser stellen häufig ein Sicherheitsrisiko dar. Um die bestmögliche Erfahrung bei der Nutzung unserer Website zu ermöglichen, führen Sie bitte ein Update auf einen dieser aktuellen Browser durch.