-
Notifications
You must be signed in to change notification settings - Fork 328
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v0.13.2 release plan #403
Comments
实现Hint File,这个意思是自动merge时写新的数据文件的同时也写hint file(只写key和相关信息)吗,启动时只读取这个hint file而不是从所有数据文件读取,写入数据的同时也写hint file(根据大小自动轮转),hint file相当于是一个去掉了value的索引,论文是指哪个论文的,想尝试下这个任务 |
我先把这个任务归到你下面,论文是这个 https://riak.com/assets/bitcask-intro.pdf , 可以先看看, 了解了解。 |
对的,不用读 value 来加快启动速度。但是我想了一下这个给应该只能在第二种模式启动的时候有用? |
好像是
…---Original---
From: "Bruce ***@***.***>
Date: Thu, Aug 17, 2023 17:19 PM
To: ***@***.***>;
Cc: ***@***.******@***.***>;
Subject: Re: [nutsdb/nutsdb] v0.13.2 release plan (Issue #403)
实现Hint File,这个意思是自动merge时写新的数据文件的同时也写hint file(只写key和相关信息)吗,启动时只读取这个hint file而不是从所有数据文件读取,写入数据的同时也写hint file(根据大小自动轮转),hint file相当于是一个去掉了value的索引,论文是指哪个论文的,想尝试下这个任务
对的,不用读 value 来加快启动速度。但是我想了一下这个给应该只能在第二种模式启动的时候有用?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
我想要上手任务的前3个 : ) |
可以先选一个分配给你,给其他小伙伴也留点机会,做完了可以再过来认领,任务列表也会更新😁 |
那我先选 |
分配给你了 |
单独写一条数据表明某个事物已经提交 这个任务请给我 |
我想认领重构 |
好的,分配给你了 |
好的,分配给你了。做的时候可以注意一下启动 db 的 open 函数那边的逻辑 😁 |
我想认领重构 |
好的 |
想认领一个 |
好的,分配给你了😁 |
我想认领这个任务,可以使用泛型进行重构吗? |
可以说一下具体做法吗 |
简单任务
上手型任务
继续重构测试用例。目前 db_test.go 已经完成了重构,但其它的db相关的测试仍然会用到 db_test.go 里用到的全局变量,可以按照 db_test.go 的方式重构其它测试用例。可以参照这个 pr 的方式来重构:test: rebuild unit tests in db_test.go(issue#374, task 4) #375 。以下这些文件可以一个一个领,因为任务量都比较大。
这个方法应该没有必要存在的,ErrWhenBuildListIdx,在调用的地方直接用erroes.Wrap 包装一下应该就好。或者有别的方法也可以实践一下,这个任务的目的是去掉这个冗余的方法。@TremblingV5
进阶型任务
实现Hint FIle。 当前重启逻辑是把所有数据都读进来构建索引,其实重启直关注key,并不关注value的情况,论文中有提到一种Hintfile的文件,也就是merge只写入key和相关信息,不写入value。。这样可以节省后面重启的时候读取value的开销。目前nutsdb并没有实现这个功能。可以实现一下,当然也是开放配置给用户是否开启。默认开启即可。 @damotiansheng
现在事务提交的时候,会在事务最后一条数据记录上标记事务提交状态,其实可以单独写一条数据表明某个事物已经提交了,即一条单独的 Commit 日志。另外也可以单独在写提交事务开始的时候写一条记录说明该记录已经开始,即一条 Begin 日志。这样会优雅一些。@bigboss2063
提供一个最大数据量的配置,可以统计当前内存中的 Record 有多少条,方便对内存占用有要求的用户进行配置,到达阈值报错给用户停止写入。如何设置最大内存大小或减少内存消耗? #239 @damotiansheng
探究性任务 (探究性任务是学习探究项目一些性能优化方向的。学习为主,不强制有任何结果。当然可以把学习结果分享出来。不会指派给任何人,大家都可以一起学习。)
The text was updated successfully, but these errors were encountered: