开发者

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜