We in KDE[1] have been using LMDB for building a file indexer. In order to store file paths we have also used a sequence of keys since file paths are hierarchical.
* Every file has an id. This is a combination of the device id + inode number.
* We map fileId -> (parentId fileName)
* We map parentId -> list of sub-file ids
For (id -> file path), multiple lookups are required
For (file Path -> id), we can just rely on the file system
This obviously only works for files which exist in the file system. Also with this folder renames are very cheap.