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

2017年5月25日

以前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経由のコマンド操作ではなく、コードからデータの出し入れできないと意味ないので次回はそれで。

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

Tags

About Author

Mr.Nyan

Leave a Comment

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Recent Comments

Social Media