cache configuration FULL_SYNC

classic Classic list List threaded Threaded
9 messages Options
prasadbhalerao1983 prasadbhalerao1983
Reply | Threaded
Open this post in threaded view
|

cache configuration FULL_SYNC

Hi,

I am using FULL_SYNC cache write synchronization mode.
1) Does FULL_SYNC mode guarantees 100% consistency between ignite in memory cache and 3rd party data store (oracle in my case)?

2) Does FULL_SYNC mode requires to do the cache updates in ignite transaction?( I am using write through approach.)


Thanks,
Prasad
prasadbhalerao1983 prasadbhalerao1983
Reply | Threaded
Open this post in threaded view
|

Re: cache configuration FULL_SYNC

I understand that FULL_SYNC is required to keep the consistency between primary data node and backup data node and not between the cache and 3rd party data.
Sorry for asking the incorrect question. 

1) Does ignite supports write through updates to 3rd party store when using update or delete sql?

2) Is it mandatory to use ignite transaction to keep strong consistency between in memory cache and 3rd party data store? 

Thanks,
Prasad


On Mon, Jul 9, 2018 at 6:07 PM Prasad Bhalerao <[hidden email]> wrote:
Hi,

I am using FULL_SYNC cache write synchronization mode.
1) Does FULL_SYNC mode guarantees 100% consistency between ignite in memory cache and 3rd party data store (oracle in my case)?

2) Does FULL_SYNC mode requires to do the cache updates in ignite transaction?( I am using write through approach.)


Thanks,
Prasad
ezhuravlev ezhuravlev
Reply | Threaded
Open this post in threaded view
|

Re: cache configuration FULL_SYNC

In reply to this post by prasadbhalerao1983
Hi,

1. Cache write synchronization mode is not about 3rd party store, it's about waiting for write replies from other nodes. But Ignite with enabled 3rd party store guarantees consistency itself.

2. Ignite creates implicit transactions for atomic updates to guarantee consistency between nodes. If you want to make more than one update in transaction, then, of course, you should use explicit Ignite transactions.

Evgenii

2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Hi,

I am using FULL_SYNC cache write synchronization mode.
1) Does FULL_SYNC mode guarantees 100% consistency between ignite in memory cache and 3rd party data store (oracle in my case)?

2) Does FULL_SYNC mode requires to do the cache updates in ignite transaction?( I am using write through approach.)


Thanks,
Prasad

prasadbhalerao1983 prasadbhalerao1983
Reply | Threaded
Open this post in threaded view
|

Re: cache configuration FULL_SYNC

Resending my last mail ...

I understand that FULL_SYNC is required to keep the consistency between primary data node and backup data node and not between the cache and 3rd party data.
Sorry for asking the incorrect question. 

1) Does ignite supports write through updates to 3rd party store when using update or delete sql?

2) Is it mandatory to use ignite transaction to keep strong consistency between in memory cache and 3rd party data store? 
-Like you said, if I am updating more than one entry in cache then transaction is necessary to keep strong consistency between 3rd party db and ignite cache. Am I correct?

Thanks,
Prasad

On Mon, Jul 9, 2018 at 6:38 PM Evgenii Zhuravlev <[hidden email]> wrote:
Hi,

1. Cache write synchronization mode is not about 3rd party store, it's about waiting for write replies from other nodes. But Ignite with enabled 3rd party store guarantees consistency itself.

2. Ignite creates implicit transactions for atomic updates to guarantee consistency between nodes. If you want to make more than one update in transaction, then, of course, you should use explicit Ignite transactions.

Evgenii

2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Hi,

I am using FULL_SYNC cache write synchronization mode.
1) Does FULL_SYNC mode guarantees 100% consistency between ignite in memory cache and 3rd party data store (oracle in my case)?

2) Does FULL_SYNC mode requires to do the cache updates in ignite transaction?( I am using write through approach.)


Thanks,
Prasad

ezhuravlev ezhuravlev
Reply | Threaded
Open this post in threaded view
|

Re: cache configuration FULL_SYNC

1. As this doc says: https://apacheignite.readme.io/docs/3rd-party-store: Ignite writes through results of its SQL INSERT, UPDATE and MERGE queries.
2. Transaction in Ignite means absolutely the same as in another systems. If you want two or more changes to be in one transaction(i.e., classic example with transfer between bank accounts), then, for sure, you need to use transactions.

Evgenii

2018-07-09 16:52 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Resending my last mail ...

I understand that FULL_SYNC is required to keep the consistency between primary data node and backup data node and not between the cache and 3rd party data.
Sorry for asking the incorrect question. 

1) Does ignite supports write through updates to 3rd party store when using update or delete sql?

2) Is it mandatory to use ignite transaction to keep strong consistency between in memory cache and 3rd party data store? 
-Like you said, if I am updating more than one entry in cache then transaction is necessary to keep strong consistency between 3rd party db and ignite cache. Am I correct?

Thanks,
Prasad

On Mon, Jul 9, 2018 at 6:38 PM Evgenii Zhuravlev <[hidden email]> wrote:
Hi,

1. Cache write synchronization mode is not about 3rd party store, it's about waiting for write replies from other nodes. But Ignite with enabled 3rd party store guarantees consistency itself.

2. Ignite creates implicit transactions for atomic updates to guarantee consistency between nodes. If you want to make more than one update in transaction, then, of course, you should use explicit Ignite transactions.

Evgenii

2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Hi,

I am using FULL_SYNC cache write synchronization mode.
1) Does FULL_SYNC mode guarantees 100% consistency between ignite in memory cache and 3rd party data store (oracle in my case)?

2) Does FULL_SYNC mode requires to do the cache updates in ignite transaction?( I am using write through approach.)


Thanks,
Prasad


prasadbhalerao1983 prasadbhalerao1983
Reply | Threaded
Open this post in threaded view
|

Re: cache configuration FULL_SYNC

Thank you for the clarification.

Ignite does not support transactions with jdbc updates. So if I use delete/update SQL to delete/update the multiple cache entries, ignite will not provide strong consistency between cache and oracle database.
Am I correct?

On Mon, Jul 9, 2018 at 7:43 PM Evgenii Zhuravlev <[hidden email]> wrote:
1. As this doc says: https://apacheignite.readme.io/docs/3rd-party-store: Ignite writes through results of its SQL INSERT, UPDATE and MERGE queries.
2. Transaction in Ignite means absolutely the same as in another systems. If you want two or more changes to be in one transaction(i.e., classic example with transfer between bank accounts), then, for sure, you need to use transactions.

Evgenii

2018-07-09 16:52 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Resending my last mail ...

I understand that FULL_SYNC is required to keep the consistency between primary data node and backup data node and not between the cache and 3rd party data.
Sorry for asking the incorrect question. 

1) Does ignite supports write through updates to 3rd party store when using update or delete sql?

2) Is it mandatory to use ignite transaction to keep strong consistency between in memory cache and 3rd party data store? 
-Like you said, if I am updating more than one entry in cache then transaction is necessary to keep strong consistency between 3rd party db and ignite cache. Am I correct?

Thanks,
Prasad

On Mon, Jul 9, 2018 at 6:38 PM Evgenii Zhuravlev <[hidden email]> wrote:
Hi,

1. Cache write synchronization mode is not about 3rd party store, it's about waiting for write replies from other nodes. But Ignite with enabled 3rd party store guarantees consistency itself.

2. Ignite creates implicit transactions for atomic updates to guarantee consistency between nodes. If you want to make more than one update in transaction, then, of course, you should use explicit Ignite transactions.

Evgenii

2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Hi,

I am using FULL_SYNC cache write synchronization mode.
1) Does FULL_SYNC mode guarantees 100% consistency between ignite in memory cache and 3rd party data store (oracle in my case)?

2) Does FULL_SYNC mode requires to do the cache updates in ignite transaction?( I am using write through approach.)


Thanks,
Prasad


ezhuravlev ezhuravlev
Reply | Threaded
Open this post in threaded view
|

Re: cache configuration FULL_SYNC

No, you're not correct, each insert/update will be consistent between cache and DB, transactions are not about consistency between cache and oracle database here, it's about more than one operation, as in an example I've shared in my previous message.

Evgenii

2018-07-09 17:24 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Thank you for the clarification.

Ignite does not support transactions with jdbc updates. So if I use delete/update SQL to delete/update the multiple cache entries, ignite will not provide strong consistency between cache and oracle database.
Am I correct?

On Mon, Jul 9, 2018 at 7:43 PM Evgenii Zhuravlev <[hidden email]> wrote:
1. As this doc says: https://apacheignite.readme.io/docs/3rd-party-store: Ignite writes through results of its SQL INSERT, UPDATE and MERGE queries.
2. Transaction in Ignite means absolutely the same as in another systems. If you want two or more changes to be in one transaction(i.e., classic example with transfer between bank accounts), then, for sure, you need to use transactions.

Evgenii

2018-07-09 16:52 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Resending my last mail ...

I understand that FULL_SYNC is required to keep the consistency between primary data node and backup data node and not between the cache and 3rd party data.
Sorry for asking the incorrect question. 

1) Does ignite supports write through updates to 3rd party store when using update or delete sql?

2) Is it mandatory to use ignite transaction to keep strong consistency between in memory cache and 3rd party data store? 
-Like you said, if I am updating more than one entry in cache then transaction is necessary to keep strong consistency between 3rd party db and ignite cache. Am I correct?

Thanks,
Prasad

On Mon, Jul 9, 2018 at 6:38 PM Evgenii Zhuravlev <[hidden email]> wrote:
Hi,

1. Cache write synchronization mode is not about 3rd party store, it's about waiting for write replies from other nodes. But Ignite with enabled 3rd party store guarantees consistency itself.

2. Ignite creates implicit transactions for atomic updates to guarantee consistency between nodes. If you want to make more than one update in transaction, then, of course, you should use explicit Ignite transactions.

Evgenii

2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Hi,

I am using FULL_SYNC cache write synchronization mode.
1) Does FULL_SYNC mode guarantees 100% consistency between ignite in memory cache and 3rd party data store (oracle in my case)?

2) Does FULL_SYNC mode requires to do the cache updates in ignite transaction?( I am using write through approach.)


Thanks,
Prasad



prasadbhalerao1983 prasadbhalerao1983
Reply | Threaded
Open this post in threaded view
|

Re: cache configuration FULL_SYNC

When you have multiple data sources (cache and oracle in this case) which should be updated in single transaction we use JTA. But with ignite transaction and ignite write through approach I don't have to use JTA.
To keep the cache and oracle consistent one needs transaction.  In this case one update operation spans to multiple data sources.

On Mon, Jul 9, 2018 at 8:05 PM Evgenii Zhuravlev <[hidden email]> wrote:
No, you're not correct, each insert/update will be consistent between cache and DB, transactions are not about consistency between cache and oracle database here, it's about more than one operation, as in an example I've shared in my previous message.

Evgenii

2018-07-09 17:24 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Thank you for the clarification.

Ignite does not support transactions with jdbc updates. So if I use delete/update SQL to delete/update the multiple cache entries, ignite will not provide strong consistency between cache and oracle database.
Am I correct?

On Mon, Jul 9, 2018 at 7:43 PM Evgenii Zhuravlev <[hidden email]> wrote:
1. As this doc says: https://apacheignite.readme.io/docs/3rd-party-store: Ignite writes through results of its SQL INSERT, UPDATE and MERGE queries.
2. Transaction in Ignite means absolutely the same as in another systems. If you want two or more changes to be in one transaction(i.e., classic example with transfer between bank accounts), then, for sure, you need to use transactions.

Evgenii

2018-07-09 16:52 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Resending my last mail ...

I understand that FULL_SYNC is required to keep the consistency between primary data node and backup data node and not between the cache and 3rd party data.
Sorry for asking the incorrect question. 

1) Does ignite supports write through updates to 3rd party store when using update or delete sql?

2) Is it mandatory to use ignite transaction to keep strong consistency between in memory cache and 3rd party data store? 
-Like you said, if I am updating more than one entry in cache then transaction is necessary to keep strong consistency between 3rd party db and ignite cache. Am I correct?

Thanks,
Prasad

On Mon, Jul 9, 2018 at 6:38 PM Evgenii Zhuravlev <[hidden email]> wrote:
Hi,

1. Cache write synchronization mode is not about 3rd party store, it's about waiting for write replies from other nodes. But Ignite with enabled 3rd party store guarantees consistency itself.

2. Ignite creates implicit transactions for atomic updates to guarantee consistency between nodes. If you want to make more than one update in transaction, then, of course, you should use explicit Ignite transactions.

Evgenii

2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Hi,

I am using FULL_SYNC cache write synchronization mode.
1) Does FULL_SYNC mode guarantees 100% consistency between ignite in memory cache and 3rd party data store (oracle in my case)?

2) Does FULL_SYNC mode requires to do the cache updates in ignite transaction?( I am using write through approach.)


Thanks,
Prasad



ezhuravlev ezhuravlev
Reply | Threaded
Open this post in threaded view
|

Re: cache configuration FULL_SYNC

Ignite internally guarantees that write through to the 3rd party cache store will be consistent with the update of the cache.

Evgenii

2018-07-09 17:50 GMT+03:00 Prasad Bhalerao <[hidden email]>:
When you have multiple data sources (cache and oracle in this case) which should be updated in single transaction we use JTA. But with ignite transaction and ignite write through approach I don't have to use JTA.
To keep the cache and oracle consistent one needs transaction.  In this case one update operation spans to multiple data sources.

On Mon, Jul 9, 2018 at 8:05 PM Evgenii Zhuravlev <[hidden email]> wrote:
No, you're not correct, each insert/update will be consistent between cache and DB, transactions are not about consistency between cache and oracle database here, it's about more than one operation, as in an example I've shared in my previous message.

Evgenii

2018-07-09 17:24 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Thank you for the clarification.

Ignite does not support transactions with jdbc updates. So if I use delete/update SQL to delete/update the multiple cache entries, ignite will not provide strong consistency between cache and oracle database.
Am I correct?

On Mon, Jul 9, 2018 at 7:43 PM Evgenii Zhuravlev <[hidden email]> wrote:
1. As this doc says: https://apacheignite.readme.io/docs/3rd-party-store: Ignite writes through results of its SQL INSERT, UPDATE and MERGE queries.
2. Transaction in Ignite means absolutely the same as in another systems. If you want two or more changes to be in one transaction(i.e., classic example with transfer between bank accounts), then, for sure, you need to use transactions.

Evgenii

2018-07-09 16:52 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Resending my last mail ...

I understand that FULL_SYNC is required to keep the consistency between primary data node and backup data node and not between the cache and 3rd party data.
Sorry for asking the incorrect question. 

1) Does ignite supports write through updates to 3rd party store when using update or delete sql?

2) Is it mandatory to use ignite transaction to keep strong consistency between in memory cache and 3rd party data store? 
-Like you said, if I am updating more than one entry in cache then transaction is necessary to keep strong consistency between 3rd party db and ignite cache. Am I correct?

Thanks,
Prasad

On Mon, Jul 9, 2018 at 6:38 PM Evgenii Zhuravlev <[hidden email]> wrote:
Hi,

1. Cache write synchronization mode is not about 3rd party store, it's about waiting for write replies from other nodes. But Ignite with enabled 3rd party store guarantees consistency itself.

2. Ignite creates implicit transactions for atomic updates to guarantee consistency between nodes. If you want to make more than one update in transaction, then, of course, you should use explicit Ignite transactions.

Evgenii

2018-07-09 15:37 GMT+03:00 Prasad Bhalerao <[hidden email]>:
Hi,

I am using FULL_SYNC cache write synchronization mode.
1) Does FULL_SYNC mode guarantees 100% consistency between ignite in memory cache and 3rd party data store (oracle in my case)?

2) Does FULL_SYNC mode requires to do the cache updates in ignite transaction?( I am using write through approach.)


Thanks,
Prasad