Hallo, herzlich willkommen, ein frohes neues Jahr, und danke für die lobenden Worte!
Die lokale Variante der mAirListDB nutzt als Datenbank-Engine SQLite. Das ist eine kleine DLL, die einen SQL-Datenbankserver implementiert. Die Daten werden dabei, wie schon beobachtet, in einer einzelnen Datei abgelegt. SQLite ist heutzutage sehr verbreitet und findet insbesondere in eingebetteten Systemen Verwendung, zum Beispiel in Smartphones. Für den Programmierer ist SQLite eine tolle Sache, weil man damit sehr leicht Binärdaten auf der Festplatte verwalten kann, und zwar über eine standadisierte Schnittstelle (eben SQL).
Leider stößt SQLite sehr schnell an seine Grenzen, wenn mehrere Prozesse gleichzeitig auf die Datenbankdatei zugreifen wollen, insbesondere wenn das auch noch über das Netzwerk geschieht. Es darf nämlich immer nur ein Prozess gleichzeitig die Datei öffnen. Im besten Falle wird alles sehr langsam. Im schlimmsten Fall hagelt es irgendwann Fehlermeldungen der Art “Database is locked”.
Genau an diesen Punkt bietet sich der Einsatz einer echten SQL-Datenbank an, die für den Einsatz in einem Netzwerk konzipiert ist. Die Wahl fiel dabei auf PostgreSQL, weil das einzige Datenbankserver ist, der absolut kostenlos ist und dabei einen immensen Funktionsumfang bietet.
Dort ist der gleichzeitige Zugriff mehrerer Clients dann gar kein Problem mehr. Und es gibt einige Funktionen, die für den Einsatz im Netzwerk sehr praktisch sind. Zum Beispiel eine Benutzerverwaltung und die Möglichkeit, bestimmten Benutzergruppen (oder “Rollen”) separate Schreib-/Leserechte auf verschiedene Tabellen zu geben. Letzteres wird daher auch nur von der netzwerkbasierten mAirListDB unterstützt.
Es gibt noch zwei andere Features, die nur für die netzwerkbasierte mAirListDB implementiert sind: Zum einen der Import neuer Elemente per Drag&Drop in die Datenbank-Bibliothek (die lokale DB beherrscht ausschließlich den Import per Synchronisation). Zum anderen die Umleitung der Speicherorte in lokale Ordner, ein sehr nützliches Feature, wenn man aus Sicherheitsgründen das Musikarchiv lokal auf der Festplatte der Studiorechner spiegeln möchte.
Die lokale mAirListDB sollte also nur verwendet werden, wenn mAirList isoliert auf einem einzelnen Rechner läuft. (Daher ist es auch die einzige Variante, die von der Personal Edition unterstützt wird.) Wenn die mAirListDB in einem Redaktionsnetzwerk eingesetzt werden soll, sollte man immer die netzwerkbasierte Variante wählen, auch wenn die erstmalige Einrichtung etwas schwieriger ist.
Übrigens ist ein Backup der PostgreSQL-Datenbank gar nicht so schwierig. Dafür gibt es nämlich ein mitgeliefertes Tool, “pg_dump”, was man einfach einmal pro Tag mit den entsprechenden Parametern aufruft: “pg_dump -Fc mairlist >c:\backup.db” - sichert den Inhalt der Datenbank “mairlist” in die Datei “c:\backup.db” im “custom”-Format (das sich für eine leichte Wiederherstellung eignet).