1.5 KiB
1.5 KiB
Roadmap: Bild-Deduplizierung & Medien-Hygiene
Ziele
- Speicherverbrauch reduzieren
- Medienbestand konsistent halten
- Pipeline stabilisieren (keine Mehrfach-Uploads und -Speicherungen)
Vorgehen (sicher und reversibel)
-
Index aufbauen (Read-Only):
- Alle Bilder (
.jpg/.jpeg/.png/.webp/.gif) in definierten Verzeichnissen scannen - Für jede Datei:
sha256(Byte-Hash) +pHash(perzeptuell) berechnen - Ergebnis als SQLite-Index + CSV-Report speichern
- Alle Bilder (
-
Kanonisierung & Referenzen prüfen:
- Pro Duplikatgruppe genau eine kanonische Datei wählen (größte/neueste)
- Alle internen Referenzen (DB/JSON) testweise auf Kanon aktualisieren (Dry-Run)
-
Speicher sparen ohne Risiko:
- Nicht-kanonische Dateien durch Hardlinks auf den Kanon ersetzen (gleiches FS)
- Alternativ: nur löschen, wenn Referenzen sicher auf Kanon zeigen
-
Prävention für die Zukunft:
- Beim Speichern: Content-Addressed Storage (
<sha256>.<ext>) - In DB ein
content_hash-Feld mit Unique-Constraint - Vor jedem Speichern/Upload: Hash lookup → vorhandene Datei wiederverwenden
- Beim Speichern: Content-Addressed Storage (
Akzeptanzkriterien
- Report listet alle Duplikatgruppen mit Pfaden und Größenersparnis
- Dry-Run zeigt geplante Änderungen ohne Schreibzugriff
- Nach „Anwenden“ verweisen alle Referenzen auf die kanonische Datei
- Re-Run findet keine Duplikate mehr (idempotent)
- Rollback möglich via Backup der Reports/Indexdatei
Metriken
- Anzahl Bilder vorher/nachher
- Ersparter Speicher (MB/GB)
- Anzahl gruppierter Duplikate