Datenbank Server - was ist das?

Autor:   |  28.01.2020


Datenbank Server Nur die wenigsten Eigentümer eines Computers greifen aktiv auf einen Datenbankserver zurück - ohne ihr Wissen nutzen diesen jedoch aktiv zahlreiche Programme. Es gibt unterschiedliche und konkrete Gründe, dieses Verfahren zu verwenden. Üblicherweise legen Programme veränderbare Daten in Variablen ab, die im Speicher gelagert werden. Für komplexe Strukturen eignet sich dieses Vorgehen jedoch kaum, da es den Arbeitsspeicher belastet, dieser allerdings begrenzt und - verglichen mit einem anderem Speichermedium - relativ klein ist. Angesichts der hohen Zahl an Prozessen, die ein Prozessor simultan verarbeitet, liegt es deshalb nahe, umfangreiche Informationen auf einen Datenbankserver auszulagern.

 

Datenbankserver - Wenig beachtet und kaum zu unterschätzen

Es ist eine gängige Praxis von diversen Programmen, im Hintergrund einen Datenbankserver anzulegen, um universell einsetzbar zu bleiben und in jedem Fall Informationen sicher aufbewahren zu können. Bei einer Speicherung im temporären RAM-Speicher gehen diese unverzüglich verloren, sobald ein Neustart des Systems erfolgt. In zahlreichen Situationen erweist sich ein entsprechendes Vorgehen aber wenig praktikabel - soll beispielsweise eine Vielzahl Dateien inklusive dessen Inhalts indexiert werden, wäre eine neue Erfassung nach jedem Neustart speicher- und rechenintensiv.

Aus diesem Grund legen die meisten Programme ihre Informationen in einer Datenbank ab, die sich praktisch fast unendlich erweitern lässt und - bei einem aktuellen Bedarf - schnell in den Speicher laden lässt. Dabei greifen sie nicht immer auf einen externen Datenbankserver zurück. Einige Prozeduren wie SQLite benötigen keine weiteren Instanzen, sondern speichern Daten direkt auf der Festplatte ab und lesen diese anschließend durch eine Analyse der Datei wieder aus.

Unterschied zwischen einer file- und einer serverorientierten Datenbank

Selbstverständlich ist es möglich, alle relevanten Informationen in einem bestimmten, fest definierten Syntax wie Nummer/Name/Eigenschaft in einer Datei zu speichern. Allerdings eignet sich dieses Vorgehen nur für Objekte bis zu einer gewissen Größe - als problematisch erweisen sich in erster Linie die Geschwindigkeit bei jedem Zugriff und das Abfragen einzelner Parameter. In Vergleich zu einem RAM betragen diese bei einer Festplatte leicht die zehnfache Zeit oder mehr.

In der Realität verwenden dieses Vorgehen allerdings bestimmte Verfahren wie SQLite, Microsoft SQL Server oder PostgreSQL. Sie ermöglichen es, eine Datenbank ohne einen externen Server zu verwalten, der für die Administration zuständig ist. Mit der Größe sinkt dabei jedoch die Effizienz und die Zugriffszeiten. Diese betragen bei MySQL und MariaDB nur einen Bruchteil, da diese besser indexiert werden.

Unterschied zwischen MySQL und MariaDB

Über viele Jahre galt MySQL als Standard für eine Datenbank. Etwa 2015 verließ allerdings der Hauptentwickler Michael Widenius das Projekt, weil er eine zunehmende Kommerzialisierung von MySQL kritisierte. Aus dem öffentlchen und nach Open Source lizenzierten Code entwickelte sich MariaDB, das wegen seiner Vorteile rasch von zahlreichen Linux-Distributionen als Standard übernommen wurde. Für den Endnutzer ist wichtig, dass MariaDB zwar vollständig mit MySQL und dessen Syntax kompatibel ist, aber zusätzliche Funktionen aufweist. Der Umstieg ist deshalb in eine Richtung problemlos möglich. Falls die Datenbank aber zusätzliche Parameter nutzt, die MySQL lediglich in seiner kostenpflichtigen Version anbietet, veruracht eine Umstellung von MariaDB auf MySQL hingegen Probleme.

Datenbankserver - Wofür sind sie notwendig?

In den meisten Fällen laufen Datenbankserver direkt als Dienste auf einem Dedicated oder Virtuellen Server. Bei einem hohen Besucheraufkommen oder sehr großen Datenbanken ist es hingegen sinnvoll, diese auf eigenen High-Performance-Server auszulagern, um die Geschwindigkeit zu optimieren und die Rechenlast zu verteilen. Die Inhalte einer Datenbank umfassen zum Beispiel bei einer Webseite alle globalen Informationen wie zum Beispiel Texte, Links, Nutzer oder verschlüsselt gespeicherte Passwörter. Werden diese auf einem lokalen Webserver zentral gespeichert, ergeben sich Divergenzen, die dessen Geschwindigkeit insgesamt beeinträchtigen.

Foto: Gerd Altmann von Pixabay