1 of 20

TiKV Graduation Journey in CNCF

Presented by Siddon Tang

2 of 20

TiKV has demonstrated growing adoption, an open governance process, feature maturity, and a strong commitment to community, sustainability and inclusivity.”

  • CNCF Announcement

“TiKV was one of our first Rust based projects and is truly a flexible and extensible cloud native key-value store,”

  • Chris Aniszczyk, CTO/COO at CNCF

3 of 20

Mission of TiKV

To enable and empower the next generation of distributed systems by providing a reliable, high quality, practical storage foundation.

4 of 20

Agenda

  • Timeline
  • Technical Maturity
    • Cloud native
    • Feature maturity
    • Testing and Quality
  • Open and Vibrant Community
    • Increasing adoptions
    • Open Governance
    • Growing Adoptions
  • Next steps

5 of 20

TiKV Timeline

April 2015

Created as the storage layer for TiDB

April 2016

TiKV was open sourced

Oct 2017

TiKV 1.0 was released

Aug, 2018

TiKV entered CNCF as a Sandbox project

May, 2019

May 2020

TiKV 4.0 GA (31 May)

TiKV was accepted as an Incubating project

TiKV got promoted to a graduated project!

Sept, 2020

6 of 20

Technical Maturity

7 of 20

Technical Maturity

8 of 20

Cloud-Native Alignments

  • Cloud-native world needs an open-source, unifying distributed storage that supports:
    • Strong consistency
    • Distributed transaction (ACID compliant)
    • Horizontal scalability
    • Elastic scheduling and Auto-balancing
    • Cloud-native architecture
  • Cloud-native deployment
    • Docker-compose deployment (for test/dev on local machine)
    • Kubernetes with TiKV-Operator
  • Cloud-native ecosystem

9 of 20

Technical Maturity

  • 4.0 GA released in July 2020, aiming for 5.0 by the end of 2020
  • Performance
    • Titan - RocksDB plugin for key-value separation
      • Reducing write amplification in RocksDB
      • Improve range query performance and reduce its impact on write performance
    • Unified Thread Pool for storage read/write requests and coprocessor requests
      • Reduce impact of heavy query on light-weight queries
      • contribution from community at TiDB Hackathon 2019
    • Follower Read - Strong-consistency read from Raft followers
      • Balance the hotspot read pressure and improve overall throughput

10 of 20

Technical Maturity

  • Functionality
    • Elastic scheduling
      • Auto split replicas, auto scale node based on realtime workload;
      • Load-based splitting - Solve the hot spots caused by an uneven distribution of regions, such as full table scan and index query of small tables.
    • Fast backup & restore - Allows distributed physical backup/restore from TiKV for large clusters with tunable speed
  • Security
    • Encryption at rest
    • TLS in the HTTP (status) port

11 of 20

Technical Maturity

  • Testing and Quality
    • Extensive suite of tests between releases
      • Fuzzy testing
      • CI tests (Unit test/integration test/compatibility test)
      • Feature function tests
      • Regression tests
      • Chaos tests (using Chaos Mesh)
      • Jepsen
      • Performance tests
  • Passed level criteria for CII Best Practices
  • Passed 3rd party CNCF security auditing from Cure53 (see full report)

12 of 20

Open and Vibrant Community

13 of 20

Open Governance

  • Maintainers oversee the healthy and sustained development of the project, following Guiding Principles.
  • Diversifed maintainer structure (7 maintainers from 3 orgs)
  • TiKV is primarily organized in Special Interest Groups, or SIGs
  • Clear path for contributors - Active Contributor, Reviewer, Committer, or even Maintainer
  • Decision making - lazy consensus

14 of 20

Open Governance

  • RFC process
    • Feature proposals, governance changes, project level decision making
    • The RFC docs must be approved based on consensus
  • An recent case - PD transferred from TiDB to TiKV project

15 of 20

Mentoring and sharing

  • GSoC

16 of 20

Events

Webinar

Kubernetes Paris

KubeCon + CloudNative Con 2020

17 of 20

Increasing Adoptions

  • 1000+ adopters in production across multiple industries
    • More adopters (8 as we know) are deploying TiKV without TiDB
    • Adopters more diversified geographically
  • Projects built on TiKV
    • TiDB
    • Redis-on-TiKV projects (Tidis, Titan, Titea)
    • Prometheus-metrics-in-TiKV project: TiPrometheus.
  • Multiple deployment methods
    • Docker, Kubernetes (via TIDB Operator and TiKV Operator)

18 of 20

TiKV Community Stats

8.1K

Stars

1.2K

Forks

5.8K

Commits

106

Releases

250+

Contributors

7

Maintainers

6

Proposals accepted by GSoC and Community Bridge

793

Slack Members

5

SIGs

19 of 20

Next Steps

  • Higher performance, lower latency and less latency jitter
  • Run stabily and well on Cloud disks like AWS ebs
  • Provide customized engines for different workloads
  • Start building a next generation architecture based on the Multi cloud
  • Multiple/Duel data centers deployment
  • Quality of Service

20 of 20

Thank You and Join Us!