トップITシステム触ってみよう!ビッグデータを支えるクラウド技術Rubyで動くKVS、ROMAを動かしてみよう動画の再生障害のお知らせ:動画の一部が再生できない事象が発生しています。Architecture)は、楽天が開発したキー・バリュー型データストア(key-valueストア)です。宿」を対象にROMAを導入しています。2009年10月には、ROMAをオープンソースソフトとして公開しました(写真1)。データをやり取りすることで処理を効率化しています。アプリケーションは初期化時にkey-valueストアを構成するノードを複数指定します。指定するノードは特別なノードである必要はなく、key-valueストアに参加しているノードであればどれでも構いません。複数指定していれば、その中の1つは生きているだろうという判断です。アプリケーションは指定されたノードに順番にアクセスし、最初に応答したノードに自分がこれからkey-valueストアにアクセスすることを伝えます。接続されたノードは、どのハッシュ値をどのノードが担当するかという情報(ルーティング・テーブル)を伝えます。ルーティング・テーブルは、ハッシュ値と担当ノードの対応を保持しています(図1)。図1●キーバリュー型データストア「ROMA」の仕組み[画像のクリックで拡大表示]ルーティング・テーブルを受け取ってしまえば、後のアクセスは比較的簡単です。与えられたkeyからハッシュ値を計算し、ルーティング・テーブルから担当するノードを調べて、そのノードにリクエストを送ります。アプリケーションは、データ・アクセスごとにそれぞれのkeyから計算されるハッシュ値を担当するノードに接続して通信します。ルーティング・テーブルは定期的に更新します。一定時間ごとにルーティング・テーブルに登録されているいずれかのノードに、最新のルーティング情報を送るようにリクエストを送ります。ROMAシステムを構成するノードの動作はかなり複雑です。ROMAは特別な役割を果たすマスターが存在せずノード間の関係が平等なピア・ツー・ピア型なのでなおさらです。ノードの働きは大まかに分けると以下の通りです。ストレージは実際の情報格納を行う部分です。ROMAではストレージはプラグイン形式になっており、起動時の設定でストレージを切り替えられます。Hashに情報を格納するRHストレージやDBMストレージ、RDBのSQLite3、TokyoCabinetなどを利用できます。ROMAの運用では、TokyoCabinetが最も使われています。現場の負担軽減を!医療界でのAWS活用法500万社が導入。情報銀行の成り立ち、事例、現状課題やその行方を網羅。経営戦略である以上、「会計」の知識やスキルが欠かせません。