TiKV Engine SIG 成立,硬核玩家们看过来!

Easter79
• 阅读 592

作者:Yi Wu

TiKV 是一个开源项目,我们一直都欢迎和感激开源社区对 TiKV 所作出的贡献。但我们之前对开源社区的合作主要是在代码审阅和散落在各种社交媒体的线下讨论,开发者并没有合适的途径去了解和影响 TiKV 的开发计划。怎么才能更好的帮助大家找到组织,更好地参与到 TiKV 的开发中来呢?我们的设想是搭建公开的平台,邀请对 TiKV 中特定领域感兴趣的开发者加入其中,与我们一起探讨和推进相应工作。Special Interest Group(SIG)就是这样的平台。

TiKV Engine SIG 是继 Coprocessor SIG 之后成立的第二个 TiKV SIG 社区组织,主要职责是对 TiKV 的存储引擎的未来发展进行讨论和规划,并进行相关开发和维护。

目前 TiKV 仅支持默认存储引擎 RocksDB,但是通过扩展接口,希望未来 TiKV 可以支持更多的存储引擎,我们也期待这部分工作可以得到社区的支持,在社区的讨论和贡献中得到更好的完善。此外,Engine SIG 也会对已有的存储引擎进行相关的开发和完善工作。

Engine SIG 的工作主要涉及的模块包括:

  • Engine Trait: TiKV 中存储引擎的抽象层。
  • RocksDB:包括维护 TiKV 所使用的 RocksDB 分支,以及 rust-rocksdb 封装。
  • Titan:提供 KV 分离支持的 RocksDB 存储引擎插件。
  • 未来 TiKV 对其它存储引擎的支持。

如何加入 Engine SIG

无论你是数据库开发新手,希望通过实战了解存储开发相关知识;​还是 TiKV 资深用户,希望扩展 TiKV 的能力以应用到生产环境,Engine SIG 都欢迎你的加入!

有兴趣的开发者可以浏览 Engine SIG 文档并加入 Engine SIG 的 Slack 频道。Engine SIG 希望能够帮助 Contributor 逐渐成长为 Reviewer,Committer 乃至 TiKV 的 Maintaner。

近期工作计划

近期 Engine SIG 工作会围绕在对 TiKV 已有存储引擎的改进上面,但我们会尽量选取一些对以后引入其它存储引擎也有意义的工作。具体有以下几方面:

  • 使用 Bindgenrust-rocksdb 进行重构,减少新增存储引擎接口的开发复杂度。
  • 扩展 failpoint 接口,允许为不同的存储引擎开发相应的插件,使得 TiKV 测试能够对存储引擎内部进行错误注入。
  • Titan 存储引擎插件的性能和功能的改进。

详细任务列表见:https://github.com/tikv/tikv/projects/22

未来工作计划

未来 Engine SIG 会更多关注于为 TiKV 引入新的存储引擎。这上面可以做的工作很多。比如说,我们可以考虑为 TiKV 引入针对不同硬件(纯内存、持久化内存、云盘等)的存储引擎,不同数据结构的存储引擎(B-Tree 引擎等),针对特殊场景的存储引擎(全文搜索等),或者单纯是不一样的存储引擎实现(LevelDB 等)。这些工作非常需要社区的参与。我们希望这些工作未来能够扩展 TiKV 的领域和可能。目前 TiKV 正在加紧对存储引擎抽象 Engine Trait 进行开发,使以上的设想成为可能。

期待社区伙伴们的加入!欢迎在 Slack #engine-sig 中与我们交流!如果对于流程或技术细节有任何疑问,都可在 channel 中讨论~

TiKV Engine SIG 成立,硬核玩家们看过来!

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
tidb损坏tikv节点怎么恢复集群
tikv节点宕机(机器再起不来),或者数据节点被rmrf 掉了怎么办正常情况下tikv节点down掉了。此时不要去执行store delete store\_id。数据一般可以正常访问,但是如果永久损坏的tikv节点。我们总想要把它移除。如何移除呢? (移除kv节点过程中,如果kv节点健康在线,可以实现动态移除。如果kv节点不可用,可能导致访
Easter79 Easter79
3年前
TiKV 源码解析系列文章(一)序
作者:唐刘TiKV(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Ftikv%2Ftikv)是一个支持事务的分布式KeyValue数据库,有很多社区开发者基于TiKV来开发自己的应用,譬如titan(https://www.osch
Easter79 Easter79
3年前
TiDB 性能竞赛 11.09
TiKV的Service层的代码位于src/server文件夹下,提供RPC服务、将storeid解析成地址、TiKV之间的相互通信等。Service层封装了TiKV在网络上提供服务和RaftGroup成员之间相互通信的逻辑。TiKV包含多个GRPCService。KVService定义了TiKV
Wesley13 Wesley13
3年前
2019 年 CNCF 中国云原生调查报告
!头图.jpg(https://ucc.alicdn.com/pic/developerecology/6db0c465111b4d9a96eb1ffe85c00e7a.jpg)中国72%的受访者生产中使用Kubernetes在CNCF,为更好地了解开源和云原生技术的使用,我们定期调查社区。这是第三次中国云原生调查,以中文进行
Easter79 Easter79
3年前
TiKV 源码解析系列——如何使用 Raft
概述本文档主要面向TiKV社区开发者,主要介绍TiKV的系统架构,源码结构,流程解析。目的是使得开发者阅读文档之后,能对TiKV项目有一个初步了解,更好的参与进入TiKV的开发中。需要注意,TiKV使用Rust(https://www.oschina.net/action/GoToLink?urlhttps%3A%2
Easter79 Easter79
3年前
TiKV正式从CNCF毕业,成为云原生时代构建分布式系统基石
今日,云原生计算基金会(CNCF)宣布TiKV正式从CNCF毕业。TiKV是继Harbor之后在CNCF毕业的第二个中国原创开源项目。从孵化项目晋升为毕业项目,标志着TiKV在产品成熟度、项目采用率以及社区持续性等方面取得一系列进展,可应用到各类行业、各种规模的生产环境。!(https://oscimg.oschina.n
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k