このブログは、株式会社フィックスターズのエンジニアが、あらゆるテーマについて自由に書いているブログです。
以前Data Gridミドルウェアの1つであるPivotal GemFireについて調べていたことがあったので書きます。
今回は紹介&すこし動かしてみるぐらいです。最終的にはCompute Gridミドルウェアの1つであるIBM Spectrum Symphony
https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=DCD12359JPJA
と組み合わせて動かすことをゴールにし、何回かに分けて続ける予定です。
GemFireについて詳しくはこちらご覧いただくとして
https://pivotal.io/jp/pivotal-gemfire
一言でいえばインメモリ型の分散データキャッシュミドルウェアです。
大量のデータを複数のサーバへよしなに分散してばら撒きインメモリで保管してくれて、かつ高速アクセスできるという代物です。
イベント飛ばしてキャッシュされたデータを利用する計算を該当データのあるサーバで実行することもできます。
計算対象となるデータがどこに保管されているかを気にすることなく、条件絞ってイベントを発行するだけであとはGemFireがよろしくやってくれます。
一度入信すると「お布施がたりない」というご神託に悩まされることで有名な某DB製品にもありそうな機能です。お布施積み増せばできるんでしょうかね?
Pivotal GemFireのオープンソース版であるApache Geodeを使います。
バイナリをdownloadして展開し、パスを設定するだけの簡単インストールです↓。
http://geode.apache.org/docs/guide/11/getting_started/installation/install_standalone.html
Javaでしか動かないようなので、仕方なくJREも準備しておきましょう。
コンソール画面で
> gfsh
を起動し、次のような管理画面のプロンプトが出ればインストール成功です。
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経由のコマンド操作ではなく、コードからデータの出し入れできないと意味ないので次回はそれで。
*文中に登場する商品名等は各社の登録商標です
keisuke.kimura in Livox Mid-360をROS1/ROS2で動かしてみた
Sorry for the delay in replying. I have done SLAM (FAST_LIO) with Livox MID360, but for various reasons I have not be...
Miya in ウエハースケールエンジン向けSimulated Annealingを複数タイルによる並列化で実装しました
作成されたプロファイラがとても良さそうです :) ぜひ詳細を書いていただきたいです!...
Deivaprakash in Livox Mid-360をROS1/ROS2で動かしてみた
Hey guys myself deiva from India currently i am working in this Livox MID360 and eager to knwo whether you have done the...
岩崎システム設計 岩崎 満 in Alveo U50で10G Ethernetを試してみる
仕事の都合で、検索を行い、御社サイトにたどりつきました。 内容は大変参考になりま...
Prabuddhi Wariyapperuma in Livox Mid-360をROS1/ROS2で動かしてみた
This issue was sorted....