tikv v3.0.0 Release Notes

Release Date: 2019-06-28 // almost 5 years ago
    • Engine
      • Introduce Titan, a key-value plugin that improves write performance for scenarios with value sizes greater than 1KiB, and relieves write amplification in certain degrees
      • Optimize memory management to reduce memory allocation and copying for Iterator Key Bound Option
      • Support block cache sharing among different column families
    • Server
      • Support reversed raw_scan and raw_batch_scan
      • Support batch receiving and sending Raft messages, improving TPS by 7% for write intensive scenarios
      • Support getting monitoring information via HTTP
      • Support Local Reader in RawKV to improve performance
      • Reduce context switch overhead from batch commands
    • Raftstore
      • Support Multi-thread Raftstore and Multi-thread Apply to improve scalabilities, concurrency capacity, and resource usage within a single node. Performance improves by 70% under the same level of pressure
      • Support checking RocksDB Level 0 files before applying snapshots to avoid write stall
      • Support Hibernate Regions to optimize CPU consumption from RaftStore (Experimental)
      • Remove the local reader thread
    • Transaction
      • Support distributed GC and concurrent lock resolving for improved GC performance
      • Support the pessimistic transaction model (Experimental)
      • Modify the semantics of Insert to allow Prewrite to succeed only when there is no Key
      • Remove txn scheduler
      • Add monitoring items related to read index and GC worker
    • Coprocessor
      • Refactor the computation framework to implement vector operators, computation using vector expressions, and vector aggregations to improve performance
      • Support providing operator execution status for the EXPLAIN ANALYZE statement in TiDB
      • Switch to the work-stealing thread pool model to reduce context switch cost
    • Misc
      • Develop a unified log format specification with restructured log system to facilitate collection and analysis by tools
      • Add performance metrics related to configuration information and key bound crossing.