1# RocksDBLite 2 3RocksDBLite 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. 4 5Some examples of the features disabled by ROCKSDB_LITE: 6* compiled-in support for LDB tool 7* No backupable DB 8* No support for replication (which we provide in form of TransactionalIterator) 9* No advanced monitoring tools 10* No special-purpose memtables that are highly optimized for specific use cases 11* No Transactions 12 13When adding a new big feature to RocksDB, please add ROCKSDB_LITE compile guard if: 14* Nobody from mobile really needs your feature, 15* Your feature is adding a lot of weight to the binary. 16 17Don't add ROCKSDB_LITE compile guard if: 18* It would introduce a lot of code complexity. Compile guards make code harder to read. It's a trade-off. 19* Your feature is not adding a lot of weight. 20 21If unsure, ask. :) 22