このブログは、株式会社フィックスターズのエンジニアが、あらゆるテーマについて自由に書いているブログです。
以前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経由のコマンド操作ではなく、コードからデータの出し入れできないと意味ないので次回はそれで。
*文中に登場する商品名等は各社の登録商標です
コンピュータビジョンセミナーvol.2 開催のお知らせ - ニュース一覧 - 株式会社フィックスターズ in Realizing Self-Driving Cars with General-Purpose Processors 日本語版
[…] バージョンアップに伴い、オンラインセミナーを開催します。 本セミナーでは、...
【Docker】NVIDIA SDK Managerでエラー無く環境構築する【Jetson】 | マサキノート in NVIDIA SDK Manager on Dockerで快適なJetsonライフ
[…] 参考:https://proc-cpuinfo.fixstars.com/2019/06/nvidia-sdk-manager-on-docker/ […]...
Windowsカーネルドライバを自作してWinDbgで解析してみる① - かえるのほんだな in Windowsデバイスドライバの基本動作を確認する (1)
[…] 参考:Windowsデバイスドライバの基本動作を確認する (1) - Fixstars Tech Blog /proc/cpuinfo ...
2021年版G検定チートシート | エビワークス in ニューラルネットの共通フォーマット対決! NNEF vs ONNX
[…] ONNX(オニキス):Open Neural Network Exchange formatフレームワーク間のモデル変換ツー...
YOSHIFUJI Naoki in CUDAデバイスメモリもスマートポインタで管理したい
ありがとうございます。別に型にこだわる必要がないので、ユニバーサル参照を受けるよ...