mirror of
https://github.com/facebook/rocksdb.git
synced 2024-11-30 13:41:46 +00:00
a3a3f5497c
Summary: Closes https://github.com/facebook/rocksdb/pull/3568 Differential Revision: D7170953 Pulled By: siying fbshipit-source-id: 9cfb8dd88b7266da920c0e0c1e10fb2c5af0641c
1 KiB
1 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 backupable DB
- 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. :)