在讨论下一代科学数据格式时,需要某种类似 JSON 的数据结构(已确定字段的逻辑分组。此外,最好利用现有编码而不是使用自定义二进制结构。对于序列化格式有很多选择。感谢那些对这些编码有经验的人提供的任何指导或见解。
要求:在我们的格式中,数据需要打包成记录,通常不大于 4096 字节。每条记录必须是独立可用的。数据必须在未来几十年内可读。数据归档和交换是通过存储和传输一系列记录来完成的。数据损坏必须只影响损坏的记录,使文件/流/对象中的所有其他记录可读。
优先事项(大致按顺序)是:
- 稳定性,长期存档使用
- 性能,主要是阅读
- 存储不透明斑点的能力
- 尺寸
- 简单
- 广泛的软件(又名库)支持
- 流能力,传输和可读作为记录生成(如果可能的话)
我们已经开始研究 Protobuf(协议缓冲区 RFC)、CBOR(RFC)和一些MessagePack。
任何有经验的人提供的任何信息都将帮助我们确定最合适的方案,或者更重要的是,避免陷阱和死胡同,我们将不胜感激。
提前致谢!