前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源kv引擎nutsdb v0.10.0发布以及背后故事

开源kv引擎nutsdb v0.10.0发布以及背后故事

作者头像
太白技术
发布2022-12-28 19:39:37
3710
发布2022-12-28 19:39:37
举报
文章被收录于专栏:太白技术

你好,我是太白。

这篇文章主要是来说明下NutsDB v0.10.0发布的情况以及背后的故事。

  • NutsDB的项目地址
  • 本次v0.10.0发布的主要改动
    • 1、bug的修复
    • 2、新功能
    • 3、重构
    • 4、单测
    • 5、文档
  • 整个v0.10.0的迭代的始末
  • 新的proposol
    • nutsdb v0.11.0提议
    • nutsweb v0.1.0提议
  • 招募开发者
  • 加群

NutsDB的项目地址

https://github.com/nutsdb/nutsdb, 欢迎star关注我们。目前项目已经累计了2300+star。

目前主要使用场景:

  • 嵌入式应用,用于存储定时间段的数据(已有人用在生产)
  • 存储Meta信息(例子:https://github.com/cloud-barista/cb-store)
  • 加密存储(例子:https://github.com/jrapoport/chestnut)
  • 本地队列(已有人用在生产)
  • 本地缓存

github上统计的依赖nutsdb的开源项目:https://github.com/nutsdb/nutsdb/network/dependents?package_id=UGFja2FnZS0yMjY0ODU0MDM5

本次v0.10.0发布的主要改动

非常感谢参与贡献的小伙伴,我把相关PR(#PR编号)贡献的小伙伴的github名放在后面了(类似@xxx)。

本次改动主要分以下几类(详见:https://github.com/nutsdb/nutsdb/issues/193):

1、bug的修复

  • list数据结构count为负号的边界处理(#183)@andrewhzy

2、新功能

  • 支持 LRemByIndex API (#174) @NailCui
  • 增加 LKeys SKeys ZKeys API。这个特性支持对key做正则匹配,可以非常方便的扫描出你需要的key,*支持全量的扫描,非常实用。(#175) @NailCui
  • 增加 Iterator API (HintKeyAndRAMIdxMode 和 HintKeyValAndRAMIdxMode这两个模式下支持),之前的range支持是对扫描结果返回,这次外国小哥带来了迭代器的方式。(#191)@zeina1i

3、重构

  • graceful options parameters。使用选项模式(#185)@Nailcui

4、单测

  • Add rwmanager fileio test(#170) @zeina1i
  • Improve code coverage about list (#183) @andrewhzy
  • Test coverage improvement for inmemory (#187) @andrewhzy

5、文档

  • A few corrections in ReadME file (#171) @kwakubiney

整个v0.10.0的迭代的始末

  • 1、首先会发起一个proposal,即一些提议
  • 2、然后发起报名
  • 3、报名之后领取相应的任务来做

报名的人员,我们会在每周发起一次讨论,主要是同步下进度和遇到的问题等。

整个过程是透明和可追溯的,所以自己的贡献,别人都看得到的,不要吝啬你的贡献哈。

新的 proposal

这次提议2个部分:

nutsdb v0.11.0提议

v0.11.0马上也要开始了,proposal的issue已经建立(https://github.com/nutsdb/proposal/issues/4),有兴趣的可以直接在issue中回复报名,或者加群联系我报名参与。后面会根据实际情况做调整。

难度:单测类 < 功能类 < 性能类(可以按照自己的情况来选择)

1、单测类

提高单测覆盖率,接着v0.10.0版本的

说明下关于第一点的覆盖率,可以多人同时报名参与,因为需要拆分下。

2、功能类

目前open的issue挑选一些,方便落地的&也准备了一些有难度的可选,https://github.com/nutsdb/nutsdb/issues

  • 内存模式相比非内存模式,有一些功能缺失比如:内存模式下没有PrefixScan nutsdb#188
  • 增加支持IterateBuckets正则匹配(可视化项目需要) Add support for IterateBuckets regularized matching nutsdb#194
  • HintBPTSparseIdxMode支持正向迭代(较难,可选)
  • HintKeyValAndRAMIdxMode、HintKeyAndRAMIdxMode 支持反向迭代(较难,可选)
3、性能类

关于有人提出提高db的启动时间(可选)

nutsweb v0.1.0提议

nutsweb项目争取0.1.0版本能实现基础的查询功能。

nutsweb这个项目(https://github.com/nutsdb/nutsweb)主要是对nutsdb提供可视化的能力和nutshttp(https://github.com/nutsdb/nutshttp,提供nutsdb http访问的能力)配合使用。目前有一个PR(#1)初始化项目(init project with Vite + React + TypeScript)) @jukanntenn贡献的。希望能招募到人,开发v0.1.0。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 太白技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • NutsDB的项目地址
  • 本次v0.10.0发布的主要改动
    • 1、bug的修复
      • 2、新功能
        • 3、重构
          • 4、单测
            • 5、文档
            • 整个v0.10.0的迭代的始末
            • 新的 proposal
              • nutsdb v0.11.0提议
                • 1、单测类
                • 2、功能类
                • 3、性能类
              • nutsweb v0.1.0提议
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档