-
Notifications
You must be signed in to change notification settings - Fork 70
Open
Labels
enhancementNew feature or requestNew feature or request
Description
In the origin version of leveldb, the write path is like below:
write
write + write
+ | write +
| | + |
| | | |
| | | |
+---v-------v-----v-----v---+
| |
| Mutex<queue> |
| |
+-------------+-------------+
|
|
| group batch
| <single thread>
|
v
+--------+--------+
| |
| Memtable |
| |
+-----------------+
Writing batches concurrently will result in a single thread ingestion into memtable and then notify all the relate blocked write request threads.
Maybe we can support concurrently inserting batches into memtable , which should improve the write performance a lot.
This feature includes following tasks:
- Introduce an thread-safe concurrent skiplit (support inline skiplist #85)
- Make the current queue scale with inserting threads
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request