Schreibt Lightroom tatsächlich die *KOMPLETTE* DNG-Datei bei jeder Metadatenänderung neu?

Wenn Lightroom Metadatenänderungen in einer DNG-Datei speichert, geschieht Folgendes:

A) Schreiben Sie einfach den XMP/Metadaten-Teil der DNG-Datei in die vorhandene Datei um, dh eine teilweise Dateiaktualisierung.

oder

B) Überschreiben Sie die gesamte Datei auf die Festplatte (an Ort und Stelle).

oder

C) Löschen Sie die vorhandene Datei und schreiben Sie eine ganz neue Datei auf die Festplatte (natürlich mit demselben Dateinamen). (Ich bin mir nicht einmal sicher, ob sich dies technisch von B oben unterscheidet)

Falls es relevant ist / einen Unterschied macht, verwende ich Lightroom unter Windows 8.1 64bit auf einem NTFS-Dateisystem auf einer sich normal drehenden Festplatte (nicht SSD). Aber auch gespannt, ob die Antwort für andere Systeme oder SSDs anders ist.

Grundsätzlich erwäge ich die Verwendung von DNGs mit eingebetteter Original-RAW-Datei, sodass meine DNG-Dateien etwa 30 MB groß wären. Ich frage mich nur, ob diese ganzen 30 MB jedes Mal auf die Festplatte geschrieben werden, wenn ich irgendetwas in Lightroom berühre (und selbst wenn ich nichts ändere, was einige Leute gemeldet haben).

Es scheint ein sehr gutes Argument dafür zu sein, separate eigenständige XMP-Dateien zu haben, wobei in diesem Fall nur die kleine XMP-Datei mit Änderungen neu geschrieben wird und die Rohbilddatei nie neu geschrieben wird. Ich weiß nicht, ob XMP in die Bilddatei integriert ist. Es ist technisch möglich, nur die betroffenen Festplattensektoren neu zu schreiben, aber würde ich vermuten, dass es viel einfacher ist, die gesamte Datei neu zu schreiben?
Abgesehen davon denke ich, dass SSDs jetzt so weit sind, dass Sie bei normaler Verwendung ihre Schreibfähigkeit nicht ausschöpfen werden. Allerdings haben sie unterschiedliche Fehlermodi für sich drehende Festplatten, was bedeutet, dass Sie immer noch Ihre Backups haben sollten.
Ich hatte eine miserable Leistung festgestellt, als ich mit dng Updates für eine größere Anzahl von Dateien durchführte. Das Schreiben nur in xmp war eine enorme Verbesserung.

Antworten (2)

Wenn die Metadaten in die Hauptdatei integriert werden, wird die Hauptdatei im Allgemeinen von den meisten Betriebssystemen/Dateisystemen in den meisten Computersystemen, die von Fotografen verwendet werden, umgeschrieben. Mir ist kein aktuelles Szenario bekannt, das, selbst wenn ein Dateisystem die Möglichkeit des teilweisen Umschreibens von Dateien zulässt, tatsächlich so bei der Verwendung von Lightroom auftritt.

Wenn die Metadaten in einer separaten Sidecar-Datei gespeichert sind, muss nur die Sidecar-Datei neu geschrieben werden. Mit Lightroom hat der Benutzer die Möglichkeit, separate XMP-Sidecar-Dateien zum Speichern von Metadaten und Bearbeitungsschritten beim Arbeiten mit einer Bilddatei zu verwenden. Der Benutzer hat auch die Möglichkeit, die Metadaten in die Bilddatei selbst aufzunehmen. Beide Varianten haben Vor- und Nachteile .

Es gibt Dateisysteme, die Änderungen an Dateien so handhaben, dass nicht bei jeder Dateiänderung eine ganze Datei neu geschrieben wird, aber sie werden von Verbrauchern, die ihre Heimcomputer zum Speichern von Fotos verwenden, nicht sehr häufig verwendet, oder sogar von die meisten professionellen Fotografen. Wenn Sie Dateisysteme wie ZFS oder ReFS (die sogar theoretisch die Möglichkeit des teilweisen Umschreibens von Dateien zulassen) zum Speichern von Fotos verwenden, befinden Sie sich in einer sehr kleinen Minderheit.

Da die Zahl der Benutzer wächst, die Apples neues APFS (durch bevorstehenden Hardwareaustausch) übernehmen, kann sich dies im Laufe der Zeit in Zukunft ändern, und Anwendungen wie Lightroom könnten diese Funktion in Zukunft nutzen. Bisher verwenden die meisten Fotografen kein solches Dateisystem auf ihren Computern, und selbst diejenigen, die es tun, gewinnen nichts in Bezug auf das teilweise Schreiben von Dateien, wenn die Anwendung wie Lightroom die Fähigkeit nicht nutzt.

Ich habe es noch nicht mit APFS versucht (ich vermeide Beta-Betriebssysteme) und ich verwende Lightroom nicht auf Windows Server (die einzige Möglichkeit, ReFS auszuprobieren), aber ich kann Ihnen sagen, dass Ihre Aussage zu ZFS falsch ist, und ich bezweifle es ist richtig für APFS oder ReFS. Ich habe Lightroom CC 2015.mumble vor einigen Monaten unter OS X 10.11 mit O3X ZFS ausgeführt trussund beobachtet, wie es bei jedem Metadaten-Update die gesamte Datei ausschreibt. Ich denke, Sie werden durch die CoW-Funktion dieser Dateisysteme verwirrt, die lediglich ein vollständiges Neuschreiben der Datei vermeidet, wenn die App nur einen Teil der Datei berührt. Wenn die App nicht mitspielt, kann dich der FS nicht retten.
Ich bin mir nicht sicher, ob der zweite Absatz überhaupt impliziert, was eine bestimmte Anwendung tut, nur dass einige der hochmodernen Dateisysteme die Möglichkeit bieten, solche Fähigkeiten in Zukunft zu nutzen, die die aktuelle Realität ändern können, was der Hauptinhalt des ist Antworten..
@WarrenYoung Ihre Kommentare zu dieser Antwort scheinen das genaue Gegenteil Ihrer Kommentare hier zu argumentieren: photo.stackexchange.com/a/79564/15871
Betreff: Widersprüchliche Kommentare, genau das meinte ich, als ich sagte, dass Sie meiner Meinung nach verwirrt sind. Mein Kommentar zu Ihrer anderen Antwort befasst sich nur mit dem von Ihnen angesprochenen Problem der Datensicherheit. CoW hat keinen Einfluss auf das E/A-Verhalten der Anwendung, es teilt Ihnen nur mit, was das Dateisystem auf der Festplatte als Ergebnis der E/A der Anwendung tut. Die meisten Tutorials zu ZFS werden dies erklären. Hier ist eine kurze Zusammenfassung von ZFS .
Betreff: Mein obiger Kommentar zum Umschreiben der "gesamten Datei", ich habe gerade meine Tests wiederholt, und dieses Mal erhalte ich andere Ergebnisse . Ich vermute, dass ich in meinem ursprünglichen Test nur schlampig war, anstatt dass sich das Verhalten von Lightroom seit dem letzten Test geändert hat. Die Hauptaussage meines obigen Kommentars besteht jedoch darin, dass die Ergebnisse unabhängig vom Dateisystem sind. CoW ändert das Anwendungsverhalten nicht stillschweigend, um vollständige Dateiumschreibungen in teilweise Dateiumschreibungen umzuwandeln. Es wirkt sich nur auf die Sicherheit aus.
@MichaelClark Meine Frage bezieht sich wirklich darauf, was Lightroom tut, nicht auf das Betriebssystem/Dateisystem. Alle gängigen Betriebssysteme und Dateisysteme unterstützen das Bearbeiten von Dateien, ohne die gesamte Datei neu zu schreiben. Eine 1-Byte-Änderung an einem 100-GB-Truecrypt-Volume oder einer VM-Image-Datei führt niemals dazu, dass 100 GB auf die Festplatte neu geschrieben werden, was nutzlos wäre. Woher stammen Ihre Informationen bezüglich Lightroom, das die gesamte DNG-Datei auf die Festplatte umschreibt, anstatt sie nur zu ändern? (für Metadatenänderungen)

Lightroom schreibt nicht die gesamte DNG-Datei neu, wenn Metadaten in der Datei gespeichert werden, entweder über Cmd/Ctrl-Soder wenn Sie die Katalogeinstellung „Änderungen automatisch in XMP schreiben“ aktiviert haben.

Ich habe dies überprüft, indem ich Lightroom CC 2016.6.1 unter OS X 10.11.6 unter überwacht dtrussund dann ein Perl-Skript geschrieben habe, um die gesammelten Daten zu analysieren. Die Kommentare in diesem Skript erklären die Methode, aber wenn Sie nur einen typischen Satz von Ergebnissen sehen möchten, gehen Sie hier hin:

Daten-I/O für Datei _1020153.RW2:
    256K gelesen
Daten-I/O für Datei _1020153.xmp:
    6.87K gelesen
    3.59K geschrieben
Daten-I/O für Datei _1020176.dng:
    3,38 Millionen gelesen
    6.52K geschrieben

Die beiden oben genannten Rohdateien wurden am selben Tag von derselben Kamera aufgenommen, und die I/O kommt von der Anwendung desselben Schlüsselworts auf jede Datei. Der einzige Unterschied besteht darin, dass die eine die native Rohdatei der Kamera (Panasonic RW2) ist und die andere vor dem Test von Lightroom in DNG konvertiert wurde. Die RW2-Datei ist 18,7 MiB und die DNG-Datei 13,4 MiB groß. (Der Größenunterschied liegt daran, dass DNG eine bessere verlustfreie Komprimierung verwendet, als es für native Camera Raw-Formate typisch ist.)

Wie Sie sehen können, hat das DNG-Update, obwohl keines der beiden Updates annähernd genug Daten geschrieben hat, um die gesamte Datei neu zu schreiben, etwa 13-mal so viel gelesen und fast 2-mal so viel geschrieben.

Interessant ist auch, dass Lightroom im nativen Camera Raw-Fall mehr als nur in die XMP-Datei schreibt. Es liest auch eine beträchtliche Datenmenge aus der Rohdatei, wahrscheinlich um sich zu vergewissern, dass sich die Rohdatei nicht darunter verändert hat, bevor es in die begleitende XMP-Datei schreibt.

Dieses einzelne Testergebnis würde ich an Ihrer Stelle jedoch nicht als repräsentativ ansehen. Probieren Sie es an Ihren eigenen Dateien aus. Es würde mich nicht wundern, wenn Sie zu anderen Ergebnissen kommen.

Beachten Sie, dass die vollen Kosten für diese I/Os nur bezahlt werden, wenn Sie zum ersten Mal in einer bestimmten Lightroom-Sitzung an einem bestimmten Satz von Dateien arbeiten. Wenn Sie eine Reihe von Schlüsselwörtern nacheinander anwenden, werden insbesondere die Daten fast sofort gelesen, da sich der Dateiinhalt immer noch im Puffercache Ihres Betriebssystems befindet.

dtrussist für Windows nicht verfügbar, aber es gibt gleichwertige Alternativen . Das Anpassen des Perl-Analyseskripts an die Arbeit mit der Ausgabe solcher Tools sollte einfach sein.

Der Unterschied in den Komprimierungsmethoden ist der Hauptfaktor, aber der Größenunterschied kann auch teilweise darauf zurückzuführen sein, wie Adobe-Produkte, einschließlich des DNG-Konverters, Informationen in Rohdateien verwerfen, die Adobe-Produkte nicht verwenden.