]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | # RocksDBLite |
2 | ||
3 | 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. | |
4 | ||
5 | Some 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 TrasactionalIterator) | |
9 | * No advanced monitoring tools | |
10 | * No special-purpose memtables that are highly optimized for specific use cases | |
11 | * No Transactions | |
12 | ||
13 | When 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 | ||
17 | Don'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 | ||
21 | If unsure, ask. :) |