日立という、世間では「お堅い」イメージのある会社の技術を好き勝手に茶化し続けて、各方面からひんしゅくを買いまくっている本連載。「怒られても構わない!」と開き直って記事を書き続けていたら、いつの間にやら8回目を迎えてしまいました。いやあ、日立の方々の心の広さには頭が下がります。それに、ネタもなかなか尽きないんだよね。データベースだけでもあれやこれや、いろんなことやってて、「日立、どんだけデータベース好きやねん!」と。
で、今回のネタは「インメモリデータグリッド」。今注目の、NoSQLについてのお話です。ほら、読みたくなったでしょ。えっ、もう知ってる? まあまあ、そんなつれないこと言わずに。日立秘伝のアジャイル開発手法、「おやつ会議」(?)の話もあるし……。
「インメモリデータグリッド」ってそもそも何なのさ?
前回(「ひたちはじめて物語─ストリームデータ処理の巻」)は、日立が取り組んでいる最先端のデータ処理技術の1つ、「ストリームデータ処理」について紹介した。で、今回も引き続き、日立が手掛けている最先端のとんがった技術、「インメモリデータグリッド」について紹介してみたい。
とここで、「ああ、SAP HANAね」と早とちりしてはいけない。あれは「インメモリ“データベース”」で、今回紹介するのは「インメモリ“データグリッド”」。名前はちょっと似てるけど、その中身はまったく別物。前者は、基本的には昔からあるリレーショナルデータベースの仕組みを、メモリ上で動かして高速化する技術。で後者の方はというと、えーと、インメモリで、グリッドで、そんでもって……うーん(固まること約30秒)、じゃあそろそろ、日立の専門家の方にご登場いただきますか。
今回登場してもらうのは、以下のお三方。

松本明紘さん▲

梅田多一さん▲

杉本裕紀さん▲
梅田さんと松本さんは、日立のインメモリデータグリッド製品「uCosminexus Elastic Application Data store」(以下、EADs。「イーズ」と読んでね)の開発プロジェクトに所属している。一方の杉本さんも、もともとは同じプロジェクトでEADsの開発に携わっていたが、今は所属部署名を見ればお分かりの通り、携帯キャリア向けのSI案件を手掛ける部署で、SEとしてEADsを活用したシステムの提案に当たっている。
早速ですが、インメモリデータグリッドって、そもそもどういうものなんですか、梅田さん?
「私はインメモリデータグリッドの条件には、3つあると思ってます」
ああ、そういう説明の仕方って、すごく分かりやすい!
「まず1つ目の条件は、memcachedに代表されるような『インメモリKVS』であることです」
何すか、それ?
「……(マジかよ)」
と、のっけから軽くびびらせてしまったのだが、それでも不勉強な筆者のために、懇切丁寧に説明してくれた梅田さん。インメモリKVSというのはその名の通り、KVS(キーバリューストア)の仕組みをメモリ上で動かすというもの。キーバリューストアとは、キーと値(バリュー)の1対1の組み合わせだけでデータを管理する仕組みで、極めて単純なデータ構造であるが故に、データ参照・更新のスピードがめちゃめちゃ速い。とここで、杉本さんが助け舟を。
「要は、一般的なデータベース製品の最下層にある、データの入れ物の仕組みだけを取り出してきたようなイメージです。単純なデータ構造で、余分な処理オーバーヘッドがなく、参照・更新も単にキーを指定して値を出し入れするだけなのでスピードが速い。でもその代わり、一般的なデータベース製品でできるような、SQLを使った検索や、トランザクション管理といった機能は一切省いています。そのため、使いこなすにはコツが要ります」
なるほどなるほど。でさらに、それをメモリ上で動かすからめちゃ速いと。車で言うと、快適性能を一切合財削ぎ落として軽量化したレーシングカーみたいなイメージか。サーキットではめっぽう速いけど、公道を一般ドライバーが走らせるのは厳しい、みたいな。
この記事は参考になりましたか?
- この記事の著者
-
吉村 哲樹(ヨシムラ テツキ)
早稲田大学政治経済学部卒業後、メーカー系システムインテグレーターにてソフトウェア開発に従事。その後、外資系ソフトウェアベンダーでコンサルタント、IT系Webメディアで編集者を務めた後、現在はフリーライターとして活動中。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア