9
Ideen Goobi Storage API GOOBI – Steuerungsgremium, 23.9.2011, Berlin Christian Mahnke, SUB Göttingen

Ideen Goobi Storage API

  • Upload
    cmahnke

  • View
    240

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Ideen Goobi Storage API

Ideen Goobi Storage API

GOOBI – Steuerungsgremium, 23.9.2011, BerlinChristian Mahnke, SUB Göttingen

Page 2: Ideen Goobi Storage API

Bestehende Probleme bzw. Vorgaben

• Probleme mir der Anzahl der Unterordner (FS Problem - Dresden)

• Storage Anforderungen skalieren schlecht (SAN Kosten - Göttingen)

• Archivsystem (LZA - Alle)

Page 3: Ideen Goobi Storage API

High Level Anforderungen

• Trennung zwischen Speicherbereichen (z.B. Produktions- und Archivbereich)– Regelbasierte Zuordnung (z.B Zeit, Präfixe für Master etc.)

• Tiefere Hierarchien (z.B. um FS Limitierungen zu umgehen)• Import- / Exportfunktionalität

– Bereitstellung im Präsentationssystem– Bereitstellung auf FTP Server eines Kunden

• Kein zusätzlicher (oder geringer) Aufwand für Systemadministratoren gewünscht

• Integritätsprüfungen und Ausfallsicherheit, sowie Nachvollziehbarkeit notwendig

• Projektspezifische Konfigurationen (z.B. für zeitkritische Aufträge)• Implementierungen von Anforderungen sollten kombinierbar sein• Externe Zugriffsverfahren (z.B. via Samba) sollten berücksichtigt werden

– Externe Applikationen (über CLI, z.B. Jhove(2)) sollen genutzt werden können.

Page 4: Ideen Goobi Storage API

Schichten

Storage

Anwendungsebene

Storage Verwaltung

DateisystemMerrittAkubraJCR

Metadaten- editor

Samba / Dateifrei

- gabe

Statistik/Dokumentation

Suche

Storage API

Pair TreeMetadatenIntegritäts-

prüfungRegeln

Im- / Export

Page 5: Ideen Goobi Storage API

Anforderungen Anwendungsebene

• Transparenter Umgang mit Objekten• Nutzung von URIs für interne Referenzierung• Nutzung von Datenströmen (wo möglich)

• Bereitstellung als temporäre Datei für Legacy Code und externe Anwendungen (z.B. Samba)– Berücksichtigung von Berechtigungen

• Synchrone vs. asynchrone Bereitstellung für Nutzer

Page 6: Ideen Goobi Storage API

Anforderungen Storage Verwaltung

• Unterschiedliche Strategien (kombinierbar und projektspezifisch)– CDL Pair Tree– Caches bei Ausfall des unterliegenden Storages

(schreiben)– Generierung von Prozessmetadaten

• Versionierung für Metadaten• Checksummen, ggf. inklusive Integritätsprüfung,

Transaktionssicherheit• Unterschiedliche Aktivierungen

– Manuelle Zuordnung (z.B. Export)– Schrittgesteuert (z.B. Archivierung)– Erkennung von ungenutzten Daten basierend auf

Regeln (wie HSM)

Page 7: Ideen Goobi Storage API

Anforderungen Storage

• Unterschiedliche Abstraktionsebenen (Beispiele)– Dateisystem

• Dateien und Verzeichnisse– „Objektspeicher“ – z.B. TextGrid

• Objekte und Kollektionen (Beinhalten jeweils auch komplexe Metadaten)

• Unterschiedliche Semantiken (Beispiele)– Z.B. Update einer Datei vs. Update eines

Objekts (s.o)– Implizite Versionierung (z.B. kein Löschen

möglich)– Sichtbarkeit vs. Publizierung

Page 8: Ideen Goobi Storage API

Bestehende Vorarbeiten

• Anforderungsdefinition• Teilweise prototypische Implementierung im

Rahmen des MassenDigiMathe Projektes für Abbyy Server Kommunikation (siehe Präsentation OCR)

Page 9: Ideen Goobi Storage API

Vielen Dank!

Fragen?

[email protected]

9