Versioning freindly, extendible binary file format
        Posted  
        
            by Bas Bossink
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Bas Bossink
        
        
        
        Published on 2010-03-29T20:33:11Z
        Indexed on 
            2010/04/02
            1:03 UTC
        
        
        Read the original article
        Hit count: 695
        
In the project I'm currently working on there is a need to save a sizeable data structure to disk. Being in optimist I thought their must be a standard solution for such a problem however upto now I haven't found a solution that satisfies the following requirements:
- .net 2.0 support, preferably with a foss implementation
 - version friendly (this should be interpreted as reading an old version of the format should be relatively simple if the changes in the underlying data structure are simple, say adding/dropping fields)
 - ability to do some form of random access where part of the data can be extended after initial creation (think of this as extending intermediate results)
 - space and time efficient (xml has been excluded as option given this requierement)
 
Options considered so far:
- Protocol Buffers : was turned down by verdict of the documentation about Large Data Sets since this comment suggest adding another layer on top, this would call for additional complexity which I wish to have handled by the file format itself.
 - HDF5,EXI : do not seem to have .net implementations
 - SQLite : the data structure at hand would result in a pretty complex table structure that seems to heavyweight for the intended use
 - BSON : does not appear to support requirement 3.
 - Fast Infoset : only seems to have buyware .net implementations
 
Any recommendations or pointers are greatly appreciated. Furthermore if you believe any of the information above is not true please provide pointers/examples to proove me wrong.
© Stack Overflow or respective owner