3 ms·
> can you explain what the issue is with it? And do what are ways to resolve it if TiKV does not resolve it themselves? TiKV is based on multi-raft + Percolato
by losfair 5y ago
> can you explain what the issue is with it? And do what are ways to resolve it if TiKV does not resolve it themselves?
TiKV is based on multi-raft + Percolator where there is no way to coordinate a consistent range operation across regions (key ranges) and therefore does not support range deletion.
RefineDB uses range deletion to delete non-primitive types that contain multiple members, e.g. tables and sets.
To support TiKV, RefineDB needs to support asynchronous range deletion - mark a range as deleted, and never use it again. This requires some work on the storage mapping layer, to map ABA accesses to a recreated-after-deleted range to a different keyspace.
> Did you do any profiling on your in memory store?
Not yet, actually the in-memory store is just for use in tests and the web playground where performance isn't important.
For a better in-memory store, I think it's better to use the SQLite backend with an in-memory database.