I've began reading through a few of the posts associated with protocol buffers. The serialization method appears very right for the change in data back and forth from web servers. Has anybody considered utilizing a method such as this in order to save and retrieve data around the mobile phone itself? (i.e. a alternative for any traditional database / orm layer) We presently make use of a custom reflection-based orm. We would like to escape using reflection around the mobile products. And, since we must send/receive serialized data anyway, this appears just like a good fit.
- Where would the information be endured?
- Wouldso would the information be queried?
Wouldn't it seem sensible to keep the information inside a traditional database (SqlCE or SqlLite) having a couple of "searchable" posts after which one column for that serialized data?
Ideas? Shall We Be Held on a limb here?
Update: this same "theory" perform for other kinds of serialized data too ... JSON for instance. I've been not able to locate a NoSQL choice for storing and querying serialized data around the Compact Framework. I'd have an interest for the reason that option too if anybody knows of 1.
Discuss Object Databases I have attempted both db4o and Perst. db4o was absolutely wonderful to utilize. I made use of it in "real existence" and also the performance, usability, and maintainability were excellent. Their certification costs for the situation were things i would consider crazy. Perst would be a step lower from db4o but additionally wonderful to utilize. It "just labored" and was fast (though not close to nice to question.) Their certification was very economical but something within their certification was unacceptable towards the (large, well-known) corporation which i contract to. This brings me to where I'm now...
Well since nobody else has attempted to reply to that one, I'll toss out my estimation. Keep in mind that I have not used at all protobuf (and that's why I have not clarified already), making this all just according to my loose knowledge of things and just how, basically had this issue to resolve, I'd proceed.
First, I have got bookings about adhering blobs right into a relational database. This might return to my bad encounters way, way in the stone age occasions of VB6 and might be invalid, however it still provides me with pause. As a result, I'd most likely investigate another object-storage systems (like Perst or db4o) prior to trying it.
As research, I'd also a minimum of profile stuffing blobs right into a SQLCE database. Why SQLCE rather than SQlLite as well as other RDMS? Well, becasue SQLCE supports TableDirect, which I am a huge fan of. When you can access the information without needing to make use of a slow-ass query processor, you are way ahead.
So I'd produce a table, provide a few small look-up posts which i might explore, then a picture column holding some large binary blob (the particular blob isn't relevent for that test, but it must be reasonably near the coast size as to the you anticipate being produced). I'd adding indexes for each one of the search posts.
I'd fill the table having a couple of 1000 records after which profile the rate where I possibly could aim to a preferred key (i understand that's fast) and most importantly the rate where I'm able to rehydrate my objects.
I'd then weight the expense (time for you to develop, chance cost, possibilities for reusability etc) from the options and decide. I'd most likely blog concerning the results too, because it appears just like a problem that might be of the fairly broad interest.