1、Chenjie Tang Power TiKV with in-Memory EngineTiKV IntroductionTiKV Pain Points in Read ScenarioIn-Memory Engine OverviewIn-Memory Engine Design Details01020304CatalogueIn-Memory Engine Benchmark05TiKV IntroductionTiKV Introduction Storage layer of TiDB Distributed key-value database Provides a distr
2、ibuted transaction(percolator)interface that satisfies ACID constraints Raft protocol guarantees multi-replication consistency and high availabilityGitHub:https:/ MVCC under TiKV:key1key1-version4 version4-value14 value14 key1key1-version2 version2-value12 value12 key1key1-version1 version1-value11
3、value11 key2key2-version7 version7-value27 value27 key2key2-version3 version3-value23 value23 key2key2-version2 version2-value22 value22 key2key2-version1 version1-value21 value21 keyNkeyN-version2 version2-valueN2 valueN2 keyNkeyN-version1 version1-valueN1 valueN1 Data in TiKV Use version 4 to trav
4、erse:key1key1-version4 version4-value14 value14 key1key1-version2 version2-value12 value12 key1key1-version1 version1-value11 value11 key2key2-version7 version7-value27 value27 key2key2-version3 version3-value23 value23 key2key2-version2 version2-value22 value22 key2key2-version1 version1-value21 va
5、lue21 keyNkeyN-version2 version2-valueN2 valueN2 keyNkeyN-version1 version1-valueN1 valueN1 Data in TiKVTiKV Pain Points in Read ScenarioDuplicate MVCC Versions Hurt Read PerformanceRead two rows in the dataset:key1key1-version100version100,key1key1-version99,version99,.,.,key1key1-version1,version1
6、,key2key2-version100version100-delete,delete,key3key3-version100version100-delete,delete,.,.,key10000key10000-version100version100-delete,delete,key10001key10001-version100version100冗余 MVCC 版本影响读性能The metrics of real cluster(TPCC workload):Current Mitigations and DeficienciesGarb