Replies: 1 comment 1 reply
-
|
I'm going to replace the partition tree memtable with the new bulk memtable. My final goal is to keep one memtable. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
motivation: i was wondering can we derive perf gains from arena based skiplist that is frequently used in other databases (for an example crdb memtable uses https://github.com/andy-kimball/arenaskl)
Arena based keys: is it worth to explore arena based allocation? Instead of storing keys as HashMap<Vec, PkId>, pack ALL keys into one continuous block of memory (an "arena").
Lock-Free Map:
partitions: RwLock<BTreeMap<PartitionKey, PartitionRef>>is it worth to explore a lockfree ordered map impl? if order is not critical we dashmap seems very promising.if we dont think lock free map is worth it - can we take a snapshot of partitions and release the read lock quickly then iterate and prune on the snapshot without holding the read lock?
greptimedb/src/mito2/src/memtable/partition_tree/tree.rs
Line 424 in c0652f6
(nit) is it worth to maintain a hashmap of shard_id to shards? this can help with looks ups like
greptimedb/src/mito2/src/memtable/partition_tree/partition.rs
Line 564 in c0652f6
Beta Was this translation helpful? Give feedback.
All reactions