V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
xujiajun001
V2EX  ›  Go 编程语言

开源 kv 引擎 nutsdb v0.10.0 发布~

  •  
  •   xujiajun001 ·
    xujiajun · 2022-08-14 22:38:51 +08:00 · 1226 次点击
    这是一个创建于 621 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,这篇文章主要是来说明下 NutsDB v0.10.0 发布的情况。Nutsdb 是一个纯 Go 语言开发 KV 引擎,支持类似 redis 的数据结构如 list 、set 、zset 。

    原文地址

    https://mp.weixin.qq.com/s/REle4BrBr962c376BIwxFA

    项目地址

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

    目前主要使用场景:

    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 个部分:

    proposal 的 issue 已经建立: https://github.com/nutsdb/proposal/issues/4

    快来报名吧!!!

    nutsdb v0.11.0 提议

    v0.11.0 马上也要开始了,有兴趣的可以直接在 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这个项目主要是对 nutsdb 提供可视化的能力和nutshttp(提供 nutsdb http 访问的能力)配合使用。

    目前有一个 PR (#1 )初始化项目( init project with Vite + React + TypeScript )) @jukanntenn 贡献的。希望能招募到人,开发 v0.1.0 。

    招募开发者

    目前 NutsDB 开发者群有 30 人了(这里面都是意向开发者或者能提供宝贵意见的人)。

    贡献方向:

    • 1 、数据库引擎方向
    • 2 、工具生态如 cli 、可视化工具等
    • 3 、单测覆盖率、文档建设等 NutsDB 发展还很早期,等你的加入,希望你有热情,有意愿,有学习力,有开源精神,愿意贡献项目。

    加群

    这个群主要交流 Go 语言&nutsdb&其他技术相关的。如果二维码过期,请访问这个链接

    nutsdb-group
    4 条回复    2022-08-15 17:25:17 +08:00
    king888
        1
    king888  
       2022-08-15 09:26:20 +08:00
    已 star ,有没 pub/sub 的计划
    runningman
        2
    runningman  
       2022-08-15 10:14:28 +08:00
    后面在项目用一下
    runningman
        3
    runningman  
       2022-08-15 10:14:38 +08:00
    后面在项目用一下看看
    zxCoder
        4
    zxCoder  
       2022-08-15 17:25:17 +08:00
    老问题:和其他的区别?感觉现在 KV 数据库也卷起来了,一大堆
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1266 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:10 · PVG 02:10 · LAX 11:10 · JFK 14:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.