Data Grid と Compute Grid (1) : GemFire導入

以前Data Gridミドルウェアの1つであるPivotal GemFireについて調べていたことがあったので書きます。

今回は紹介&すこし動かしてみるぐらいです。最終的にはCompute Gridミドルウェアの1つであるIBM Spectrum Symphony

https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=DCD12359JPJA

と組み合わせて動かすことをゴールにし、何回かに分けて続ける予定です。

 

1.GemFireとは

 

GemFireについて詳しくはこちらご覧いただくとして

https://pivotal.io/jp/pivotal-gemfire

 

一言でいえばインメモリ型の分散データキャッシュミドルウェアです。

 

大量のデータを複数のサーバへよしなに分散してばら撒きインメモリで保管してくれて、かつ高速アクセスできるという代物です。
イベント飛ばしてキャッシュされたデータを利用する計算を該当データのあるサーバで実行することもできます。
計算対象となるデータがどこに保管されているかを気にすることなく、条件絞ってイベントを発行するだけであとはGemFireがよろしくやってくれます。

 

一度入信すると「お布施がたりない」というご神託に悩まされることで有名な某DB製品にもありそうな機能です。お布施積み増せばできるんでしょうかね?

 

2.準備する

 

Pivotal GemFireのオープンソース版であるApache Geodeを使います。

http://geode.apache.org/

 

バイナリをdownloadして展開し、パスを設定するだけの簡単インストールです↓。

http://geode.apache.org/docs/guide/11/getting_started/installation/install_standalone.html

 

Javaでしか動かないようなので、仕方なくJREも準備しておきましょう。

 

コンソール画面で

> gfsh

を起動し、次のような管理画面のプロンプトが出ればインストール成功です。

 

 

 

3.データを入れて覗いてみる

 

gfshのプロンプトからまずはマネージャ相当であるlocatorを起動します。

gfsh > start locator –name=myLocator1

 

 

 

gfshを起動したディレクトリの下に

myLocator1 ディレクトリが作成されているはずです。

次にサーバを1つ立ち上げます[サーバ名:myServer1 ポート:40411]。

gfsh > start server –name=myServer1 –server-port=40411

 

myServer1 ディレクトリが作成されているはずです。

データを入れる箱[region] を作成します[region名:iremonoA type:replicate(=複製モード)]。

gfsh > create region –name=iremonoA –type=REPLICATE

 

 

別コンソールを起動してもう1つサーバ[サーバ名:myServer9 ポート:40421]を立ち上げてみます。
この際、マネージャになっているlocatorへの接続を先に実施します。

gfsh > connect –locator=localhost[10334]
gfsh > start server –name=myServer9 –server-port=40421

 

 

先ほど作成した入れ物[iremonoA] を確認してみます。

gfsh > list regions

 

サーバ[myServer1] からサーバ[myServer9]が参加してるのを確認してみます。

gfsh > list members

 

 

サーバ[myServer1]でデータを入れて中身を確認してみましょう。

gfsh > put –region=iremonoA –key=”key1″ –value=”apple”
gfsh > put –region=iremonoA –key=”key1″ –value=”melon”
gfsh > query –query=”select * from /iremonoA”

 

サーバ[myServer9]からも覗いてみます。その前に複製モードで入れ物が作成できているか確認するため、先にmyServer1を落としてみます。

gfsh > stop server –name=myServer1

 

サーバ[myServer9]から入れ物を覗いてみましょう。

gfsh > query –query=”select * from /iremonoA”

 

リンゴとメロンが入ってますね。素晴らしい。

 

さいごに

 

GemFireを少し触って見ました。

gfsh経由のコマンド操作ではなく、コードからデータの出し入れできないと意味ないので次回はそれで。

 

*文中に登場する商品名等は各社の登録商標です

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です