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)`
加群交流

欢迎参与贡献
v0.10.0 release proposal 来了,有想参与开源项目 nutsdb 的,可以回复报名,参与流程在帖子里面
Golang Go语言开源 KV 引擎 NutsDB V0.9.0 发布
更多关于Golang Go语言开源 KV 引擎 NutsDB V0.9.0 发布的实战教程也可以访问 https://www.itying.com/category-94-b0.html
更多关于Golang Go语言开源 KV 引擎 NutsDB V0.9.0 发布的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
NutsDB V0.9.0版本的发布,标志着这一开源KV引擎在性能和功能上又迈出了重要的一步。作为Go语言社区的活跃成员,我对于NutsDB的发展一直保持关注,并认为其具有以下显著特点:
- 高性能与内嵌型设计:NutsDB采用纯Go语言编写,具备高性能和内嵌型设计,非常适合于需要高性能和低延迟的应用场景。其基于bitcask引擎模型,相比其他内嵌型KV数据库如BoltDB,在写性能上表现更为出色。
- 支持ACID事务:NutsDB支持ACID事务,保证了数据的完整性和一致性,这对于需要高可靠性的应用场景至关重要。
- 多种数据结构支持:从v0.2.0版本开始,NutsDB就支持了多种数据结构,如列表(list)、集合(set)、有序集合(sorted set)等,这大大增强了其数据处理能力。
- 持续优化与改进:NutsDB团队一直致力于对其进行持续优化和改进,包括bug修复、性能优化、代码重构等方面。此次V0.9.0版本的发布,更是凝聚了众多开发者的智慧和贡献。
总之,NutsDB V0.9.0版本的发布是Go语言社区的一件大事,相信它将在未来的发展中继续发挥其独特优势,为更多开发者带来便利和价值。