Update Datenbankserver

Nach dem Update des Datenbankservers Anfang Oktober stehen neue Möglichkeiten für die Nutzer zur Verfügung

Das URZ bietet seit einigen Jahren allen TU-Angehörigen einen Datenbankservice an, der rege genutzt wird. Gegenwärtig sind über 600 Datenbanken angelegt, die zusammenn knapp 8 GB Speicherplatz belegen.

Nach 3 Jahren Betrieb schien es notwendig zu sein, sowohl Hard- als auch Software der Datenbankserver auf einen neuen Stand zu bringen. Der neue Haupt-Server enthält als Prozessor einen "AMD Athlon(tm) 64 X2 Dual Core 5200+" mit 4GB RAM und zwei Platten mit je 250 GB Kapazität. Ein zweiter, baugleicher Rechner wird - wie schon bisher - als "Slave" für die automatische Replikation und damit on-the-fly-Datensicherung benutzt. Beide Rechner laufen unter Scientific Linux 5.0.

Aus funktionellen Gründen musste auch die MySQL-Software aktualisiert werden. Nunmehr läuft ein MySQL-Server 5.0.22, der den Nutzern eine Reihe neuer Möglichkeiten bietet (s.u.). Die größte Herausforderung beim Übergang auf die neuen Rechner war die Aufgabe, alle vorhandenen Datenbanken (und alle Datenbanklogins) quasi im laufenden Betrieb zu übernehmen. Letztlich scheint das aber erstaunlich konfliktfrei gelungen zu sein, so dass seit 1. Oktober 2007 die neuen Datenbankserver im Produktionsbetrieb laufen. Die Schnittstelle für den Nutzer ist wie bisher der Rechnername mysql.hrz.tu-chemnitz.de.

Was bietet MySQL 5 (bzw. der MySQL-Server 5) an wesentlichen neuen Funktionen?

  • Views
    Mit Hilfe von Views kann man spezielle Darstellungen ("Sichten") von Datenbankinhalten definieren. Mit einem View kann man dann (fast) wie mit einer "richtigen" Tabelle arbeiten.
    Ein Beispiel:

Beispiel
CREATE VIEW beispiel AS SELECT name, telefon FROM adressdaten;
SELECT * FROM beispiel;

  • Stored Procedure und Trigger
    Es handelt sich hier im Mechanismen, die in kommerziellen Datenbanksystemen schon länger bekannt sind. Stored Procedures (SPs) sind selbst definierbare SQL-Prozeduren oder -Funktionen, die direkt vom MySQL-Server gespeichert und ausgeführt werden. Damit ist es möglich, einen Teil der Programmlogik einer Datenbankanwendung vom Klient auf den Server zu verlagern. Zur Erzeugung von SPs steht eine einfache SQL-basierte Programmiersprache zur Verfügung.
    Trigger sind automatischen Aufrufe von SQL-Kommandos vor oder nach bestimmten Operationen (INSERT, UPDATE, DELETE). Man kann damit beispielsweise elegant die Einhaltung semantischer Regeln für die Daten einer Tabelle überwachen, bevor die wirklich eingefügt oder geändert werden.

  • GIS-Funktionen
    In MySQL sind nunmehr spezielle Datentypen und Funktionen zur Arbeit mit geografischen Informationen geschaffen worden.

  • Verschlüsselte Verbindungen
    Zwischen MySQL-Klient und Server können unter Verwendung des SSL-Protokolls (Secure Sockets Layer) sichere Verbindungen aufgebaut werden. Der Kommandozeilenklient mysql ist dazu beispielsweise mit den zusätzlichen Argumenten --ssl --ssl-ca=/var/lib/mysqlssl/server-cert.pem zu starten.

  • INFORMATION_SCHEMA
    Mit Hilfe der serververwalteten, virtuellen Datenbank information_schema können - entsprechende Zugriffsrechte vorausgesetzt - Metainformationen über alle Datenbanken, Tabellen und Spalten ermittelt werden. Dieser Mechanismus geht über das hinaus, was traditionell durch das Kommando show ermittelbar ist.

Details zu allen Neuerungen von MySQL 5 sind den entsprechenden MySQL-Dokumentationen zu entnehmen.


Dr. Wolfgang Riedel, November 2007