Deduplicating Media Storage Engine (DMSE) für binäre Inhalte
OpenCms 22 führt die Deduplicating Media Storage Engine (DMSE) ein, eine neue optionale Speicherschicht für Mediendateien wie Bilder, PDFs und Word-Dokumente. Die Deduplizierung reduziert die Datenbankgröße erheblich, insbesondere in größeren OpenCms-Installationen. Die DMSE speichert jede Binärdatei nur einmal pro Installation: Identische Inhalte werden als eine einzige Kopie abgelegt, die über ihren SHA-512-Hash identifiziert wird. Das gilt sowohl für dieselbe Datei im Online- und Offline-Projekt als auch für dasselbe Bild, das in mehrere Ordner hochgeladen wurde.
Die DMSE unterstützt mehrere Storage-Backends. Binärdateien können in der OpenCms-Datenbank bleiben oder in einen S3-kompatiblen Objektspeicher verschoben werden. Das Storage-Backend lässt sich auch nachträglich wechseln.
Die Auswirkung auf die Datenbankgröße ist beträchtlich: In typischen Installationen verringert allein die Deduplizierung die Datenbankgröße um rund 40 %, und das Verschieben der Binärdateien nach S3 reduziert sie um 80 % oder mehr.
Für Redakteure und Anwender ändert sich nichts. Alle Inhalte werden wie bisher in der OpenCms Workplace verwaltet. Die DMSE arbeitet transparent im Hintergrund und bestimmt lediglich, wie und wo Binärdaten physisch gespeichert werden.
Die DMSE ist nur in der Jakarta-Variante von OpenCms 22 verfügbar.
Schrittweise Einführung
Bei neuen OpenCms 22 Installationen ist die DMSE standardmäßig aktiviert.
Bestehende Installationen können im Rahmen eines Upgrades ebenfalls auf die DMSE umgestellt werden. In diesem Fall kann die DMSE zunächst im Kompatibilitätsmodus betrieben werden, in dem Binär- und Bilddateien weiterhin wie bisher gespeichert werden. Die Deduplizierungsfunktion der Speicherschicht kann dann später aktiviert werden.
Datenbank oder S3
Die Nutzung der DMSE erfordert kein externes Speichersystem. Das Datenbank-Storage-Backend bietet die Deduplizierung von Mediendateien, ohne dass zusätzliche Speicherinfrastruktur benötigt wird.
Für Installationen mit großen oder schnell wachsenden Medienbeständen kann stattdessen ein S3-kompatibler Objektspeicher verwendet werden. Damit lassen sich große Mengen an Binärdaten von der OpenCms-Datenbank trennen und flexibler verwalten.
Sicherheit und Zugriffskontrolle
Die Verwendung eines externen Storage-Backends wie S3 mit der DMSE ändert nichts am Sicherheitsmodell von OpenCms. Mediendateien bleiben Teil des OpenCms VFS und werden weiterhin durch das ACL-Berechtigungssystem von OpenCms geschützt. Das Storage-Backend bestimmt lediglich, wo die Binärdaten physisch gespeichert werden; geschützte Inhalte werden dadurch nicht öffentlich zugänglich.
Wie bei jedem externen Speicherdienst muss das Storage-Backend selbst sicher konfiguriert werden.
Weitere Informationen
Mit der DMSE schafft OpenCms die Grundlage für eine effiziente und flexible Speicherung großer Medienbestände: vollständig transparent für Redakteure und Anwender und ohne Änderungen an der gewohnten Arbeit mit dem OpenCms VFS.
Weitere Informationen zur DMSE, einschließlich Konfigurationsoptionen, Storage-Policies, verfügbaren Backends und der Migration bestehender Inhalte, finden Sie in der OpenCms-Dokumentation.