Skip to content

Latest commit

 

History

History
140 lines (86 loc) · 5.48 KB

tikv.adoc

File metadata and controls

140 lines (86 loc) · 5.48 KB

TiKV Project Proposal

Name of Project: TiKV

Description: TiKV is an open-source distributed transactional key-value database built in Rust and implements the Raft consensus algorithm. It features horizontal scalability, consistent distributed transactions, and geo-replication.

Why is TiKV a good fit for CNCF?

TiKV has been one of the few key-value storage solutions in the cloud-native community that can balance both performance and ease of operation with Kubernetes. Data storage is one of the most important components of any cloud-native infrastructure platform, and end users need a range of choices to meet their needs. TiKV is complementary to existing CNCF database projects like Vitess, which is currently the only database option hosted by CNCF. As a transactional key-value database, TiKV serves as another choice for cloud-native applications that need scalability, distributed transactions, high availability, and strong consistency.

With TiKV becoming a CNCF project, the open-source cloud-native ecosystem will also become more vibrant and robust in China, because our team has a strong track record of fostering the open source community in China and is dedicated to building and promoting CNCF’s mission there. Open source is global, and having TiKV as a part of CNCF will further make that story so.

TiKV Overview

Development Timeline:

  • Current release: 2.1.0 beta

  • April 27, 2018: TiKV 2.0 released

  • October 16, 2017: TiKV 1.0 released

  • October 2016: beta version of TiKV was released and used in production

  • April 1, 2016: TiKV was open-sourced

TiKV is currently adopted in-production in more than 200 companies, either together with TiDB (a stateless MySQL compatible SQL layer) or on its own. Please refer to the “Adopters” list below for the current list of publicly acknowledged adopters.

Community Stats:

  • Stars: 3300+

  • Contributors: 75+

  • Commits: 2900+

  • Forks: 400+

Cloud-Native Features of TiKV

Horizontal scalability: TiKV automatically handles data sharding and replication for cloud-native applications and enables elastic capacity scaling by simply adding or removing nodes with no interruption to ongoing workloads.

Auto-failover and self-healing: TiKV supports automatic failover with its implementation of the Raft consensus algorithm, so in situations of software or hardware failures, the system will automatically recover while maintaining the applications’ availability.

Strong consistency: TiKV delivers performant transactions and strong consistency by providing full support for ACID semantics, ensuring the accuracy and reliability of your data anytime, anywhere.

Cloud-native deployment: TiKV can be deployed in any cloud environment—​public, private, or hybrid—​using tidb-operator, a Kubernetes-based deployment tool.

Comparison

This comparison is intended simply to compare features of TiKV with two other well-known NoSQL databases, Cassandra and MongoDB. It is not intended to favor or position one project over another. Any corrections are welcome.

Table 1. Feature Comparison
Area Cassandra MongoDB TiKV

Type

Wide Column

Document

Key-Value

Auto-scaling

Y

Optional

Y

ACID Transaction

N

Maybe?

Y

Strong consistency replication

Optional

N

Y

Geo-based replication

N

N

Y

Self-hearing

N

N

Y

SQL Compatibility

Partial (w/ CQL)

N

MySQL (w/ TiDB)

Roadmap:

Additional Information:

TOC Presentation Date: July 3, 2018

Current TOC Sponsor: Bryan Cantrill and Ben Hindman

Preferred Maturity Level: Sandbox

License: Apache 2.0

Source control repositories: https://github.com/pingcap/tikv

Infrastructure Required:

TiKV uses Circle CI for unit tests and builds and in-house Jenkins CI cluster for some integration tests. We plan to use CNCF test cluster to automatically run stability tests and performance tests in the future.

Website: tikv.org (under construction)

Release Methodology and Mechanics:

TiKV follows the Semantic Versioning 2.0.0 convention. The release cadence is:

  • Major version is released every 6 months

  • Minor version is released every 3 months.

  • Patch version is released every 2 weeks.

TiKV releases are announced using GitHub releases and current release is 2.1.0 beta.

Social Media Accounts: TBD

Adopters:

Dependencies and License Compliance (done by FOSSA):

Statement on Alignment with CNCF Mission

Our team believes TiKV will be a great fit for CNCF. As the CNCF’s mission is to “create and drive the adoption of a new computing paradigm that is optimized for modern distributed systems environments capable of scaling to tens of thousands of self healing multi-tenant nodes,” we believe TiKV to be a core enabling technology for this mission. This belief has been validated by our many adopters and developers working to build, deploy, and maintain large-scale applications in a cloud-native environment. Moreover, TiKV has very strong existing synergy with other CNCF projects, and is used heavily in conjunction with projects like: Kubernetes, Prometheus, and gRPC.