Something wrote a LevelDB, and you have to read it

LevelDataStudio » Use cases » Look inside a LevelDB database

Download LevelDataStudio Free Trial »     Buy LevelDataStudio Now »

The situation

An application keeps its state in an embedded LevelDB store, a program's cache lives in one, or a piece of test data was written by a library and nobody kept the schema. What is on disk is a folder of .ldb / .sst files and a write-ahead log, in binary key order - not something a text editor can help with.

The question is always the same and always concrete: what are the keys, and what is actually in the values?

What you do

  1. Point Level Data Studio at the folder that holds the database. It opens the store directly - no export, no import, no conversion step.
  2. Browse the keys in a tree view, with filtering and search, sorted by name, refreshed as the store changes.
  3. Open a key and read its value in the form the bytes deserve: text, JSON, HEX or image - which is how you find out that what you assumed was a string is actually a serialised object or a thumbnail.

Browsing the keys and values of a LevelDB database in Level Data Studio

Reading is offline and local: the tool opens the folder on your disk and nothing leaves the machine. Databases up to 10GB with millions of key-value pairs are handled with incremental loading, so opening a large store is a normal event rather than an overnight one.

What it will not do

Related

Changing what you find: fix one key by hand. Getting a copy out: export the keys. Loading data in: bulk load keys. Starting from nothing: create a LevelDB database. The mode itself: open / create LevelDB.