bcAdmin 4 und NAS

Aufgrund der immer größer werdenden Datenmengen und den Anforderungen an moderne Homeoffice und Büroarbeit werden zunehmend NAS-Systeme zur zentralen Speicherung von Daten eingesetzt. Diese bieten meist nicht nur den Vorteil des entfernten Zugriffs, sondern haben auch noch Datensicherung-Lösungen implementiert. Die Daten des NAS-Systems lassen sich dann quasi wie eine externe Festplatte auf den lokalen Rechnern benutzen. Dazu wird eine Datenverbindung über das Netzwerk mittels eines Netzwerkprotokolls etabliert. Das NAS selber kümmert sich dann um die adäquate Speicherung mittels des dem System-eigenen Dateisystems. Für den Anwender ist dies alles transparent. Jedoch folgern daraus Auswirkungen auf manche Prozesse beim Speichern von Daten, die sich nicht unbedingt sofort erschließen oder die nur manchmal auftreten.

Wir erhalten zwei bis dreimal jährlich Berichte, dass es zu Problemen bei der Arbeit mit bcAdmin4 und NAS-Systemen kommt. Manchmal ist die Rufsuche und die Prüfung von Aufnahmen sehr langsam. Manchmal kommt es zu diffusen Datenverlusten oder zerstörten Datenbanken. Kann man denn trotzdem zuverlässig mit bcAdmin4 und NAS-Systemen arbeiten? Ja, wenn man versteht, welche Effekt aus welchem Grund auftreten und sich an ein paar Regeln hält.

Die Geschwindigkeit der Zugriffe auf Daten ist beim Zugriff das NAS abhängig davon, wie hoch die momentane Netzlast und die momentane Systemlast des NAS ist. Ist das Netzwerk durch viele Aufgaben blockiert, wird der Zugriff auf Daten langsamer. Hat das NAS gerade sehr viele Anfragen, wird der Zugriff ebenso langsamer. Im Falle von bcAdmin4 bedeutet dies, dass bei langsamen Zugriff die Rufsuche oder die Vorschau von Daten verlangsamt wird. In beiden Fällen müssen die Tonaufnahmen auf den Rechner übertragen werden und Messwertdateien auf dem NAS erzeugt oder gelesen werden. Das bedeutet wiederum: Sie können die Aufnahmen gerne auf einem NAS ablegen und müssen gegebenenfalls mit dem langsameren Arbeiten zufrieden sein, wenn Ihr NAS oder Netzwerk gerade stark ausgelastet sind.

Was Sie jedoch niemals machen sollten, ist die eigentliche Datenbank-Datei auf dem NAS bearbeiten. Die Datenbank-Datei sollte immer nur lokal abgelegt sein, da diese am besten mit dem von Apple verwendeten Dateisystem funktioniert. Die Datenbank ist als SQLite-Datei organisiert. Apple schreibt in der Dokumentation zu der von uns verwendeten Technologie CoreData:

SQLite-Supported File Systems
The SQLite store supports reading data from a file that resides on any type of file system. However, the SQLite store does not generally support writing directly to file systems that do not implement byte-range locking. For DOS file systems and for some NFS file system implementations that do not support byte-range locking correctly, SQLite uses <dbfile>.lock locking, and for SMB file systems it uses flock-style (file level) locking.
In summary, byte-range locking file systems have the best concurrent read/write support; these include HFS+, AFP, and NFS. File systems with simple file locking are also supported but do not allow for as much concurrent read/write access by multiple processes. Simple file locking systems include SMB and DOS. The SQLite store does not support writing to WebDAV file systems.

Bei der Ablage auf dem NAS haben wir neben Abstürzen – die i.d.R. nicht zu Datenverlusten führen – leider mittlerweile bereits mindestens zweimal rückgemeldet bekommen, dass sich Teile der Datenbank ändern. Das bedeutet, es liegen plötzlich Fehler in der Datenbank vor, wie kryptische Einträge oder zum Beispiel fehlenden oder vervielfältigte Arten. Wir hatten beim ersten Auftreten eines solchen Fehlers lange nach der Ursache gesucht und nie gefunden. Dann gab es den Fehler erneut bei einem anderen Kunden und der Kunde hat netterweise über längere Zeit parallel lokal und im NAS gespeichert. So konnten wir mit sehr hoher Wahrscheinlichkeit ein NAS als Ursache ausmachen, da ein solches beim ersten Fall auch zum Einsatz kam.

Nun können wir leider unmöglich die diversen NAS-Systeme bei uns vorhalten, um dann kryptische Fehler zu ermitteln, die von diesen nach wie vor in äußerst seltenen Fällen verursacht werden. Daher besteht unsere Empfehlung Datenbanken immer lokal zu speichern. Wenn Sie die Datenbanken im NAS speichern, geht nicht nur die Versionierung von macOS verloren, sondern es kann in Einzelfällen eben die beschriebenen Probleme geben. Wenn Sie dennoch Datenbanken im NAS speichern und bearbeiten müssen, dann empfehlen wir ein stringentes und regelmässiges Backup, um im Falle solcher Fehler möglichst geringe Datenverluste zu haben. Für den optimalen Komfort empfehlen wir die Arbeit gänzlich lokal durchzuführen und nach Abschluss der Auswertungen der Daten diese dann erst auf dem NAS zu sichern. So profitieren Sie insbesondere bei den neuen Macs mit Silicon-Architektur von deren enormer Geschwindigkeit.