NutsDB v0.5.0 发布
https://github.com/xujiajun/nutsdb
[New feature] Support EntryIdxMode: HintBPTSparseIdxMode
[New feature] Support GetAll() function for all models
[Bug Fix] Fix error too many open files in system
[Bug Fix] Fix constant 2147483648 overflows int
[Bug Fix] Fix when the number of files waiting to be merged not at least 2
[Bug Fix] Fix data pollution when executing the merge method
[Change] Modify Records type && Entries type
[Change] Refactor for tx Commit function
[Change] Update Iterating over keys about README
[Change] Fix some grammatical mistakes about README
[Change] Rename variable for func ReadBPTreeRootIdxAt
[Change] Add issue templates
[Change] Update README && CHANGELOG
这次的变化,主要是增加了HintBPTSparseIdxMode
这个模式,这个模式下,经测试 10 亿条数据,只要 100mb 不到的内存消耗,起因是这个issue, 一哥们说消耗内存太大。
最后,欢迎大家尝试,star 收藏+支持,提 issue,PR 贡献代码。
1
wsseo 2019-11-28 17:45:24 +08:00
🤩
|
2
hijoker 2019-11-29 11:19:49 +08:00
为啥起这个名字啊....
|
3
hijoker 2019-11-29 12:10:38 +08:00
怎么解决 gc 引起的问题?
|
4
xujiajun001 OP @hijoker
> 为啥起这个名字啊? 想到坚果( nuts )给人印象是坚固的外壳(好比数据库很坚固)+里面营养的果实(类比装有用的数据) > 怎么解决 gc 引起的问题? 你指的是 Go 引起的 GC 的问题? |
5
hijoker 2019-11-30 11:58:34 +08:00
|
6
xujiajun001 OP @hijoker
> 当时查出来 nut 坚果,复数 nuts 都是坚果,基本上可以确定 nut 原意就是坚果。你说的估计出现在一定的语境中,而且应该不常用的。 你就按我的原意理解这个名字就好了。 > 这个要具体问题具体分析了。 既然选择了 GO 开发,GC 是免不了,只能说你能接受多少 STW 的问题。老实说我没有特意去考虑解决 GC 引起的问题, 遇到问题再解决就好了。 |
7
Mitt 2019-12-01 08:20:42 +08:00
@xujiajun001 我看美剧里 nuts 挺常见的,可能第一反应更多的是口语上的“疯子”
|
8
xujiajun001 OP @Mitt 哦哦。 那我要取名字叫“坚果数据库”,要怎么翻译准确啊 [捂脸]
|
9
Mitt 2019-12-02 21:42:50 +08:00
@xujiajun001 我感觉就用 nut 就好了,我英语也不咋的不能给准确建议,坚果云我看他们的英文是 nut store
|
10
xujiajun001 OP @Mitt 嗯嗯。
|
11
kulle 2019-12-14 19:52:05 +08:00
搜索最新录入的 50 条记录应该如何操作? Prefix scans, Range scans 和 Get all 好像不太合适.
|
12
xujiajun001 OP @kulle 我不知道你的 key 是怎么设计的,假设你的 key 类似 “ user_xxx” 你可以记下最大的 key (假设最新是“user_0000100”),作为 end key,减去 49 的那个数作为 start key (即 user_0000051 ),然后 Range scans 从 user_0000051 到 user_0000100,即最新的 50 的数 (在同一个 bucket )。
|
13
wzw 2020-04-22 04:11:12 +08:00
@xujiajun001 #12 是不是不带压缩, 存进去之前是不是自己用 zlib 压缩?
|