开源 kv 引擎 nutsdb v0.10.0 发布~ - V2EX
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 1801 次点击
    这是一个创建于 1163 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,这篇文章主要是来说明下 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     Solana     5098 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 09:43 PVG 17:43 LAX 02:43 JFK 05:43
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86