Ich hatte neulich so einen 1.21-Gigawatt-Moment. Zurück in die Zukunft? Kennt Ihr!
So ähnlich ging es mir, als ich ein paar Experimente mit meinem Lightroom-Katalog machen wollte und dabei sah, wie groß der inzwischen geworden war – der hatte sogar mehr als 1,21 Gigabyte: Satte 1,74 Gigabyte war er groß für 66.980 Fotos.
Zu viel? Zu wenig? Ich forschte nach und am Ende war der Katalog nur noch 0,78 Gigabyte groß – oder klein. Was lässt den Katalog so groß werden? Ich begab mich auf die Suche und war durchaus verblüfft smile
Lightroom Dateien und was sie enthalten
Lightroom legt verschiedene Dateien und Verzeichnisse an:
- Eine .lrcat Datei. Das ist der eigentliche Katalog. Hier stehen Informationen zu den Bildern, Sammlungen, Stichworten, EXIF-Daten und so weiter drin. Die Bilder selbst sind hier nicht enthalten – die RAW-Daten liegen lose auf dem Datenträger in einem beim Import gewählten Verzeichnis und die Vorschau Dateien werden getrennt vom Katalog verwaltet.
- Eine Previews.lrdata Datei bzw. eigentlich ist es ein Verzeichnis. Hier werden in Unterverzeichnissen die berechneten Vorschaubilder abgelegt. Lightroom kümmert sich selbst um die Verwaltung. Die kleinen Vorschaubilder bleiben, so weit ich weiß, ewig erhalten damit die Bilderübersicht überhaupt etwas anzeigen kann. Die ganz großen 1:1-Vorschauen löscht Lightroom nach einer bestimmten Zeit, die man in den Einstellungen wählen kann.
- Eine Smart Previews.lrdata Datei bzw. ein Verzeichnis. Hier landen berechnete Smart-Previews. Das sind kleine DNG-Dateien die alle Bearbeitungen der RAW-Daten bei reduzierter Auflösung ermöglichen. Das spart Platz auf Notebooks wenn man unterwegs Bilder bearbeiten mag.
RAW-Daten speichere ich auf einem NAS. Smart-Previews lasse ich nur für ausgewählte Bilder erstellen, damit ich unterwegs und auf Workshops auch mal etwas spontan vorführen kann. Um die Vorschauen kümmert sich Lightroom, da denke ich bisher nicht weiter drüber nach. Ich lasse beim Import 1:1-Vorschauen erzeugen um schnell durch ein Shooting blättern und in die Bilder hineinzoomen zu können – es beschleunigt einfach die Auswahl der guten Bilder und ich weiß, dass der Platz nach 30 Tagen wieder freigegeben wird, so ist es bei mir eingestellt.
Aber der Katalog. Technisch betrachtet ist der Lightroom-Katalog eine SQLite-Datenbank. Nichts besonderes also. In dieser Datenbank gibt es viele Tabellen mit vielen Spalten und Daten. Für jedes Bild steht hier, welche Stichworte zugewiesen wurden, welche EXIF-Daten es hat, Kommentare, Informationen über virtuelle Kopien, Sammlungen und welche Bilder enthalten sind und so weiter. Reine Textinformationen zu jedem Bild.
Mein Lightroom-Katalog und die Historie
Ich habe nun 66.980 Bilder im Katalog und war doch etwas erschrocken über eine 1,74 GB große Katalogdatei. Wie konnte das passieren?
Ich kenne mich ein wenig mit SQL aus. So suchte ich mir eine kleine App um auf die SQLite-Datenbank zugreifen zu können und schaute mir an, welche Tabellen mir ungewöhnlich groß erschienen.
Dabei stieß ich recht schnell auf die Tabelle mit der Bearbeitungs-Historie.
Wenn Ihr ein Bild in Lightroom bearbeitet, wird bei jeder Änderung an einem Regler ein Eintrag in die Historie geschrieben. Die Historie kann man links in der Seitenleiste sehen und man kann jederzeit, Schritt für Schritt zurück gehen um seine letzten Änderungen rückgängig zu machen.
In dieser Tabelle hatte ich fast 300.000 Einträge. Das haut mich als Softwareentwickler zwar nicht aus den Socken, war aber dennoch die umfangreichste Tabelle. Sollte das etwa…
Es gibt in Lightroom selbst eine Möglichkeit, die Historie für ein oder mehrere Bilder komplett zu löschen. Ich machte also ein Backup des Kataloges und probierte es aus. Alle Bilder markieren, Historie löschen, warten, Katalog optimieren lassen.
Ergebnis: ~680 MB
WOW!
Historie gezielter löschen – SQL
Der Haken an der Aktion: Alle Historien-Einträge waren nun weg. Im Grunde nicht schlimm, Bilder werden bei der Aktion nicht verändert und häufig lege ich mir Snapshots oder virtuelle Kopien an. Es gibt aber normalerweise in der Historie einen Import-Eintrag und auch Export-Einträge, jeweils mit Datum. Auch wenn man druckt wird ein Eintrag mit Datum angelegt.
Die Druck-Einträge waren mir egal, die Import- und Export-Einträge wollte ich gerne behalten. Aus Sentimentalität, Bequemlichkeit oder Verlustängsten? Eigentlich Quatsch aber nun wollte ich es wissen.
[red_box]
ACHTUNG:
Wenn SQL für Euch nur drei lustige Buchstaben sind, wenn Ihr nicht wisst, wie SQLite gesprochen wird, wenn delete, from, where und like nur englische Vokabeln für Euch sind und Prozentzeichen direkt nach Anführungszeichen einfach kaputt für Euch aussehen, dann versucht das folgende nicht nachzumachen!
Ganz deutlich: Ihr könnt Euch Euren kompletten Katalog mit Leichtigkeit und einem kleinen Tippfehler komplett zerstören!
Wenn Ihr doch nicht widerstehen könnt: Macht Backups! Viele Backups! Und stellt sicher, dass Ihr die Daten aus dem Backup auch wieder raus bekommt.
Ich gebe keinen Support für dieses Vorgehen und ich helfe nicht bei der Rettung von Daten smile
[/red_box]
Ich holte mir den Katalog aus der Sicherung zurück und öffnete ihn im SQLite Studio. Über einen SQL-Befehl ließ ich alle Historien-Einträge löschen die nicht Import oder Export enthielten.
Ergebnis: ~787 MB – Immer noch knapp ein Gigabyte gespart.
Aber würde das überhaupt funktionieren? Zwischen dem Historie-Eintrag Import und Export lagen ja teilweise sehr viele Einzelschritte die nun alle weg waren, wie würde sich Lightroom nun also verhalten?
Probieren geht über studieren. Ich öffnete Lightroom und sah mir ein paar ausgewählte Beispiele an. Tatsächlich funktionierte die Historie weiterhin! Wählte ich den Export-Eintrag, bekam ich das Bild in der aktuellen Entwicklung – bzw. von dem Stand der beim Export aktuell war. Wählte ich den Import-Eintrag, bekam ich das Bild wie es beim Import aussah.
Das bedeutet wohl, dass Lightroom an jeden einzelnen Historien-Eintrag alle Reglereinstellungen hinterlegt. Ich ging bisher davon aus, dass für jeden Eintrag nur die jeweilige Änderung hinterlegt sei, das kann aber nicht sein.
Denkt man etwas darüber nach, wäre das auch sehr langsam. Man kann ja mit Maus über die Historie wandern und sieht in der Vorschau sehr schnell wie das Bild dann aussah – Müsste Lightroom dafür stets die komplette Historie von unten nach oben durcharbeiten, würde man viele redundante Bearbeitungen ausführen was wenig sinnvoll erscheint.
Zu groß oder nicht?
1,74 Gigabyte erschienen mir extrem groß für meine 66.980 Bilder. Rechnet man sich das mal aus, relativiert sich das aber recht schnell. Pro Bild sind das nur etwa 27 Kilobyte an Informationen. 27.600 Zeichen pro Bild, inklusive aller EXIF-Daten, Stichwörter, Zuordnungen zu Sammlungen und eben auch der Bearbeitungen. Außerdem sind noch Indexe für schnelle Suche und Verknüpfungen zwischen den Tabellen darin enthalten. Man kann sich nun streiten, ob das viel ist oder nicht, von einer grandiosen Verschwendung würde ich aber noch nicht reden.
Möglicherweise könnte man etwas Platz sparen, wenn die Bearbeitungs-Historie nicht jeweils alles speichern würde oder wenn man diese Daten in komprimierter Form ablegen würde. Wer weiß, vielleicht überdenkt Adobe diesen Aspekt noch mal. Technisch gesehen könnte man dies, wenn man eine gute Idee zum Platz sparen gefunden hat, mit jedem Update realisieren.
Fazit
Sollte Euch Euer Lightroom-Katalog ungewöhnlich groß erscheinen, dann löscht doch einfach mal die Bearbeitungs-Historie. Man kann in Lightroom ja alle Bilder markieren, die älter als ein oder zwei Monate sind damit bei den aktuellen Bildern noch alles erhalten bleibt.
Ich muss sagen, dass ich diese Historie so gut wie nie benutzt habe bzw. wenn, dann habe ich sie eher wie Snapshots verwendet. Ich werde mir nun angewöhnen, konsequenter echte Snapshots anzulegen wenn ich einen bestimmten Bearbeitungsstand wirklich sichern möchte und ansonsten die Historie regelmäßig aufzuräumen.
Ob ich das immer mit dem SQL-Tool machen möchte, damit meine Import- und Export-Einträge erhalten bleiben, weiß ich aber nicht. Vielleicht muss ich mir doch mal anschauen, wie man Erweiterungen für Lightroom programmiert wink
Wie oft habe ich mir den letzten Satz schon selbst gesagt – und hab dann doch ein passendes Plugin im Netz gefunden ,-)
Matmaxx,
Und hast du das passende Plugin gefunden.
Meine LR ist bald bei 6GB!!! Hatte das nur dank diesen Blogs festgestellt.
Geil. Du gehst da ja wieder voll ins Dickicht. Schön erklärt.
Wenn ich das jetzt richtig verstehe hat man beim löschen der History kein vorher/nachher mehr. Mit Y Taste. Weil der Import Status fehlt. Ist das korrekt? Das ist der einzige Grund wieso ich die Historie nicht löschen würde, da ich gerne mal das vorher/nachher anschaue.
Und SQLlen tja ich bin kein Programmierer. Viel mir in meinem Ingenieur Studium immer schwer ;)
Ein anderer Kommentar. Nicht zu LR aber nah dran.
Ich habe mir On1 Photo angetan. Und jedesmal wenn ich die On1 öffne beginnt die SW zu arbeiten und frisst wie wild Speicherplatz. Das letzte mal 70GB!!! Die Customer Care Leute wollen bisher nichts dazu sagen. Kann ja nicht sein, das die soviel braucht wenn ich “nur” 15000 Bilder in Favoriten habe.
Andy idea?
OK OK ich habs ja verstanden ich werde das nicht vesuchen… :-/
Das ist wohl die endlose Diskussion Geschwindigkeit versus Speicherplatz. Da Speicherplatz “nichts mehr kostet” bin ich eindeutig für Geschwindigkeit!
Da ist mir ziemlich egal, dass meine REVIEWS (für 14.000 Bilder) 100 GByte verbrauchen.
Die endlose Historie habe ich noch nie verwendet, da ich lieber mit Duplikaten arbeite.
Seit 2016 ist das für mich kein Thema mehr, da ich Lightroom fast nur mehr als Organisations-Tool verwende. Der RAW-Teil ist im Vergleich zu DxO dermassen schlecht und mühsam zu handhaben, die Rauschunterdrückung war schon immer Klassenschlechtester (Vergleich NIK, DxO).
Danke für die Erklärung. Muss ich mir mal anschauen. Mein Archiv-Katalog (habe zwei: Archiv und aktuelle Jobs) belegt mehr als die Hälfte der Festplatte. Enthält aber auch über 350.000 Bilder. Man merkt ja bei der Bearbeitung schon, wenn man viel retuschiert, dass Lightroom langsamer wird.
Danke für den TIPP!!!
Mein LR Katalog wuchs und wuchs …. Zum Schluss 1.4GB für knappe 20.000 Fotos. Was mir schon immer augefallen war: in der Entwicklungshistorie ist jeder 3. Eintrag ein “Export mit xxx Plugin” (das nutze ich um Bilder in verschiedenen Formaten / Auflösungen für Webseiten zu haben die ich für mich automatisch generiere).
Nach deinem Blogeintrag habe ich dann mal mutig ein SQL DELETE angeworfen so dass alle Export Einträge gelöscht wurden – und siehe da – der Katalog ist nur noch 300MB gross :-)))
Und LR scheint noch keine Probleme damit zu haben!
Hat von Euch schon jemand “Nebenwirkungen” gesehen?
Tausend Dank nochmal!