db4o - data partitioning
Is it possible to partition data within db4o?
I didn't find much in regards to it being supported on their site directly. I'd like to keep data around, but migrate it to a different area if it isn't accessed as often. If there is less data to go through, it should speed up queries.
开发者_如何转开发Is there any way to do this outside of db4o if it isn't supported?
Thanks,
Walter
Couldn't you just use more than one DB4O database (so you have separate database files) for this?
It's not supported in the db4o core but you can use db4o dRS to sync objects between db4o instances (you could use dRS to migrate your object to the "old" store)
http://developer.db4o.com/Solutions/ReplicationServices.aspx
Best!
German
Well thats not an easy task and there's no 'ready-to-go'-solution for this right now.
I guess there are different approaches:
- As you and German already discussed: You could use DRS to replicate everything to second db4o database. And then later on delete the original on the master-database. DRS doesn't replicate deletes by default, so that should work.
- Maybe you could serialize the old data to some other datastore. Then you add a special type which is handled by special typetranslator. That type represents a 'gateway' to the serialized archive data. When you load that type the translator loads the serialized data from the alternative datastore.
All these solution suffer from some difficulties. They introduce bounderies which you need to cross. That makes the solution a lot more complex =(
Much better would be if the performance degradation can be kept in acceptable range. Then you don't have to do all this. Or consider a database which can handle that amount of data easily.
精彩评论