Wenn mindestens einige Kataloginformationen in das Image geschrieben wurden, können Sie eine Datei erneut mit Ihrer Datenbank verbinden. Im Prinzip kann dies eine einzelne eindeutige ID sein.
Dies erspart Ihnen Folgendes:
- Sie haben eine Bilddatei verschoben oder umbenannt.
Wenn Sie weitere Informationen in die Datei schreiben können - Schlüsselwörter, Untertitel -, werden Sie gespeichert aus:
- Ihre Datenbank ist beschädigt.
- Sie haben Ihren Computer aktualisiert und Ihr Datenbankprogramm funktioniert dort nicht.
Eine dritte Option ist das Schreiben von Metadaten in Sidecar-Dateien. In der Regel haben diese Dateien denselben Namen wie die Primärdatei, jedoch ein anderes Suffix.
- Dadurch können alle Ihre Daten wiederhergestellt werden, wenn Ihre Datenbank abstürzt.
Nachteile beim Speichern von Daten im Bild:
Schreiben in Die Originaldateien können die Datei beschädigen. Die meisten RAW-Formate sind mittlerweile gut genug verstanden, um zumindest Zeichenfolgen von Metadaten zu identifizieren und durch Zeichenfolgen gleicher Länge zu ersetzen. Wenn Sie Ihre Kamera anweisen, die Copyright-Zeichenfolge
Copyright 2018 J. Zufälliges Shutterbug-Bild XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
einzugeben Solange der DAM diese Zeichenfolge auf der gleichen Länge hält, sind Sie golden.
Wenn Sie alle Metadaten (oder so viel wie möglich) in den Originalbildern behalten, ist der Zugriff sehr langsam. Ihr Programm muss mindestens die ersten Blöcke jedes Bildes lesen.
-
Das Zurückschreiben von Daten ist zeitaufwändig.
-
Einige Dateiformate haben keine Metadatenfunktion.
-
Einige Dateiformate (Photoshop PSD) sind für das Mangeln von Metadaten bekannt.
-
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 gelesen und geschrieben wird und nicht nur ein Teil davon. Dies hat schwerwiegende Leistungsprobleme.
Nachteile von Datenbanken
Datenbanken sind schnell, aber sie sind blöd, und Sie schreiben in die Mitte von Datenblobs. Wenn die Implementierung der Datenbank solide ist, gibt es nicht viel zu befürchten. Festplatten weisen jedoch Fehler auf, und ein einzelner Fehler kann eine Datenbank teilweise oder vollständig unbrauchbar machen. In ein gutes Datenbankdesign ist Redundanz integriert, damit Sie reparieren / neu erstellen können.
Datenbanken sind häufig proprietär. Daten können aus Gründen der Geschwindigkeit komprimiert werden. Das Herausholen Ihrer Daten kann schwierig sein. (Problem für Benutzer 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 im Hintergrund die Datenbank im Hintergrund zu aktualisieren.
Nachteile von Sidecars
Sie haben um beim Start zig Dateien zu 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 die Sidecar-Datei nicht auch umbenennen, sind Ihre Metadaten nicht mehr mit Ihrem Bild verbunden.
Best Practice
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 sein, oder es kann ein abgeleitetes Tag aus Informationen im Bild sein. Dies kann der EXIF-Zeitstempel sein (nicht eindeutig - mehrere Aufnahmen pro Sekunde, mehrere Kameras). Wenn Ihr Programm Makernotes liest, ist das beste Kameramodell + Seriennummer der Kamera + Zeitstempel + Hundertstelsekunden.
- Sie möchten eine Datenbank für Geschwindigkeit. Es hat natürlich die eindeutige ID
- Sie möchten Sidecars für die Neuerstellung Ihrer Datenbank und für die Datenportabilität. Sie haben die eindeutige ID.
Wenn die Datenbank abstürzt, kann sie über die Beiwagen neu erstellt werden.
Wenn ein Beiwagen beschädigt ist, kann er aus der Datenbank neu erstellt werden.
Wenn ein Bild umbenannt wird, kann die ID verwendet werden, um es wieder mit dem Beiwagen zu verbinden und die Datenbank zu reparieren.
Damit dies funktioniert, müssen Sie viele Zeitstempel verwenden. Wenn der Beiwagen aktueller als der letzte Zeitstempel im Datenbankeintrag ist, ist der Beiwagen der maßgebliche Datensatz.
Angesichts der relativ fragilen Natur von Rohdateien ist die beste Vorgehensweise ein System, das nur null oder einmal in die Rohdatei schreibt. Die Exif
Sidecars müssen nicht in Echtzeit aktualisiert werden. Der beste Weg, dies zu tun, wäre, wenn die Datenbank Änderungen an einem Datensatz vornimmt:
- Erstellen Sie einen neuen Datensatz, der den alten Datensatz in der Datenbank dupliziert.
- Make die Änderung im neuen Datensatz.
- Neuer Datensatz ist markiert, "nicht in Beiwagen geschrieben"
- Alter Datensatz ist als "veraltet" markiert
- Ein anderer Thread schreibt den Sidecar-Dateien werden ausgegeben, die neue ausgeschrieben und dann die alte gelöscht (oder die neue in den Namen der alten umbenannt).
- In regelmäßigen Abständen führen Sie eine Bereinigung der Datenbank durch und entfernen veraltete Datensätze, die älter als X Tage sind . Auf diese Weise können Sie Änderungen rückgängig machen.
Dies ist nicht vollständig: Das Problem der zerstörungsfreien Änderungen wird nicht behoben. Viele Programme ermöglichen jetzt die Erstellung mehrerer Bilder aus derselben Masterdatei und erstellen keine neue Bitmap, sondern eine Datei mit einer Reihe von Anweisungen zum Erstellen des Images aus dem Master. AFAIK alle diese Methoden sind proprietär. Dies führt zu einem Dilemma, da die Apps, die Metadaten gut nachverfolgen können, möglicherweise nicht in der Lage sind, die zerstörungsfreien Änderungen zu verarbeiten. Dies kann kritisch sein, wenn Sie eine Person aus einem Bild herausschneiden.
Die Problemumgehung besteht darin, dass Sie immer ein neues Bitmap-Bild aus einer ernsthaften Bearbeitung herausschreiben. Idealerweise haben Sie ein Skript, das nach neuen NTEs sucht und ein darauf basierendes Bild schreibt, die Metadaten vom Master kopiert und sie irgendwann zur Überprüfung auf Mods in die Metadaten aufruft.