rocksdb/include/rocksdb
Yi Wu 1ea79a78c9 Optimize sequential insert into memtable - Part 1: Interface
Summary:
Currently our skip-list have an optimization to speedup sequential
inserts from a single stream, by remembering the last insert position.
We extend the idea to support sequential inserts from multiple streams,
and even tolerate small reordering wihtin each stream.

This PR is the interface part adding the following:
- Add `memtable_insert_prefix_extractor` to allow specifying prefix for each key.
- Add `InsertWithHint()` interface to memtable, to allow underlying
  implementation to return a hint of insert position, which can be later
  pass back to optimize inserts.
- Memtable will maintain a map from prefix to hints and pass the hint
  via `InsertWithHint()` if `memtable_insert_prefix_extractor` is non-null.
Closes https://github.com/facebook/rocksdb/pull/1419

Differential Revision: D4079367

Pulled By: yiwu-arbug

fbshipit-source-id: 3555326
2016-11-13 19:09:18 -08:00
..
utilities Exporting compaction stats in the form of a map 2016-11-11 20:54:14 -08:00
c.h c: support seek_for_prev 2016-11-08 12:54:13 -08:00
cache.h add stats to Cache::LookUp() 2016-09-01 13:50:39 -07:00
compaction_filter.h c abi: allow compaction filter ignore snapshot (#1268) 2016-08-17 18:48:43 -07:00
compaction_job_stats.h Single Delete Mismatch and Fallthrough statistics 2016-08-16 08:21:43 -07:00
comparator.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
convenience.h DB::GetOptions() reflect dynamic changed options 2016-09-14 22:10:28 -07:00
db_bench_tool.h Separeate main from bench functionality to allow cusomizations 2016-02-16 06:17:31 -08:00
db_dump_tool.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
db.h Exporting compaction stats in the form of a map 2016-11-11 20:54:14 -08:00
env.h Implement WinRandomRW file and improve code reuse (#1388) 2016-10-13 16:36:34 -07:00
experimental.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
filter_policy.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
flush_block_policy.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
iostats_context.h IOStatsContext::ToString() add option to exclude zero counters 2016-02-23 10:26:24 -08:00
iterator.h add seeforprev in history 2016-10-17 15:34:13 -07:00
ldb_tool.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
listener.h add cfh deletion started listener 2016-09-22 11:56:18 -07:00
memtablerep.h Optimize sequential insert into memtable - Part 1: Interface 2016-11-13 19:09:18 -08:00
merge_operator.h Introduce FullMergeV2 (eliminate memcpy from merge operators) 2016-07-20 09:49:03 -07:00
metadata.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
options.h Optimize sequential insert into memtable - Part 1: Interface 2016-11-13 19:09:18 -08:00
perf_context.h Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00
perf_level.h Move away from enum char value -1 2016-06-14 17:07:34 -07:00
persistent_cache.h Add factory method for creating persistent cache that is accessible from public 2016-10-03 10:55:46 -07:00
rate_limiter.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
slice_transform.h Improve documentation of SliceTransform. 2016-08-11 15:10:09 -07:00
slice.h to/from hex refactor 2016-03-30 14:36:48 -07:00
snapshot.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
sst_dump_tool.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
sst_file_manager.h Introduce SstFileManager::SetMaxAllowedSpaceUsage() to cap disk space usage 2016-02-17 15:20:23 -08:00
sst_file_writer.h Support SST files with Global sequence numbers [reland] 2016-10-18 16:59:37 -07:00
statistics.h More block cache tickers 2016-10-11 11:59:05 -07:00
status.h Implement deadlock detection 2016-10-19 19:45:57 -07:00
table_properties.h Support SST files with Global sequence numbers [reland] 2016-10-18 16:59:37 -07:00
table.h Remove ImmutableCFOptions from public API 2016-09-02 14:16:31 -07:00
thread_status.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
threadpool.h Expose ThreadPool under include/rocksdb/threadpool.h 2016-08-26 10:41:35 -07:00
transaction_log.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
types.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
universal_compaction.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
version.h Bump RocksDB version to 4.13 (#1405) 2016-10-18 15:39:10 -07:00
wal_filter.h Avoid overloaded virtual function 2016-03-22 17:10:31 -07:00
write_batch_base.h WriteBatch support for range deletion 2016-08-16 08:16:04 -07:00
write_batch.h Add facility to write only a portion of WriteBatch to WAL 2016-10-07 11:32:10 -07:00
write_buffer_manager.h Avoid updating memtable allocated bytes if write_buffer_size is not set 2016-07-13 19:33:57 -07:00