TiKV 正式从 CNCF 毕业,旨在为云原生时代构建分布式系统

2020 年 9 月 03 日

TiKV 正式从 CNCF 毕业,旨在为云原生时代构建分布式系统

TiKV 是一个开源的分布式事务 Key-Value 数据库,专注为下一代数据库提供可靠、高质量、实用的存储架构。最初由 PingCAP 团队在 2016 年 1 月作为 TiDB 的底层存储引擎设计并开发,第一版于 2016 年 4 月开源。2018 年 8 月被 CNCF 宣布接纳为沙箱云原生项目,在 2019 年 5 月从沙箱晋级至孵化项目。目前,TiKV 已经在知乎、一点资讯、Shopee、美团、京东云、转转等多行业头部企业得到上线应用。


TiKV 通过 Raft 一致性算法来实现数据多副本之间的一致性,本地采用了 RocksDB 存储引擎存储数据,同时 TiKV 支持数据自动切分和迁移。TiKV 的跨行事务最初参考 Google Percolator 事务模型,并进行了一些优化,提供快照隔离与带锁快照隔离,支持分布式事务。TiKV 的核心特性如下:


  • 跨区复制:采用 Raft 协议和 Placement Driver 支持跨区复制。

  • 可扩展性:通过 Raft 复制数据以及 PD 调度数据,凭借 PD 和 Raft Group,TiKV 在水平扩展方面表现出色,可轻松扩展至100 TB 以上的数据规模。

  • 分布式事务:采用 Google Percolator 事务模型,TiKV 支持强一致分布式事务。

  • 协处理器支持:与 HBase 相似,TiKV 通过协处理框架来支持分布式计算。

  • 与 TiDB 协同:TiKV 和 TiDB 组成分布式数据库解决方案,支持分布式事务,提供横向扩展能力,支持 RDBMS 和 NoSQL 两种访问模式。


在 TiKV 4.0 版本中,新增 Follower Read、Titan 存储引擎、Unified Thread Pool、Load-based Splitting 等丰富特性,在进一步提升 TiKV 稳定性与可用性的基础上,提供更精细化的数据安全方案,帮助用户减低数据安全风险。截止目前,TiKV 核心库在 GitHub 上拥有 7900+ Stars 的关注度 ,256 个社区贡献者 。


CNCF 首席技术官兼首席运营官、OCI 执行总监 Chris Aniszczyk 对 TiKV 项目的毕业表示祝贺。“TiKV 是 CNCF 首批基于 Rust 的项目之一,并且确实是一个灵活可扩展的云原生键值存储数据库。自从项目加入 CNCF 以来,我们对项目的发展以及其发展成为全球开源社区的意愿印象深刻。”


“作为 TiKV 社区的一员能够在 TiKV 生态发展道路上起到推动作用并见证它在 CNCF 的毕业让我们感到非常的荣幸和自豪,相信在社区成员的共同努力下 TiKV 一定会在未来获得更加广泛的应用。”TiKV 项目 Maintainer、知乎技术平台团队负责人孙晓光表示:“ TiKV 是一个高性能、高度可扩展且支持跨地域部署的分布式事务级 key-value 存储,能够作为云原生时代各种有状态系统的基石组件。随着 TiKV 自身和生态组件的成熟,我们期待构建在 TiKV 之上的 TiDB 可以承载更广泛的业务场景,成为知乎关系数据库应用场景的第一选择,在不牺牲易用性的前提下解决系统扩展性的问题。”


TiKV Maintainer、一点资讯分布式存储高级工程师陈付透露:“一点资讯自 2018 年开始使用 TiKV,现在已经是 TiKV 项目的深度用户。TiKV 提供非常稳定和高性能的分布式 KV 存储服务,并具有智能高效的集群管理功能,为我们的线上推荐服务提供了很好的支撑。对 TiKV 从 CNCF 毕业感到非常高兴,同时作为社区中的一员,感到非常自豪,期待和 TiKV 一起共同成长。”


PingCAP 首席工程师、TiKV 项目负责人唐刘表示:“开源已经成为全球基础软件发展的重要方向,作为 TiKV 项目的创始者,PingCAP 将持续努力,与社区一起为 TiKV 项目提供更多特性,让 TiKV 更好的成为大家构建分布式系统的基石。同时欢迎更多生态合作伙伴与开发者加入社区,围绕 TiKV 进行创新。”


TiKV 项目地址:https://github.com/tikv/tikv


2020 年 9 月 03 日 09:39985

评论

发布
暂无评论
发现更多内容

我站在愚蠢之巅

escray

学习 CSD 认证实战营

一文看懂开源工作流引擎 Flowable

Herbert

Java spring 开源 企业中台 工作流

谈谈控制感(2):怎么让我们更健康

史方远

个人成长 心理

CDN百科 | 假如没有CDN,网络世界会变成什么样?

巨侠说

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (四)关于单元测试的常见错误观念和做法

编程道与术

Java 编程 软件测试 TDD 单元测试

TOTO 2020再次荣获iF、红点两项国际设计大奖

极客编

CDN云课堂 | EdgeRoutine技术专家教你把JS代码跑到CDN边缘

巨侠说

Java CDN edge

可视化 Tekton 组件 Tekton Dashboard

郭旭东

Kubernetes cicd

多个 SSH keys 的配置,方便 Git 对不同仓库的使用与管理

与光

git GitHub SSH

工作两年简历写成这样,谁要你呀!

小傅哥

面试 小傅哥 Java 面试 简历优化 找工作

由丰巢快递柜引发的思考

Neco.W

创业 思考 丰巢

KubeFATE:在Kubernetes上部署联邦学习平台

亨利笔记

人工智能 学习 FATE KUBEFATE

聊聊Serverless

kimmking

使用jdbcSstoragerHandler 处理mysql、oracle 、hive数据

杨飞

我常用的在线工具清单

彭宏豪95

效率 效率工具 工具

通过一个聊天应用学习 Deno

寇云

typescript 后端

Java 编程基础

michaelliu

想退休,可能没机会了

池建强

读书感悟

《Linux就该这么学》笔记(二)

编程随想曲

Linux

CDN云课堂 |可编程CDN – EdgeScript应用场景、语言速览和实操演示

巨侠说

视达荣登ChinaBang Awards 2020智慧零售榜Top10

极客编

MySQL数据类型DECIMAL用法

Simon

MySQL

CDN百科 | 最近,你的APP崩了吗?

巨侠说

CDN

智浪

Neil

后浪 智能时代 智浪

GrowingIO 微服务 SaaS 与私有部署运行实践

GrowingIO技术专栏

大数据 微服务架构 SaaS

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (五)第一个单元测试

编程道与术

Java 编程 软件测试 TDD 单元测试

如何推动与影响中型前端团队的成长

堂主

前端 研发管理 团队建设

DD 测试linux性能

HU

用SpreadJS实现在线Excel的录入与展示,提升企业医保信息化服务水平

Geek_Willie

SpreadJS 医保信息化 在线excel

延时任务的几种实现方式

郭儿的跋涉

Java 延时任务 延时消息

交易上链——中心化数字资产交易所的完美解决之道

MaxHu

区块链 智能合约 数字货币 去中心化网络 数字资产

TiKV 正式从 CNCF 毕业,旨在为云原生时代构建分布式系统-InfoQ