rocksdb/ROCKSDB_LITE.md
Peter Dillinger 6534c6dea4 Fix remaining uses of "backupable" (#9792)
Summary:
Various renaming and fixes to get rid of remaining uses of
"backupable" which is terminology leftover from the original, flawed
design of BackupableDB. Now any DB can be backed up, using BackupEngine.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/9792

Test Plan: CI

Reviewed By: ajkr

Differential Revision: D35334386

Pulled By: pdillinger

fbshipit-source-id: 2108a42b4575c8cccdfd791c549aae93ec2f3329
2022-04-05 09:52:33 -07:00

1.0 KiB

RocksDBLite

RocksDBLite is a project focused on mobile use cases, which don't need a lot of fancy things we've built for server workloads and they are very sensitive to binary size. For that reason, we added a compile flag ROCKSDB_LITE that comments out a lot of the nonessential code and keeps the binary lean.

Some examples of the features disabled by ROCKSDB_LITE:

  • compiled-in support for LDB tool
  • No backup engine
  • No support for replication (which we provide in form of TransactionalIterator)
  • No advanced monitoring tools
  • No special-purpose memtables that are highly optimized for specific use cases
  • No Transactions

When adding a new big feature to RocksDB, please add ROCKSDB_LITE compile guard if:

  • Nobody from mobile really needs your feature,
  • Your feature is adding a lot of weight to the binary.

Don't add ROCKSDB_LITE compile guard if:

  • It would introduce a lot of code complexity. Compile guards make code harder to read. It's a trade-off.
  • Your feature is not adding a lot of weight.

If unsure, ask. :)