开源kv引擎nutsdb v0.10.0发布以及背后故事
你好,我是太白。
这篇文章主要是来说明下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。
相关文章
- logstash处理多行日志-处理java堆栈日志
- Java High Level REST Client 使用地理位置查询
- 垃圾回收你懂,Java垃圾回收你懂吗?
- 几款Java开发者必备常用的工具,准点下班不在话下
- Ulysses for Mac(最好用的Markdown文本编辑写作工具)
- Xilinx MPSoC FSBL中的看门狗的用法总结
- 【FusionCompute】使用VMware Workstaion安装部署VRM(三)
- 【FusionCompute】添加CNA主机到VRM管理节点(四)
- RabbitMQ:安装配置
- RabbitMQ:消息模型
- 【FusionCompute】基于FreeNAS部署并使用虚拟存储(五)
- 【FusionCompute】创建虚拟机失败(六)
- Xshell同步复制粘贴Windows的东西
- 【OpenFiler】使用虚拟机安装openfiler
- 什么是BPM系统?BPM流程管理系统介绍
- Online DDL和Cardinality
- MRR和ICP
- 犀牛鸟中学科学人才培养计划喜报:祝贺北京一零一中学李一昕同学获丘成桐中学科学奖全球总决赛金奖!
- 耗时减半?腾讯云OCR只做了3件事
- 开箱即用区块链是一种什么体验?Lighthouse长安链给你答案