wget https://github.com/gflags/gflags/archive/v2.2.2.tar.gz tar -xvzf gflags-2.2.2.tar.gz cd gflags-2.2.2/ mkdir build cd build/ cmake -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DINSTALL_HEADERS=ON -DINSTALL_SHARED_LIBS=ON -DINSTALL_STATIC_LIBS=ON .. make make install
wget https://github.com/facebook/rocksdb/archive/v6.14.6.tar.gz tar -xvzf rocksdb-6.14.6.tar.gz cd rocksdb-6.14.6/ mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rocksdb .. make make install
commands MUST specify --db=<full_path_to_db_directory> when necessary
commands can optionally specify --env_uri=<uri_of_environment> if necessary
The following optional parameters control if keys/values are input/output as hex or as plain strings: --key_hex : Keys are input/output as hex --value_hex : Values are input/output as hex --hex : Both keys and values are input/output as hex
The following optional parameters control the database internals: --column_family=<string> : name of the column family to operate on. default: default column family --ttl with 'put','get','scan','dump','query','batchput' : DB supports ttl and value is internally timestamp-suffixed --try_load_options : Try to load option file from DB. --disable_consistency_checks : Set options.force_consistency_checks = false. --ignore_unknown_options : Ignore unknown options when loading option file. --bloom_bits=<int,e.g.:14> --fix_prefix_len=<int,e.g.:14> --compression_type=<no|snappy|zlib|bzip2|lz4|lz4hc|xpress|zstd> --compression_max_dict_bytes=<int,e.g.:16384> --block_size=<block_size_in_bytes> --auto_compaction=<true|false> --db_write_buffer_size=<int,e.g.:16777216> --write_buffer_size=<int,e.g.:4194304> --file_size=<int,e.g.:2097152>
Data Access Commands: put <key> <value> [--create_if_missing] [--ttl] get <key> [--ttl] batchput <key> <value> [<key> <value>] [..] [--create_if_missing] [--ttl] scan [--from] [--to] [--ttl] [--timestamp] [--max_keys=<N>q] [--start_time=<N>:- is inclusive] [--end_time=<N>:- is exclusive] [--no_value] delete <key> deleterange <begin key> <end key> query [--ttl] Starts a REPL shell. Type help for list of available commands. approxsize [--from] [--to] checkconsistency list_file_range_deletes [--max_keys=<N>] : print tombstones in SST files.
Admin Commands: dump_wal --walfile=<write_ahead_log_file_path> [--header] [--print_value] [--write_committed=true|false] compact [--from] [--to] reduce_levels --new_levels=<New number of levels> [--print_old_levels] change_compaction_style --old_compaction_style=<Old compaction style: 0 for level compaction, 1 for universal compaction> --new_compaction_style=<New compaction style: 0 for level compaction, 1 for universal compaction> dump [--from] [--to] [--ttl] [--max_keys=<N>] [--timestamp] [--count_only] [--count_delim=<char>] [--stats] [--bucket=<N>] [--start_time=<N>:- is inclusive] [--end_time=<N>:- is exclusive] [--path=<path_to_a_file>] load [--create_if_missing] [--disable_wal] [--bulk_load] [--compact] manifest_dump [--verbose] [--json] [--path=<path_to_manifest_file>] file_checksum_dump [--path=<path_to_manifest_file>] list_column_families create_column_family --db=<db_path> <new_column_family_name> drop_column_family --db=<db_path> <column_family_name_to_drop> dump_live_files idump [--from] [--to] [--input_key_hex] [--max_keys=<N>] [--count_only] [--count_delim=<char>] [--stats] repair backup [--backup_env_uri] [--backup_dir] [--num_threads] [--stderr_log_level=<int (InfoLogLevel)>] restore [--backup_env_uri] [--backup_dir] [--num_threads] [--stderr_log_level=<int (InfoLogLevel)>] checkpoint [--checkpoint_dir] write_extern_sst <output_sst_path> ingest_extern_sst <input_sst_path> [--move_files] [--snapshot_consistency] [--allow_global_seqno] [--allow_blocking_flush] [--ingest_behind] [--write_global_seqno] unsafe_remove_sst_file <SST file number> MUST NOT be used on a live DB.
# ./ldb --db=/tmp/test_db --create_if_missing put a1 b1 OK # ./ldb --db=/tmp/test_db scan a1 : b1 # ./ldb --db=/tmp/test_db get a1 b1 # ./ldb --db=/tmp/test_db get a2 Failed: NotFound: # cd /tmp/test_db/ # ll -rw-r--r-- 1 root root 26 Jun 9 17:52 000003.log -rw-r--r-- 1 root root 16 Jun 9 17:52 CURRENT -rw-r--r-- 1 root root 37 Jun 9 17:52 IDENTITY -rw-r--r-- 1 root root 0 Jun 9 17:52 LOCK -rw-r--r-- 1 root root 18821 Jun 9 17:53 LOG -rw-r--r-- 1 root root 18589 Jun 9 17:52 LOG.old.1623232363821351 -rw-r--r-- 1 root root 18821 Jun 9 17:52 LOG.old.1623232374342461 -rw-r--r-- 1 root root 18821 Jun 9 17:52 LOG.old.1623232385039046 -rw-r--r-- 1 root root 13 Jun 9 17:52 MANIFEST-000001 -rw-r--r-- 1 root root 5793 Jun 9 17:52 OPTIONS-000005