dsukhoroslov / bagri

XML/Document DB on top of distributed cache
Apache License 2.0
41 stars 5 forks source link

Support Bagri on Apache Ignite #64

Open akuznetsov-gridgain opened 8 years ago

akuznetsov-gridgain commented 8 years ago

Apache Ignite is a JCache compilant and has allmost all features as Hazelcast. I think it make sense implement Ignite support.

dsukhoroslov commented 8 years ago

Hi Alexey. Initially, when the project just started, I had in mind to make it cache-agnostic. The first prototype was built on Oracle Coherence, actually. Then I moved to Hazelcast and now it'll be not so easy: the HZ infrastructure used not only for data storage, but for administrative tasks also. System nodes are managed from admin server via HZ tasks. This part is not easy to move to another JCache implementation... Will think about it..

akuznetsov-gridgain commented 8 years ago

Hi! I think it will be cool to abstract cache layer as much as possible. Locking to HZ will reduce possible adoption of Bagri. Ignite also has ability to run tasks. It is possible to abstract all logic in base classes/interfaces and implement appropriate HZ implementations? And same for Ignite? For example: SomeTaskClass -> SomeTaskClassHz & SomeTaskClassIgnite? Other people could implement SomeTaskClassAnotherCacheImpl.

dsukhoroslov commented 8 years ago

The major HZ feature used in Bagri is an ability to have several cache clusters within the same JVM. If the same is supported in Ignite then yes, it can be done. But I'd start from client side first. The task #5 is already here..

akuznetsov-gridgain commented 8 years ago

Yes, Ignite can run several nodes in same JVM.