Datenbank-Grundlagen & Einsatz in der Produktion
Was ist eine Datenbank?
Eine Datenbank ist ein System zur digitalen Speicherung und Verwaltung größerer Datenmengen. Datenbanken müssen in der Lage sein, Informationen dauerhaft, strukturiert und fehlerfrei zu speichern. Gleichzeitig ermöglichen sie Benutzern und Softwareanwendungen, gezielt auf die gespeicherten Daten zuzugreifen.
Definition
Definition und Bestandteile einer Datenbank
Eine Datenbank setzt sich aus zwei Kernelementen zusammen: Einer Software zur Verwaltung der Datenbank (Datenbankmanagementsystem) und den gespeicherten Daten selbst (im engeren Sinne als Datenbank bezeichnet). Zusammen werden das Datenbankmanagementsystem und die gespeicherten Daten auch als Datenbanksystem bezeichnet.
Das Datenbankmanagementsystem (DBMS) ist für alle Aufgaben zuständig, die sich um die Erstellung, Verwaltung und Abfrage der Datenbank drehen. Dazu gehören auch Funktionen wie die Performanceoptimierung der Datenbank und das Management von Zugriffsrechten.
Die Kommunikation zwischen anderen Anwendungen oder Benutzern und dem Datenbankmanagementsystem (und damit auch die Abfrage von Daten) wird durch die Verwendung einer Datenbanksprache ermöglicht.
Die am weitesten verbreitete Form einer Datenbank ist die relationale Datenbank unter Verwendung der Datenbanksprache SQL. Im Abschnitt „Welche Arten von Datenbanken gibt es?“ gehen wir im Detail auf diesen Datenbanktyp ein.
Bedeutung
Warum sind Datenbanken so wichtig?
Datenbanken sind ein essenzieller Bestandteil moderner IT-Infrastrukturen und auch vieler Softwaresysteme selbst.
Sie speichern Informationen verschiedenster Art, darunter z.B. Kunden- oder Produktdaten, Transaktionsdetails oder Beiträge auf einer Website. Mithilfe geeigneter Schnittstellen werden die gespeicherten Informationen für andere Benutzer, Dienste oder Programme zur Verfügung gestellt.
Besonders wichtig ist die Fähigkeit einer Datenbank, Informationen dauerhaft, effizient, fehlerfrei und sicher zu speichern.
Funktionalität
Welche Funktionen bietet eine Datenbank?
Ein Datenbankmanagementsystem (DBMS) muss verschiedene Funktionen erfüllen. Im Vordergrund steht die Möglichkeit zum Speichern, Verändern und Löschen von Datensätzen. Dazu nimmt das DBMS entsprechende Befehle entgegen und sorgt dafür, dass diese korrekt ausgeführt und gegebenenfalls die angeforderten Ergebnisse zurückgeliefert werden.
Viele Datenbanken unterstützen strukturierte und komplexe Abfragen zum Abruf oder zur Manipulation von Daten.
Um die Kommunikation mit anderen Anwendungen effizienter und sicherer zu gestalten, kommen sogenannte „Trigger“ und „Stored Procedures“ zum Einsatz.
Ein Datenbanktrigger löst eine vordefinierte Aktion in der Datenbank aus, wenn ein bestimmtes Ereignis eintritt (z.B. Einfügen, Ändern oder Löschen von Daten). Diese Trigger können bspw. Aktionen verhindern oder selbst Daten ändern, entweder vor, nach oder statt des auslösenden Ereignisses.
Stored Procedures sind komplexe Anweisungen bzw. Folgen an Anweisungen, die durch das DBMS gespeichert und mit einem einzigen Befehl ausgelöst werden können. Auf diese Weise können viele einzelne Befehle zusammengefasst werden. Stored Procedures tragen auch zur Sicherheit eines Datenbanksystems bei, indem sie die verfügbaren Befehle auf vordefinierte Aktionen beschränken.
Weiterhin ist das DBMS dafür zuständig, den Betrieb und die Performance der Datenbank zu optimieren und die Sicherheit und Integrität der gespeicherten Daten sicherzustellen. Damit verbunden ist auch die Ermöglichung des Mehrbenutzerbetriebs: Wenn mehrere Benutzer gleichzeitig auf die Datenbank zugreifen, muss sichergestellt werden, dass es nicht zu Inkonsistenzen durch gleichzeitige Änderungen von Daten kommt. Zu diesem Zweck kann ein DBMS den Zugriff auf Daten vorübergehend sperren.
Auch die Verwaltung von Benutzerrechten und die Durchführung von Backups sind Aufgabe des Datenbankmanagementsystems.
Digitales Produktionsmanagement in der Cloud
Unsere manubes-Plattform ermöglicht produzierenden Unternehmen die Aggregration, Verwaltung und Visualisierung von Produktionsdaten in der Cloud.
Mit leistungsfähigen Werkzeugen zur Datenmodellierung, interaktiven Visualisierung und Workflow-Automatisierung unterstützt manubes die digitale Transformation in der Fertigungs- und Prozessindustrie.
manubes-Nutzer profitieren von weltweitem Zugriff per Webbrowser, maximaler Sicherheit und Unterstützung für industrielle Standardschnittstellen.
Datenbanktypen
Welche Arten von Datenbanken gibt es?
Datenbanken können nach verschiedenen Kriterien klassifiziert werden. Dazu zählen z.B. der Speicherort der Daten (On-Premise-Datenbanken vs. Cloud-Datenbanken), der Lizenztyp (Open Source-Datenbanken vs. kommerzielle/proprietäre Datenbanken) oder die Spezialisierung (Zeitreihendatenbanken, Geodatenbanken, …).
Eine wichtige Kategorisierung unterscheidet Datenbanksysteme nach ihrem Datenbankmodell, d.h. der Art, wie Daten innerhalb der Datenbank organisiert und gespeichert werden. Die größte Bedeutung kommt hierbei dem relationalen Datenbankmodell zu. Als Alternative finden jedoch auch sogenannte NoSQL-Datenbanken in verschiedenen Bereichen Anwendung. Beide Modelle werden weiter unten erklärt.
Das Datenbankmodell wird durch das verwendete Datenbankmanagementsystem bestimmt.
Der Grund für die Verwendung einer bestimmten Art von Datenbank sind in der Regel spezielle Anforderungen. In vielen Bereichen (Gesundheitswesen, Banken, …) sind fehlerfreie und konsistente Daten unverzichtbar. Für bestimmte Anwendungsfälle (z.B. Big Data Analytics) könnte dagegen eine hohe Performance und Skalierbarkeit bei der Auswertung riesiger Datenmengen angestrebt werden, wobei kleinere Inkonsistenzen akzeptiert werden.
Relationale Datenbanken
Die am weitesten verbreitete Form einer Datenbank ist die relationale Datenbank. Hier werden Daten in Tabellen gespeichert, wobei die Spalten der Tabelle verschiedene Attribute beinhalten und jede Zeile einen Datensatz darstellt. Die folgende Abbildung zeigt ein einfaches Beispiel für eine Tabelle in einer relationalen Datenbank:
Jeder Kunde hat in diesem Beispiel drei Attribute: Eine KundenID, einen Namen und eine Email-Adresse.
Die KundenID ist hierbei der sogenannte Primärschlüssel: In einer relationalen Datenbank wird jeder Datensatz (hier ein Kunde) durch einen Primärschlüssel eindeutig identifiziert.
Dieser Schlüssel kann wiederum in anderen Datentabellen als Attribut auftauchen, um einen Kunden zu referenzieren:
Die Spalte KundenID enthält Primärschlüssel der Tabelle „Kunden“, um jeweils auf einen Kunden zu verweisen, der die Bestellung vorgenommen hat. Hierbei spricht man von einem Fremdschlüssel.
Die gängige Datenbanksprache für relationale Datenbanken ist SQL (Structured Query Language), die auf der relationalen Algebra basiert. Mithilfe von SQL-Befehen können komplexe Datenabfragen und viele andere Datenbankoperationen durchgeführt werden.
Verschiedene Datenbankanbieter implementieren den SQL-Sprachstandard auf unterschiedliche Weise. Relationale Datenbankmanagementsysteme wie MySQL oder PostgreSQL werden daher auch als SQL-Dialekte bezeichnet, da sie u.a. eigene Erweiterungen für den SQL-Standard implementieren.
MySQL, Microsoft SQL Server und Oracle zählen zu den bekanntesten Beispielen für relationale Datenbanksysteme.
Relationale Datenbanken bieten ein hohes Maß an Datenintegrität und -konsistenz sowie Sicherheit bei der Durchführung komplexer Transaktionen. Sie sind daher insbesondere für geschäftskritische Prozesse von hoher Bedeutung.
NoSQL-Datenbanken
Eine Alternative zum relationalen Datenbankmodell bieten sogenannte NoSQL-Datenbanken. Der Begriff bezeichnet Datenbanken, die nicht auf dem relationalen Datenbankmodell basieren. Daten werden hier z.B. als einzelne Dokumente gespeichert (dokumentorientierte Datenbanken), die nicht zwangsläufig die gleiche Struktur aufweisen müssen.
Dank ihrer horizontalen Skalierung, eignen sich NoSQL-Datenbanken vor allem für größere Mengen an weniger strukturierten Daten. Sie kommen z.B. bei der Speicherung besonders großer Datenmengen oder beim Videostreaming zum Einsatz.
Relationale Datenbanken weisen Performanceprobleme auf, wenn Daten in großen Mengen gespeichert und gleichzeitig häufig darauf zugegriffen wird. Im Gegensatz dazu bieten NoSQL-Datenbanken eine hohe Skalierbarkeit, allerdings oft auch fehlende Garantien in Bezug auf die Datenkonsistenz und Transaktionssicherheit. Viele NoSQL-Datenbanken verwenden das „Eventual Consistency“-Modell, bei dem Daten nicht sofort konsistent sind.
Zu den bekanntesten NoSQL-Datenbanken zählen MongoDB, Cassandra und Redis.
Digitales Produktionsmanagement in der Cloud
Unsere manubes-Plattform ermöglicht produzierenden Unternehmen die Aggregration, Verwaltung und Visualisierung von Produktionsdaten in der Cloud.
Mit leistungsfähigen Werkzeugen zur Datenmodellierung, interaktiven Visualisierung und Workflow-Automatisierung unterstützt manubes die digitale Transformation in der Fertigungs- und Prozessindustrie.
manubes-Nutzer profitieren von weltweitem Zugriff per Webbrowser, maximaler Sicherheit und Unterstützung für industrielle Standardschnittstellen.
Produktion
Datenbanken in der industriellen Produktion
Auch in der industriellen Produktion sind leistungsfähige Datenbanken essenziell. Daten zu Produktionsaufträgen, Ressourcen und Produkten müssen ebenso strukturiert und sicher gespeichert werden wie Sensor- und Maschinendaten, die Aufschluss über den Status der Produktion und mögliche Abweichungen vom Idealzustand geben.
Viele Softwaresysteme, die in der Produktionsplanung, Produktionssteuerung und Produktionsüberwachung eingesetzt werden, integrieren eigene Datenbanksysteme zur Verwaltung der entsprechenden Daten. Beispiele sind z.B. Manufacturing Execution Systems (MES) oder Enterprise Resource Planning-Systeme (ERP-Systeme). Auch Aufgaben wie die Wartungsplanung, Qualitätssicherung und Sicherheitsprüfung erfordern den Zugriff auf vollständige und korrekte Daten und können durch spezielle Datenbankanwendungen unterstützt werden.
Die Verwaltung von Rohstoffen, Halbfabrikaten und fertigen Produkten erfordert ebenfalls den Einsatz von Datenbanken. Spezielle Softwaresysteme, die in diesem Bereich zum Einsatz kommen und eigene Datenbanken nutzen, sind z.B. Warenwirtschaftssysteme und Supply Chain Management-Systeme (SCM-Systeme).
Darüber hinaus können auch Produktionslinien oder sogar einzelne Produktionsanlagen mit lokalen Datenbanken ausgestattet sein. Hier werden u.a. Maschinen- und Sensordaten gespeichert, aber auch Produktionsdaten wie Produktionszeit, Produktionsmenge und andere Parameter.
Schnittstellen für die Kommunikation mit Datenbanken
Damit Daten zwischen Datenbanken und anderen Anwendungen ausgetauscht werden können, sind entsprechende Schnittstellen notwendig.
Speziell für die Kommunikation mit relationalen Datenbanken wurde die standardisierte Schnittstelle Open Database Connectivity (ODBC) entwickelt. Mit ODBC greifen Anwendungen über SQL-Befehle auf verschiedene Arten von relationalen Datenbanken zu. Ein ODBC-Treiber übersetzt diese Anfragen in die jeweilige Sprache des proprietären Datenbanksystems.
MES, ERP und andere Softwaresysteme in der Produktion, die eigene Datenbanken integrieren, unterstützen oft industrielle Standardschnittstellen wie OPC UA oder REST, die den herstellerunabhängigen Datenaustausch mit Maschinen, Geräten und anderen Softwareanwendungen ermöglichen.
Zudem führt die weite Verbreitung von Datenbanksystemen wie MySQL und Microsoft SQL Server dazu, dass viele Anwendungen und Plattformen die entsprechenden Schnittstellen direkt integrieren. So ermöglicht z.B. auch unsere Cloud-Plattform manubes eine einfache Kommunikation mit MySQL- und Microsoft SQL Server-Datenbanken. Entsprechende Schritt-für-Schritt-Anleitungen dazu finden Sie in unserer Tutorial-Sammlung.
Lernen Sie manubes kennen!
manubes bringt das industrielle Produktionsmanagement in die Cloud: Unsere innovative Plattform bietet spezialisierte Werkzeuge zur Anbindung von Produktionssystemen, Verwaltung und Visualisierung von Produktionsdaten sowie zur Automatisierung von Produktionsprozessen. manubes-Nutzer profitieren von einer leistungsfähigen Infrastruktur, weltweitem Zugriff und maximaler Sicherheit.