- 支持 .NET 2.0,最好是使用 FOSS 实现
- 版本友好 (即:如果底层数据结构的更改很简单,比如添加/删除字段,则读取旧版本的格式应该相对简单)
- 能够进行某种形式的随机访问,其中部分数据可以在初始创建后进行扩展,而无需反序列化已创建的集合(将其想象成扩展中间结果)
- 空间和时间高效(鉴于这一要求,XML 被排除在选项之外)
到目前为止考虑过的选项:
- XmlSerializer:由于 XML 序列化不满足第 3 和第 4 条要求,因此被排除在外。
- SerializableAttribute:不支持第 2 和第 3 条要求。
- Protocol Buffers:据文档所述(关于大数据集),该选项被排除,因为此评论建议在顶部添加另一层,这将要求文件格式本身处理额外的复杂性。
- HDF5、EXI:似乎没有 .NET 实现
非常感谢任何建议或指针。此外,如果您认为上面的信息有误,请提供指针/示例证明我是错误的。