C++ FlatBuffers:如何编写大型文件

C++ FlatBuffers:如何编写大型文件,c++,flatbuffers,C++,Flatbuffers,我正在尝试使用FlatBuffers来存储OpenStreetMap数据。因此,这将是50GB 由于通常所有内容都保存在内存中,那么如何(如果有的话)将数据顺序写入文件中呢 我有一种感觉,这不是FlatBuffers适合的地方。目前没有办法创建一个单一的FlatBuffer,而不同时将其全部存储在内存中。唯一的方法是写出一系列(长度前缀)更小的独立FlatBuffers。有没有一种常见的方法?没有,但是你的问题让我觉得我们应该在FlatBuffers库中添加一个。不过这并不难,我建议的是一个包含

我正在尝试使用FlatBuffers来存储OpenStreetMap数据。因此,这将是50GB

由于通常所有内容都保存在内存中,那么如何(如果有的话)将数据顺序写入文件中呢


我有一种感觉,这不是FlatBuffers适合的地方。

目前没有办法创建一个单一的FlatBuffer,而不同时将其全部存储在内存中。唯一的方法是写出一系列(长度前缀)更小的独立FlatBuffers。

有没有一种常见的方法?没有,但是你的问题让我觉得我们应该在FlatBuffers库中添加一个。不过这并不难,我建议的是一个包含以下内容的文件:FlatBuffer 1的32位长度-FlatBuffer 1的缓冲区内容-FlatBuffer 2的32位长度-FlatBuffer 2的缓冲区内容-等等。顺便说一句,添加了一些功能使FlatBuffers的大小预固定部分:@alteredinstance no,目前还没有64位版本。64位注意事项:欢迎对github的贡献。请查看适用于您的平台的内存映射文件API。有一些方法可以将区域映射到内存中,这样您就不必将整个50GB存储在内存中,而只需将部分存储在内存中。