Speichern von Metadaten in Bildern vs. in einer externen Datenbank

Auf meiner Suche nach einer perfekten Fotoverwaltungsanwendung (ich weiß :) habe ich ein wenig zwischen den wenigen Anwendungen verglichen, die mir in Bezug auf Funktionen / Kosten attraktiv erscheinen. Einer der wichtigeren Unterschiede besteht darin, dass einige Anwendungen Metadaten in den Bildern speichern (in gewisser Weise die Originale überschreiben) und andere sie in ihren Datenbanken speichern.

Obwohl ich es vorziehe, die Originale immer unberührt zu lassen, kann ich sehen, wie sich der Ansatz, alle Metadaten mit dem Bild selbst zu haben, als vorteilhaft erweisen könnte.

Gibt es nicht offensichtliche Vor-/Nachteile für den einen oder anderen Ansatz und was wird allgemein als Best Practice angesehen (beachten Sie, dass dies etwas subjektiv ist, könnten Sie also einen oder zwei Gründe nennen)?

Eine ähnliche Frage wurde bereits gestellt, wenn die Erinnerung dient (was ebenfalls zweifelhaft ist :), aber ich konnte sie nicht finden. Wenn jemand darauf stößt, wäre ein Link dazu großartig :)

Antworten (4)

Wenn zumindest einige Katalogisierungsinformationen in das Bild geschrieben wurden, können Sie eine Datei erneut mit Ihrer Datenbank verbinden. Im Prinzip kann dies eine einzige eindeutige ID sein.

Das erspart Ihnen:

  • Sie haben eine Bilddatei verschoben oder umbenannt.

Wenn Sie weitere Informationen in die Datei schreiben können – Schlüsselwörter, Bildunterschriften – dann sind Sie gerettet vor:

  • Ihre Datenbank ist beschädigt.
  • Sie haben Ihren Computer aufgerüstet und Ihr Datenbankprogramm funktioniert dort nicht.

Eine dritte Option besteht darin, Metadaten in Sidecar-Dateien zu schreiben. Normalerweise haben diese Dateien denselben Namen wie die Primärdatei, aber ein anderes Suffix.

  • Dadurch sind alle Ihre Daten wiederherstellbar, wenn Ihre Datenbank abstürzt.

Nachteile der Speicherung von Daten im Bild:

Das Schreiben in die Originaldateien kann die Datei beschädigen. Die meisten RAW-Formate sind inzwischen gut genug verstanden, um Metadaten-Strings zumindest mit gleich langen Strings zu identifizieren und zu ersetzen. Wenn Sie Ihrer Kamera sagen, dass sie den Copyright-String einfügen soll

Copyright 2018 J. Random Shutterbug Image XXXX-XXXX-XXXX-XXXX-XXXX-XXXX  

Solange der DAM diese Saite gleich lang hält, sind Sie goldrichtig.

Das Beibehalten aller Metadaten (oder so viel wie möglich) in den Originalbildern führt zu einem sehr langsamen Zugriff. Ihr Programm muss mindestens die ersten paar Blöcke jedes Bildes lesen.

  • Das Zurückschreiben von Daten ist zeitaufwändig.

  • Einige Dateiformate haben keine Metadatenfunktion.

  • Einige Dateiformate (Photoshop PSD) sind dafür bekannt, Metadaten zu verstümmeln.

  • Ein Fehler während des Schreibvorgangs kann die Bilddatei beschädigen. Die Alternative, eine neue Datei zu schreiben und dann die alte Datei zu ersetzen, erfordert, dass die gesamte Datei sowohl gelesen als auch geschrieben wird und nicht nur ein Teil davon. Dies hat ernsthafte Leistungsprobleme.

Nachteile von Datenbanken

Datenbanken sind schnell, aber sie sind Klumpen, und Sie schreiben mitten in Datenkleckse. Wenn die Implementierung der Datenbank solide ist, gibt es nicht viel zu befürchten. Aber Festplatten haben Fehler, und ein einziger Fehler kann eine Datenbank teilweise oder vollständig unbrauchbar machen. Ein gutes Datenbankdesign verfügt über integrierte Redundanz, sodass Sie reparieren/neu erstellen können.

Datenbanken sind häufig proprietär. Daten können für Geschwindigkeit komprimiert werden. Es kann schwierig sein, Ihre Daten herauszubekommen. (Problem für Leute mit Blende)

Datenbanken werden häufig auf unterschiedliche Weise optimiert. Im Allgemeinen wird Robustheit auf Kosten von Leistung und Komplexität erreicht. Ein Kompromiss besteht darin, alle Änderungen zuerst in eine Transaktionsdatei zu schreiben (schnell ...) und dann führt ein Hintergrundprozess die Datenbankaktualisierung im Hintergrund durch.

Nachteile von Beiwagen

Sie müssen beim Start eine Million Dateien lesen.

Wenn Sie eine Stapeländerung vornehmen (fügen Sie das Schlüsselwort "Italien" zu allen 3000 Ihrer Sommerurlaubsfotos hinzu), hat das Katalogprogramm 3000 Dateien geöffnet, geändert und zurückgeschrieben.

Wenn Sie eine Datei umbenennen und nicht auch die Sidecar-Datei umbenennen, sind Ihre Metadaten nicht mehr mit Ihrem Bild verbunden.

Beste Übung

Meinung nur hier: Entschuldigung.

  • Sie möchten ein eindeutiges Asset-Tag, das sich im Bild befindet. Dies kann ein tatsächliches Tag wie das oben erwähnte Copyright-Tag sein, oder es kann ein abgeleitetes Tag von Informationen im Bild sein. Dies könnte der EXIF-Zeitstempel sein (nicht eindeutig – mehrere Aufnahmen pro Sekunde, mehrere Kameras.) Wenn Ihr Programm Makernotes liest, ist der beste Zeitstempel Kameramodell + Kameraseriennummer + Zeitstempel + Hundertstelsekunde.
  • Sie wollen eine Datenbank für Geschwindigkeit. Es hat natürlich die eindeutige ID
  • Sie möchten Sidecars für den Wiederaufbau Ihrer Datenbank und für die Datenübertragbarkeit. Sie haben die eindeutige ID.

Wenn die Datenbank abstürzt, kann sie aus den Sidecars neu erstellt werden.

Wenn ein Sidecar beschädigt ist, kann es aus der Datenbank neu erstellt werden.

Wenn ein Bild umbenannt wird, kann die ID verwendet werden, um es wieder mit dem Sidecar zu verbinden und die Datenbank zu reparieren.

Damit dies funktioniert, müssen Sie viele Zeitstempel verwenden. Wenn der Sidecar neuer ist als der letzte Zeitstempel im Datenbankdatensatz, dann ist der Sidecar der maßgebliche Datensatz.

Angesichts der relativ fragilen Natur von Raw-Dateien ist die beste Vorgehensweise ein System, das nur null oder einmal in die Raw-Datei schreibt. Das Exif

Sidecars müssen nicht in Echtzeit aktualisiert werden. Der elegante Weg, dies zu tun, wäre, wenn die Datenbank eine Änderung an einem Datensatz vornimmt:

  • Erstellen Sie einen neuen Datensatz, der den alten Datensatz in der Datenbank dupliziert.
  • Nehmen Sie die Änderung im neuen Datensatz vor.
  • Neuer Datensatz wird markiert, "nicht in Sidecar geschrieben"
  • Alter Datensatz ist als "veraltet" gekennzeichnet
  • Ein anderer Thread schreibt die Sidecar-Dateien aus, schreibt die neue aus und löscht dann die alte (oder benennt die neue in den Namen der alten um).
  • Sie führen regelmäßig eine Bereinigung der Datenbank durch und entfernen veraltete Datensätze, die älter als X Tage sind. Dies gibt Ihnen die Möglichkeit, Änderungen rückgängig zu machen.

Dies ist nicht vollständig: Es geht nicht auf das Problem der zerstörungsfreien Bearbeitungen ein. Viele Programme ermöglichen jetzt die Erstellung mehrerer Bilder aus derselben Masterdatei und erstellen kein neues Bitmap, sondern eine Datei mit einer Reihe von Anweisungen, wie das Bild aus der Masterdatei erstellt wird. AFAIK alle diese Methoden sind proprietär. Dies führt zu einem Dilemma, da die Apps, die beim Verfolgen von Metadaten gute Arbeit leisten, möglicherweise nicht in der Lage sind, mit den zerstörungsfreien Bearbeitungen umzugehen. Dies kann kritisch sein, wenn Sie eine Person aus einem Bild ausschneiden.

Die Problemumgehung besteht darin, dass Sie bei einer ernsthaften Bearbeitung immer ein neues Bitmap-Bild schreiben. Idealerweise haben Sie ein Skript, das nach neuen NTEs sucht und darauf basierend ein Bild schreibt, die Metadaten vom Master kopiert und es irgendwann zur Überprüfung auf Mods zu den Metadaten bringt.

Dies scheint eine stark polarisierende Sache zu sein. Während ich niemals eine Software wählen würde, die meine Bilder in irgendeiner Weise verändert, kenne ich Leute, die sich nicht für eine Software entscheiden würden, die die Metadaten nicht in Dateien speichert!

Das Problem ist, dass, wenn die Metadaten extern sind, Dateien nicht berührt werden. Auf meinem System werden Images auf einer schreibgeschützten Partition gemountet, daher garantiere ich, dass keine Software sie ändern kann, was einige Vorteile hat, die für mich wichtig sind :

  • Die Dateien ändern sich nie: Das bedeutet, dass das Dateidatum immer gleich ist und den Zeitpunkt der Aufnahme widerspiegelt. Das Betriebssystem kann verwendet werden, um die Dateien zu finden und zu sortieren, genau wie alle anderen Dateien.
  • Die Dateien ändern sich nie: Sicherungen werden inkrementell fortgesetzt und es werden keine Dateien dupliziert oder ungültig gemacht. Jede Datei kommt nur einmal in der 3rd-Level-Sicherung vor, die sich auf optischen Laufwerken befindet.
  • Die Dateien ändern sich nie: Es besteht kein Risiko einer versehentlichen Beschädigung, Beschädigung oder Überschreibung aufgrund von Fehlern in der Imaging-Anwendung. Korruption und Verlust sind natürlich immer noch möglich, weshalb ich 3 Sicherungsebenen habe.

Der genannte Vorteil von Metadaten in der Datei besteht darin, dass diese beiden nicht getrennt werden können und beim Kopieren oder Verschieben von Dateien immer zusammen reisen.

WAHR. Was sind Ihre Erfahrungen; Hatten Sie Probleme beim Übertragen der Bilder von einem Computer auf den anderen mit den externen Metadaten? Ich bevorzuge diese Vorgehensweise, aber da ich mit drei Maschinen arbeite ...
Nein, aber ich verschiebe meine Bilder im Allgemeinen nicht zwischen Computern, außer für ein vollständiges Upgrade. Beim Anzeigen, Senden oder Drucken von Bildern verwende ich die Veröffentlichungsfunktion von Lightroom, die optional Metadaten in die Ausgabedatei einbettet, die schließlich verworfen wird. Ich nehme an, es wäre umständlicher, wenn die Datei für die gemeinsame Bearbeitung von Fuchs Beispiel zurückgegeben werden müsste.
Nur eine spezifischere Frage/Beispiel; Meine Dateien werden im Allgemeinen auf der externen Festplatte gespeichert. Unterstützt Lightroom das Speichern von Metadaten in einer Datenbank in einem Ordner, in dem sich die Bilddateien befinden (jeder Ordner hat seine eigene Datenbank)? Oder ein ähnliches Schema, das zum einfachen Wechseln zwischen Computern geeignet wäre (alle relevanten Daten zusammen mit Bildern auf einem externen Laufwerk)?
Die Einheit der Lightroom-Daten ist der Katalog . Es kann jeweils nur ein Katalog geöffnet werden, aber Sie können so viele oder so wenige verwenden, wie Sie möchten. Sie könnten zum Beispiel einen Katalog pro Festplatte verwenden, aber es gibt keine automatische Option pro Verzeichnis . Es gibt noch eine andere, in der Lightroom Metadaten im XMP-Side-Car speichert, eine pro Datei. Auch wenn Sie Lightroom in Dateien zurückschreiben lassen, benötigt es immer noch einen Katalog zum Öffnen. So funktioniert diese Software und es kann sich lohnen, zu sehen, wie andere wie AfterShot Pro funktionieren. Dieser erlaubt anscheinend katalogisierte und nicht katalogisierte Arbeitsabläufe, aber ich habe es nicht ausprobiert.
#1 ist leicht zu lösen, da es viele Möglichkeiten gibt, das Datum einer Datei zurückzusetzen, damit es mit dem EXIF-Erfassungsdatum übereinstimmt.
Von Fall zu Fall einfach, ja, fügt aber dennoch Komplexität hinzu. Sie müssten das Datum nach jeder Bearbeitung neu synchronisieren oder einen wiederkehrenden Job haben, um die beiden zu synchronisieren. In beiden Fällen ist dies komplexer, als es nicht zu tun :)
@Itai Ich bin gespannt, was Ihre drei Backup-Ebenen sind. Mir ist klar, dass die Frage nur tangential ist, aber wären Sie bereit, Ihre Antwort zu erweitern, um einfach die von Ihnen verwendeten Ebenen aufzulisten?
@MichaelKjörling - Die erste Ebene ist eine nächtliche Synchronisierung von der Quelle, die sich auf einem Paar SSDs befindet, auf eine Standardfestplatte. Zweite Ebene ist zweiwöchentlich von den internen SSDs auf externe SSDs (um mögliche Fehler aus der 1. Ebene nicht zu kopieren) und dritte Ebene ist ein Stapel doppelt gebrannter Blu-Rays (ein Satz für zu Hause und einer für einen Safe bei der Bank). ). Der gesamte Stapel optischer Datenträger wird etwa alle 5 Jahre aktualisiert, um eine langfristige Beschädigung zu vermeiden. Ja, ich weiß, eine Online-Kopie fehlt, falls die Stadt dem Erdboden gleichgemacht wird!

Ein großes Problem beim Speichern von Metadaten in Bildern besteht darin, dass Formate wie JPEG EXIF ​​proprietäre Metadaten haben, die von Kameraherstellern als „Makernotes“ bezeichnet werden. Das Bearbeiten von EXIF-Daten kann zum vollständigen Verlust der proprietären Metadaten führen.

Wenn Sie beispielsweise neuere Versionen von Picasa verwenden, um einem Bild einen Titel zuzuweisen, gehen alle Nikon-eigenen Daten über das verwendete Objektiv und die Kameraeinstellungen (verwendete Belichtungskorrektur usw.) verloren. Ältere Versionen von Picasa hatten dieses Problem nicht (vermutlich verwendeten sie eine andere Codebasis für diese Funktion). Dies ist ein Beispiel dafür, wie ein Arbeitsablauf, der jetzt zu funktionieren scheint, in einer späteren Version der von Ihnen verwendeten Software höchst unerwünschte Folgen haben kann.

Interessant. Ich habe das nicht erlebt, aber Google war tatsächlich paranoid gegenüber Viren, die in Dateien eingebettet waren, und so oft Bilder neu kodiert, was bedeutete, dass selbst ihre verlustfreie Rotation * nicht verlustfrei war und die Bildgröße auf Kameras mit extrem niedriger Komprimierung wie der K-Serie von Pentax bei IQ erheblich reduzierte ist auf 4 Sterne eingestellt. Das ist jetzt mit dem Umstieg auf Ricoh weg.

Wenn Sie sorgfältig eine richtige DAM-Lösung auswählen, die Ihre vorhandenen Metadaten beim Aktualisieren Ihrer Bilder nicht beschädigt (wie RedGrittyBrick sagte), haben Sie mehr Vorteile beim Speichern Ihrer Metadaten in Bildern:

  • Sie können alle Ihre Bildbeschreibungen (und Hunderte von Stunden Ihrer harten Arbeit) im Falle eines Datenbankausfalls problemlos aus Metadaten wiederherstellen. Beantworten Sie einfach eine Frage: ob Sie bereit sind, Ihre Bildsammlung erneut mit Anmerkungen zu versehen.
  • Sie können Ihre Urheberrechte in Bilder einbetten, damit andere sie nicht illegal verwenden können
  • Sie sind mit Ihrer DAM-Lösung nicht fest verbunden und können später problemlos zu einer anderen DAM-Lösung migrieren. Ziehen Sie also zumindest in Betracht, eine DAM-Lösung zu verwenden, mit der Sie Metadaten in Bildern speichern können, wenn Sie sie eines Tages benötigen.
  • Sie können Informationen zwischen zwei Anwendungen auf Metadatenebene austauschen: Verwenden Sie zum Beispiel Publishing, Editing und Ihr DAM-Tool.

Das oben Gesagte gilt natürlich, wenn es sich bei Ihrer DAM-Lösung um ein ausgereiftes Produkt mit nachweislichem Kundenstamm handelt und Ihre Metadaten gemäß der XMP/MWG-Spezifikation korrekt in die Bilder geschrieben werden.

Und natürlich müssen Sie Ihre Bildoriginale sichern und eine automatische , tägliche Sicherung Ihrer Datenbank veranlassen.

Vermeiden Sie DAM-Lösungen mit den folgenden Problemen:

  • Eingeschränkte Unterstützung von Metadatenstandards. Zufällige Unterstützung für XMP- oder systemeigene formatspezifische Metadaten.
  • Falsch geschriebene Metadaten, die nicht so gelesen werden können, wie sie geschrieben wurden. Beispielsweise können nur sehr wenige Produkte hierarchische Schlüsselwörter korrekt speichern/lesen und den Standort gemäß den IPTC\XMP\MWG-Spezifikationen in Region\Land\Bundesland\Stadt\Ort aufteilen.
  • Begrenzter Erfolg beim Schreiben von Metadaten für verschiedene Formate, einschließlich Camera RAW, PNG oder PDF.
Aus Ihrer Liste von Vorteilen zum Speichern von Metadaten in der eigentlichen Bilddatei: Nr. 1 wird durch Backups abgedeckt, die Sie sowieso in jedem vernünftigen Arbeitsablauf benötigen. (Fügen Sie einfach die Datenbank/den Katalog/wie auch immer es heißt ein.) #2 ist strittig, da Metadaten leicht entfernt werden können und an sich nicht die unbefugte Verwendung verhindern (obwohl es es einfacher machen könnte, zu beweisen, dass ein Bild Ihnen gehört, wenn Sie darauf stoßen). #3 kann durch Metadaten-Import/Export-Funktionalität oder Tools von Drittanbietern gehandhabt werden. #4 ist ein möglicher Vorteil.
#1. Ein Teil Ihrer Datenbank ist möglicherweise beschädigt und Sie werden dieses Problem nicht sofort sehen (sagen wir nach einer Woche). Wenn Ihre Backups nachts laufen und Sie abends ein Problem mit Ihrer Datenbank haben, verlieren Sie einen Tag Arbeit. #2. Ja, aber dies ist eine zusätzliche Information über Ihre Rechte, und einige Websites zum Teilen von Fotos werden Ihre Urheberrechte zusammen mit einigen anderen Metadateninformationen extrahieren und veröffentlichen. #3. Ihre aktuelle DAM-Lösung ist möglicherweise nicht in der Importliste Ihrer zukünftigen DAM-Lösung, sagen wir nach 5 Jahren. Während alle seriösen DAMs in der Lage sein müssen, Metadaten aus Dokumenten zu extrahieren.
Und ich wünschte, wir hätten eine Auswahl an guten DAMs, mit denen wir arbeiten könnten. Ich kenne keine , die meinen Anforderungen auch nur annähernd gerecht wird.