2016-09-13 7 views
0

私はここ数日間WSO2 CEPを調査しています。WSO2 CEP - 複数の実行プランのための単一のイベントテーブル

複数の実行計画で単一のルックアップテーブルを使用できるシナリオを検討しています。私が知る限り、すべてのデータを格納する唯一の方法はイベントテーブルです。

私の質問は以下のとおりです。

  1. 私は一度イベントテーブルをロードする(1つの実行計画によるものであってもよい)、およびその他の実行計画とそのテーブルを共有することはできますか?

  2. Q1の回答がNOの場合、異なる実行計画に格納されている同じデータの複数のコピーになります。このスペースの利用を減らす方法はありますか?

  3. イベントテーブルが正しい解決策でない場合、他のオプションは何ですか?事前に

おかげで、 -Obaid

答えて

0

イベントテーブルは、あなたのシナリオで動作します。ただし、メモリ内のイベントテーブルの代わりにRDBMS EventTableまたはHazelcast EventTableを使用する必要があります。それらを使用すると、単一の表データを複数の実行計画と共有できます。

サーバをシャットダウンしてもデータを保持したい場合は、RDBMSイベントテーブルを使用する必要があります(これには、それぞれのDBブラウザ(H2ブラウザ、MySQL Workbenchなど)を使用してテーブルデータにアクセスすることもできます) 。実行時に単一のイベントテーブルを複数の実行計画と共有したい場合は、Hazelcast EventTableを使用することができます。

+0

ありがとうございました。 – Obaid

+0

我々はhazelcastを考えるのであれば、それは以下のようなことができます: 1つの実行計画からの読み込みhazelcast裏打ちされたイベントテーブルを(ストリームから挿入+定義) 2.データがメモリクラスタ にhazelcastに保存されます3.別の実行計画から同じデータを使用したい場合は、step-1と同じものを定義します。データがすでに存在するため、ストリームからロードする必要はありません。 上記の内容が間違っている場合は、私に修正してください。 ありがとう、Obaid – Obaid

+0

正確です。しかし、Hzでのデータ共有は、(CEP 4.2.0)で導入されました[https://github.com/wso2/product-cep/releases/download/v4.2.0-rc2/wso2cep-4.2.0-RC2.zip] (これは今週中にリリースされる予定です)、以前のバージョンでは動作しない可能性があります。 <4.2.0を使用している場合は、RDBMSイベント表を参照する必要があります。 – Grainier

関連する問題