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.

manubes

Produktionsdaten zentral verwalten

manubes ermöglicht die Erfassung, Strukturierung und Verwaltung von Produktionsdaten in der Cloud. Mit leistungsfähigen Funktionen zur Datenmodellierung, interaktiven Visualisierung und Workflow-Automatisierung unterstützt manubes die digitale Transformation in der Fertigungs- und Prozessindustrie.

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.

Vergleich

Was sind die am häufigsten eingesetzten Datenbanken?

An der Spitze der meistgenutzen Datenbankmanagementsysteme weltweit stehen seit langem Oracle, MySQL und Microsoft SQL Server – allesamt relationale Datenbanksysteme (Quelle: statista). Auch das Popularitätsranking von DB-Engines wird von diesen Datenbanken angeführt.

Durch die zunehmende Relevanz von Cloud-Software, IoT-Anwendungen und Big Data-Analysen haben aber auch Datenbanksysteme an Popularität gewonnen, die für spezielle Anforderungen und Datenstrukturen entwickelt wurden. Dazu gehören z.B. die dokumentenorientierte, schemalose Datenbank MongoDB und die Zeitreihendatenbank InfluxDB.

Oracle Database

Oracle Database ist eine kommerzielle, relationale Datenbank, die ein hohes Maß an Skalierbarkeit bietet und vor allem bei Business-Anwendungen und im Enterprise-Bereich führend ist.

Sie kann sowohl On-Premise, Hybrid oder auf der Oracle Cloud-Infrastruktur eingesetzt werden.

Typische Anwendungen sind Banken und Versicherungen sowie Data Warehousing.

Microsoft SQL Server

Microsoft SQL Server-Logo

Microsoft SQL Server ist ein relationales Datenbankmanagementsystem von Microsoft. Als eines der drei meistgenutzten Datenbanksysteme, bietet auch SQL Server Zugriff auf viele Funktionen, Erweiterungen und Funktionen.

Typische Anwendungen sind ERP- und CRM-Systeme, Business Intelligence (BI) und Unternehmensdatenbanken. Auch in der industriellen Produktion kommt Microsoft SQL Server häufig zum Einsatz.

Mehr lesen Sie hier: Was ist Microsoft SQL Server?

Microsoft SQL Server-Logo

MySQL

MySQL-Logo

MySQL ist eines der bekanntesten Open Source-Datenbanksysteme und basiert ebenfalls auf dem relationalen Datenbankmodell.

Es ist vergleichsweise einfach in der Benutzung, flexibel und bietet breite Community-Unterstützung.

MySQL kommt häufig in Web-Plattformen wie bspw. YouTube, Netflix und Spotify zum Einsatz.

MySQL-Logo

MariaDB

MariaDB-Logo

Auch MariaDB ist ein quelloffenes, relationales Datenbankmanagementsystem und eine Abspaltung von MySQL. Zwischen den beiden Datenbanksystemen besteht weiterhin eine hohe Kompatibilität.

MariaDB ist u.a. für Performance optimiert und kommt als Alternative zu MySQL, in Web-Plattformen wie Wikipedia und in Hosting-Umgebungen zum Einsatz.

MariaDB-Logo

PostgreSQL

PostgreSQL-Logo

PostgreSQL ist ein quelloffenes, objektrelationales Datenbankmanagementsystem, welches eng an den SQL-Standard angelehnt ist, aber auch einige Zusatzfunktionen bietet.

Es zeichnet sich durch Stabilität, viele Datentypen und Programmierschnittstellen sowie Erweiterbarkeit durch eigene Datentypen, Funktionen und Operatoren aus, zudem sind viele Erweiterungen verfügbar.

Häufige Einsatzgebiete sind Unternehmenssoftware und Finanzanwendungen.

PostgreSQL-Logo

MongoDB

MongoDB-Logo

MongoDB ist ein dokumentenbasiertes NOSQL-Datenbanksystem. Es ist aktuell die meistgenutzte NOSQL-Datenbank.

Daten können in Form von BSON-Dokumenten (binäres JSON) gespeichert werden. Dokumente können dabei unterschiedlich aufgebaut sein, was eine hohe Freiheit in der Datenmodellierung durch unterschiedliche Anwendungen ermöglicht (Schemafreiheit). MongoDB ist zudem in der Lage, Datenbestände und Arbeitslasten auf mehrere Server zu verteilen.

MongoDB eignet sich für Anwendungen mit variablen Datenstrukturen und großen Mengen unstrukturierter Daten. Häufige Use Cases sind IoT-Datenanalysen (große Datenmengen), Content Management-Systeme (viele Datentypen) und mobile Apps (Datensynchronisierung).

MongoDB-Logo

InfluxDB

InfluxDB-Logo

InfluxDB ist eine speziell für Zeitreihendaten entwickelte Open-Source-Datenbank.

Mit ihrer hohen Schreib- und Abfragegeschwindigkeit wird sie unter anderem in der Industrie eingesetzt, um Daten von Sensoren und anderen Geräten zu speichern und zu analysieren.

InfluxDB-Logo

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.

manubes

Produktionsdaten zentral verwalten

manubes ermöglicht die Erfassung, Strukturierung und Verwaltung von Produktionsdaten in der Cloud. Mit leistungsfähigen Funktionen zur Datenmodellierung, interaktiven Visualisierung und Workflow-Automatisierung unterstützt manubes die digitale Transformation in der Fertigungs- und Prozessindustrie.

Testen Sie manubes –
Kostenlos und unverbindlich

Testen Sie sämtliche manubes-Features in Ihrer persönlichen Cloud-Umgebung.