Skip to main content
Participant
November 17, 2024
Open for Voting

P: "lrcat-data" and "lrcat" files should be merged into one

  • November 17, 2024
  • 2 replies
  • 355 views

For as long as I used Lightroom, there was always one catalog file: lrcat. And it was good. All I needed to restore catalog was one file. 

 

Since IDK when there is another catalog file: lrcat-data

 

I learned this hard way, when I decided to format my disk and restore everything from backup.

 

Why 2 files which both store photo metadata, are kept separate? This does not make sense to me. Obviously they could be stored together in one file, which would make life easier.

 

Idea here is to merge them into one file and restore simplicity of one file approach.

2 replies

johnrellis
Legend
November 17, 2024

"Why 2 files which both store photo metadata, are kept separate?"

 

The .lrcat file is a SQLite relational database that stores the myriad "facts" about a photo -- metadata fields, develop settings, the location in the file system, etc. Each "fact" typically ranges in size from a byte or two to several hundred bytes. If the the .lrcat file gets lost without a backup or without .xmp files, you're totally screwed, losing all the information about your photos.

 

The .lrcat-data file is a RocksDB persistent data store, storing the actual bit masks computed for AI masks and Remove. These bit masks can be tens of thousands of bytes each. If the .lrcat-data file gets deleted, LR will recompute all the bit masks, which could take a long time, and in theory, the recomputation should produce the same exact results.

 

Relational databases like SQLite are designed for  storing millions of little facts.  Whereas the RocksDB is designed for storing larger blobs of bytes more efficiently.  I presume that Adobe chose to split out the masks into the RocksDB .lrcata-data file because they believed it would yield significant performance advantages. I haven't seen any concrete evidence one way or the other.

GoldingD
Legend
November 17, 2024

Well, read about that file here:

 

 

(And to infuriate you more notice that it can be included in the backup IF it is large enough)

Note:

    In case of images with an AI mask, yourcatalogname.lrcat-data file will be > 0 K to "In case of images with an AI mask or AI Edits, yourcatalogname.lrcat-data file will be > 0 K".
    If the file is larger than 0 KB, the .lrcat and .lrcat-data will be included in the zipped backup
    In case the file is missing or is at 0 Kb, the .lrcat is included in the zipper backup

 

And P.S. see:

 

(yes that link is a bit dated)