You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Naveen <nb...@tibco.com> on 2017/11/28 08:57:07 UTC

Two persistent data stores for a single Ignite cluster - RDBMS and Ignite native

Hi All

 

Can we have 2 persistent stores for one ignite cluster - one RDBMS mostly oracle and second one is ignite native persistence data store

 

The reason why we are exploring this option is – 

 

We already have an in-memory solution running here in production whose persistent data store is Oracle and there are quite many downstream applications getting data from Oracle where complex PL/SQL stored Procs and packages were written, which may not be possible to re-write the same for Ignite and same time we don’t want to touch when we move to Ignite. 

 

And, we do not want have a bottle neck which could be the result of using Oracle as a persistent data store (which is a centralized one not shared like native ignite persistence), if there is any issue on Oracle, It will slow down both GETs and PUTs of the whole ignite cluster, that’s the reason we would like to have native ignite persistence as well which will act as a primary back up (preload data from native persistence store instead of DB). 

 

Should be sometime like this

 

Upserts                Client à RAM à Ignite Native (Primary) 

è DB (Secondary)

 

GETS                      Clients à RAM à Ignite Native

 

Cluster Restart  preload from Ignite Native

 

Upserts should keep going to both the data stores where as for all the queries it should use ignite native.

 

Can we achieve this one ignite cluster with 2 backend data stores?

 

Regards, Naveen

91-9561721495


Re: Two persistent data stores for a single Ignite cluster - RDBMS and Ignite native

Posted by "slava.koptilin" <sl...@gmail.com>.
Hi Naveen,

Yes, you are right. Apache Ignite does not provide that functionality out of
the box.
However, it can be implemented. Please check this article: 
https://dzone.com/articles/syncing-a-gridgain-in-memory-computing-cluster-and

Thanks!



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Two persistent data stores for a single Ignite cluster - RDBMS and Ignite native

Posted by Ray <ra...@cisco.com>.
Hi Slava,

Thanks for the reply, I have the same doubt.

One more question here, how can a update or new inserts back-propagate to 
Ignite when another application(not ignite) writes to 3rd party persistence? 

For example, Ignite and 3rd party persistence both have one entry for now. 
When another application adds an entry to 3rd party persistence, now 3rd
party persistence has two entries. 
Can Ignite be notified and load the newly added entry automatically? 

From the document, it looks like the data can only be propagated from Ignite 
to persistence, not the other way around. 




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Two persistent data stores for a single Ignite cluster - RDBMS and Ignite native

Posted by "slava.koptilin" <sl...@gmail.com>.
Hi Naveen,

At the first glance, you can try using Continuous Query in order to listen
all modifications (an entry is inserted, updated or deleted) of a cache.
Please see the following page for the detailed information [1]

Another approach that may be used here is using two caches.
The first one configured with PDS and the second one should be configured
with CacheStore and will be used in order to propagate changes to the
underlying database (OracleDB).

[1]
https://apacheignite.readme.io/docs/continuous-queries#section-local-listener
[2] https://apacheignite.readme.io/docs/3rd-party-store#overview

Thanks.



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/