2016-12-07 14 views
1

我想問點燃是否適合我的使用情況下,這是:就是Apache點燃適合我的用例(負載Oracle表緩存,做這些表之間的連接,並且反映對Oracle數據)

  1. 將oracle表的所有數據加載到Ignite緩存,然後針對緩存中的數據執行各種SQL查詢(聚合/連接/子查詢)。
  2. 當oracle有新創建的數據或某些數據被更新時,有一些方法可以將這些數據插入到緩存中或更新緩存中的相應條目
  3. 當緩存關閉時,應該有某種方式從oracle恢復數據?

不確定Ignite SQLGrid可以適應此用例。

此外,我注意到IgniteRDD不是不可變的,IgniteRDD是否適合此用例?也就是說,我首先將Oracle中的數據加載到IgniteRDD中, 並使用新創建/更新的數據對IgniteRDD進行相應更改爲oracle?但看起來IgniteRDD不支持複雜的SQL?(聚合/連接/子查詢)

回答

1

這是Ignite支持的基本用例之一。

數據可以使用this documentation section中涵蓋的方法之一從Oracle預先加載。

如果您打算首先更新Ignite中的數據並在(首選方式)之後傳播到Oracle,那麼在直寫/直讀模式下使用Oracle作爲CacheStore是有意義的。 Ignite將確保與持久層同步數據。此外,如果羣集重新啓動,它將直接從Oracle的pre-load data

最後,您可以利用GridGain Web Console連接到Oracle和map Oracle's scheme以啓用Ignite高速緩存配置和POJO對象。

正如我所提到的,建議先通過Ignite進行所有更新,然後將它們保留到Oracle。但是,如果Oracle由不知道Ignite的其他應用程序更新,則需要以某種方式自行更新Ignite集羣。 Ignite沒有涵蓋此用例的任何功能。但是,這可以使用GridGain輕鬆實現,該GridGain構建於Ignite之上,它的編號爲Oracle Golden Gate Integration

一旦數據位於Ignite Cluster中,使用SQL Grid即可查詢和/或更新您的數據。 SQL Grid引擎符合ANSI-99標準,並沒有任何限制。

對於Ignite Shared RDD,它將數據存儲在分佈式Ignite緩存中。這就是爲什麼它與Spark本地RDD相反的可變性。共享的RDDs SQL的功能是完全相同的 - 它只是SQL Grid之上的一個API。

相關問題