Golang Go语言开源 KV 引擎 NutsDB V0.9.0 发布

大家好,如标题所言,开源 KV 引擎 NutsDB V0.9.0 发布~

本文主要摘自: https://mp.weixin.qq.com/s/VpMSe2ONGgRjxkJhvt24RQ

NutsDB 的项目地址

https://github.com/nutsdb/nutsdb , 欢迎 star 关注、贡献。

本次 v0.9.0 发布的主要改动

非常感谢参与贡献的小伙伴,我把相关 PR 贡献的小伙伴的 github 名放在后面了([@xxx](/user/xxx) )。

本次改动主要分以下几类(详见: https://github.com/nutsdb/nutsdb/issues/167 ):

1 、bug 的修复

  • [Bug Fix] close file before error check &remove redundant judgments (#137 ) [@xujiajun](/user/xujiajun)
  • [Bug Fix] update golang.org/x/sys to support go1.18 build (#139 )[@ag9920](/user/ag9920)
  • [Bug Fix] when use merge, error: The process cannot access the file because it is being used by another process (#166) [@xujiajun](/user/xujiajun)
  • [Bug Fix] fix code example. (#143) [@gphper](/user/gphper)
  • [Bug Fix] merge error after delete bucket (#153) [@xujiajun](/user/xujiajun)

2 、优化

  • [Perf] add fd cache(#164) [@elliotchenzichang](/user/elliotchenzichang) 大幅度提高了读性能,有本地测了下有十几倍的提高
  • [Perf] optimize sadd function inserting duplicate data leads to datafile growth (#146) [@gphper](/user/gphper)

3 、重构

  • [Refactor] rewrite managed to support panic rollback (#136 )[@ag9920](/user/ag9920)
  • [Refactor] errors: optimize error management (#163) [@xpzouying](/user/xpzouying)

4 、单测相关

  • [Test] Update testcase: use testify test tools (#138) [@xpzouying](/user/xpzouying)
  • [Test] change list and set test with table driven test and testify (#145 ) [@bigdaronlee163](/user/bigdaronlee163)
  • [Test] refactor db_test for string use testify (#147) [@Rand01ph](/user/Rand01ph)
  • [Test] add [bucket_meat/entry] unit test (#148) [@gphper](/user/gphper)
  • [Test] update bptree unittest (#149) [@xpzouying](/user/xpzouying)
  • [Test] Update tx bptree testcase (#155) [@xpzouying](/user/xpzouying)
  • [Test] complete zset tests with testify (#151) [@bigdaronlee163](/user/bigdaronlee163)
  • [Test] optimization tx_bucket_test and bucket_meta_test (#156) [@gphper](/user/gphper)
  • [Test] test:complete tx_zset tests with testify (#162) [@bigdaronlee163](/user/bigdaronlee163)

5 、杂项

  • [Chore] remove unused member (#157) [@xpzouying](/user/xpzouying)
  • [Style] format code comments etc. (#140) [@moyrne](/user/moyrne)`

加群交流

nutsdb 交流中转群

欢迎参与贡献

v0.10.0 release proposal 来了,有想参与开源项目 nutsdb 的,可以回复报名,参与流程在帖子里面

帖子地址: https://github.com/nutsdb/proposal/issues/3


Golang Go语言开源 KV 引擎 NutsDB V0.9.0 发布

更多关于Golang Go语言开源 KV 引擎 NutsDB V0.9.0 发布的实战教程也可以访问 https://www.itying.com/category-94-b0.html

1 回复

更多关于Golang Go语言开源 KV 引擎 NutsDB V0.9.0 发布的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


NutsDB V0.9.0版本的发布,标志着这一开源KV引擎在性能和功能上又迈出了重要的一步。作为Go语言社区的活跃成员,我对于NutsDB的发展一直保持关注,并认为其具有以下显著特点:

  1. 高性能与内嵌型设计:NutsDB采用纯Go语言编写,具备高性能和内嵌型设计,非常适合于需要高性能和低延迟的应用场景。其基于bitcask引擎模型,相比其他内嵌型KV数据库如BoltDB,在写性能上表现更为出色。
  2. 支持ACID事务:NutsDB支持ACID事务,保证了数据的完整性和一致性,这对于需要高可靠性的应用场景至关重要。
  3. 多种数据结构支持:从v0.2.0版本开始,NutsDB就支持了多种数据结构,如列表(list)、集合(set)、有序集合(sorted set)等,这大大增强了其数据处理能力。
  4. 持续优化与改进:NutsDB团队一直致力于对其进行持续优化和改进,包括bug修复、性能优化、代码重构等方面。此次V0.9.0版本的发布,更是凝聚了众多开发者的智慧和贡献。

总之,NutsDB V0.9.0版本的发布是Go语言社区的一件大事,相信它将在未来的发展中继续发挥其独特优势,为更多开发者带来便利和价值。

回到顶部