I have started reading some of the posts related to protocol buffers. The serialization method seems very appropriate for the transfer of data to and from web servers. Has anyone considered using a method like this to save and retrieve data on the mobile device itself? (i.e. a replacement for a traditional database / orm layer) We currently use a custom reflection-based orm. We want to get away from using reflection on the mobile devices. And, since we have to send/receive serialized data anyway, this seems like a good fit.
- Where would the data be persisted?
- How would the data be queried?
Would it make sense to store the data in a traditional database (SqlCE or SqlLite) with a few "searchable" columns and then one column for the serialized data?
Thoughts? Am I out on a limb here?
Thank you!
Update: this same "theory" could work for other types of serialized data too ... JSON for example. I have been unable to find a NoSQL option for storing and querying serialized data on the Compact Framework. I'd be interested in that option as well if anyone knows of one.
Comment on Object Databases I've tried both db4o and Perst. db4o was absolutely wonderful to work with. I used it in "real life" and the performance, usability, and maintainability were excellent. Their licensing fees for our situation were what I would consider outrageous. Perst was a step down from db4o but also wonderful to work with. It "just worked" and was fast (though not near as nice to query.) Their licensing was very affordable but something in their licensing was unacceptable to the (large, well known) corporation that I contract to. This brings me to where I am now...