- 主题:这个咋写,有什么现成的库可用么
数据类似于std::map<int, std::vector<short>>,存储成单文件,只读,根据int key随机访问,读取一条记录的时候不把整个文件都读进内存,类似于memory map直接寻址只取需要的那条记录,另外需要节省硬盘所以希望用zstd压缩。
所以就是个基于memory map文件的std::map和std::vector,加上zstd压缩支持,有啥现成的库可用么?
--
FROM 32.220.156.*
6TB
【 在 gfkid 的大作中提到: 】
: 至少说说数据有多大吧
--
FROM 32.220.156.*
就类似于lmdb,但是需要加上压缩
【 在 poggy 的大作中提到: 】
:
: 我不太明白,你说的根据key随机访问是什么意思, 要保存哈希列表吗?
: 是不是O(1)的访问性能。
: ...................
--
FROM 32.220.156.*
最后就这么干了,数据分块,zstd压缩,用的时候直接seekg取一块出来在内存里解压。
zstd真是太好用了,压缩率高速度还嗖嗖的。
【 在 ylh0315 的大作中提到: 】
: 我的提议是文件块的整块压缩,还是有一定压缩比的。
: 按照索引文件,找到文件块,整块读入内存,展开,就可以随机访问了。
--
FROM 32.220.156.*