你好,我是太白。
这篇文章主要是来说明下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的迭代的始末 报名的人员,我们会在每周发起一次讨论,主要是同步下进度和遇到的问题等。
整个过程是透明和可追溯的,所以自己的贡献,别人都看得到的,不要吝啬你的贡献哈。
新的 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。