Fenggang Wu
19ec44fd39
Improve point-lookup performance using a data block hash index ( #4174 )
...
Summary:
Add hash index support to data blocks, which helps to reduce the CPU utilization of point-lookup operations. This feature is backward compatible with the data block created without the hash index. It is disabled by default unless `BlockBasedTableOptions::data_block_index_type` is set to `data_block_index_type = kDataBlockBinaryAndHash.`
The DB size would be bigger with the hash index option as a hash table is added at the end of each data block. If the hash utilization ratio is 1:1, the space overhead is one byte per key. The hash table utilization ratio is adjustable using `BlockBasedTableOptions::data_block_hash_table_util_ratio`. A lower utilization ratio will improve more on the point-lookup efficiency, but take more space too.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4174
Differential Revision: D8965914
Pulled By: fgwu
fbshipit-source-id: 1c6bae5d1fc39c80282d8890a72e9e67bc247198
2018-08-15 14:30:03 -07:00
..
2018-07-11 12:28:13 -07:00
2017-07-15 16:11:23 -07:00
2017-10-17 11:13:19 -07:00
2018-04-12 17:59:16 -07:00
2017-10-17 11:13:19 -07:00
2018-07-13 17:27:39 -07:00
2017-07-15 16:11:23 -07:00
2018-02-23 13:57:26 -08:00
2018-04-15 17:26:26 -07:00
2017-07-15 16:11:23 -07:00
2017-12-01 10:42:05 -08:00
2018-08-06 11:13:18 -07:00
2016-10-25 11:31:39 -07:00
2017-07-15 16:11:23 -07:00
2017-07-31 12:12:03 -07:00
2017-07-15 16:11:23 -07:00
2018-07-16 23:43:41 -07:00
2017-10-19 10:57:12 -07:00
2018-08-09 16:58:40 -07:00
2018-04-12 17:59:16 -07:00
2018-08-15 14:30:03 -07:00
2018-06-05 12:58:02 -07:00
2018-06-05 12:58:02 -07:00
2018-07-13 14:13:07 -07:00
2018-07-18 10:43:54 -07:00
2017-11-03 14:42:08 -07:00
2017-07-15 16:11:23 -07:00
2017-08-31 14:16:30 -07:00
2017-09-08 11:11:04 -07:00
2017-08-31 14:16:30 -07:00
2017-08-31 14:16:30 -07:00
2018-06-15 12:42:53 -07:00
2018-07-13 10:58:06 -07:00
2017-08-31 14:16:30 -07:00
2018-07-13 17:27:39 -07:00
2018-07-09 15:28:12 -07:00
2018-07-09 15:28:12 -07:00
2018-04-18 16:32:35 -07:00
2017-12-01 10:42:05 -08:00
2018-03-07 12:42:12 -08:00
2017-10-19 10:57:12 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-06-28 12:34:40 -07:00
2018-06-28 12:34:40 -07:00
2018-03-05 13:13:41 -08:00
2018-08-13 11:44:02 -07:00
2018-08-13 11:44:02 -07:00
2018-06-21 08:42:24 -07:00
2018-04-26 13:58:20 -07:00
2018-07-13 17:27:39 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-12-01 10:42:05 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-07-13 10:58:06 -07:00
2017-07-15 16:11:23 -07:00
2017-12-01 10:42:05 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-07-13 17:27:39 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-07-13 10:58:06 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-08-31 14:16:30 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-04-12 17:59:16 -07:00
2017-10-04 19:15:01 -07:00
2017-10-04 19:15:01 -07:00
2018-03-05 23:57:12 -08:00
2018-07-13 17:27:39 -07:00
2018-06-26 15:57:26 -07:00
2018-08-04 17:57:48 -07:00
2018-08-04 17:57:48 -07:00
2018-07-23 15:44:16 -07:00
2017-07-15 16:11:23 -07:00
2018-07-13 18:44:14 -07:00
2018-02-15 16:57:37 -08:00
2017-07-15 16:11:23 -07:00
2018-06-13 13:13:18 -07:00
2018-06-13 13:13:18 -07:00
2018-03-23 12:56:52 -07:00
2018-06-04 15:58:46 -07:00
2018-07-13 17:27:39 -07:00
2018-07-13 17:27:39 -07:00
2018-08-09 16:58:40 -07:00
2018-08-14 15:13:10 -07:00
2018-03-07 12:42:12 -08:00
2018-03-05 13:13:41 -08:00
2018-07-20 14:43:38 -07:00
2018-06-04 12:12:48 -07:00
2017-07-15 16:11:23 -07:00
2018-04-24 08:41:51 -07:00
2018-04-24 08:41:51 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-08-10 17:57:40 -07:00
2018-08-10 17:57:40 -07:00
2018-07-24 00:13:18 -07:00
2017-12-06 09:42:28 -08:00
2018-07-13 10:58:06 -07:00
2017-06-05 11:27:34 -07:00
2015-03-12 12:07:10 -07:00