I have most probably quite easy question but…
I am looking for efficient way of storing project related data by means of plugin.
I mean additional data which is mostly independent of the 3dm file content. This should include large amount of hierarchical data. At the moment I think of storing data for every project in the separate XML file, however using of the database mechanism would be more efficient, I guess.
Any comments/suggestions are welcome. I am writing in .NET.
There are several ways to serialize data to a file. If you want to use a database, look into sqlite, a file-based database. Xml is also a good way, and .net has built in support for reading an writing an object hierarchy. Json is like xml, but with smaller file size.
Better performance and smaller files can be obtained using protocol buffers by Google, but the .net implementation protobuf.net has quite some quirks and I found it difficult to use on complex class hierarchies.
What we typically do is write serialized data from simple dto objects in protocol buffer format to the 3dm file.
Will dig a bit in Sqlite. Seems this is quite suitable.