V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
xujiajun001

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

  •  
  •   xujiajun001 ·
    xujiajun · Aug 14, 2022 · 2108 views
    This topic created in 1356 days ago, the information mentioned may be changed or developed.

    大家好,这篇文章主要是来说明下 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 replies    2022-08-15 17:25:17 +08:00
    king888
        1
    king888  
       Aug 15, 2022
    已 star ,有没 pub/sub 的计划
    runningman
        2
    runningman  
       Aug 15, 2022
    后面在项目用一下
    runningman
        3
    runningman  
       Aug 15, 2022
    后面在项目用一下看看
    zxCoder
        4
    zxCoder  
       Aug 15, 2022
    老问题:和其他的区别?感觉现在 KV 数据库也卷起来了,一大堆
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   814 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 22:21 · PVG 06:21 · LAX 15:21 · JFK 18:21
    ♥ Do have faith in what you're doing.