我是否可以在我的系统中嵌入一个库或引擎来写出仅附加数据?特别是,我需要一些可以处理二进制数据的东西,它可以处理条目查找(最好是O(log n)或更好),也可以向前或向后读取。我已经构建了一个自定义文件格式,但我不认为它是可扩展的,我更喜欢使用已经构建和测试的代码。我正在寻找可以用来存储日志数据的东西。
或者,在磁盘上表示此类数据的最佳方法是什么?我目前的格式如下:
| size | protobuf-record | size |
其中protobuf-record是一个protobuf格式的条目,其大小两侧(作为32位无符号整数)。这允许我向前和向后扫描。我正在使用一个单独的K-V商店(在本例中为Tokyo Cabinet)作为查找数据的索引。
事实上,我正在寻找的一个属性是,如果没有检测到文件格式,则不应插入条目。
我正在寻找之前已经完成的事情,还是应该继续改进我的自定义文件格式?