ビッグデータのためのDWH基盤【第2回】
NoSQLデータベースがビッグデータ対象のDWH基盤に適しているわけ
ビッグデータを取り扱うDWH基盤として注目を集めているNoSQLデータベース。NoSQLデータベースにおけるデータ保存形式の主流となっているKVSの特徴と、その代表例である「HBase」「Cassandra」のデータ構造を解説する。
NoSQLデータベースとDWH
「NoSQLデータベース」は、文字通りデータベース言語としてSQLを使用しないデータベースの総称とされている。しかし、データウェアハウス(DWH)の観点で重要になるのは、NoSQLデータベースが非リレーショナル型の構造を持っていることだ。
NoSQLデータベースのモデリングでは、一般的な正規化という方法は取らない。つまり、DWHの代表的なデータ構造であるスタースキーマは採用していない。しかし、NoSQLデータベースはDWHには適用されないかといえば、必ずしもそういうわけではない。
前回「読めば分かる! ビッグデータのためのデータウェアハウス(DWH)とは?」で説明したように、DWHのデータ構造として大福帳スキーマを採用する場合には正規化は行われない。従って、NoSQLデータベースはビッグデータを対象としたDWHの基盤として、有力な選択肢の1つとなる。
NoSQLデータベース(KVS)の起源
NoSQLデータベースがリレーショナル型の構造を持たないとすると、一体どのような構造を持っているのだろうか。現時点でNoSQLデータベースに分類されている全てのデータベースが含まれるわけではないが、その主流は「KVS(キーバリューストア)」と呼ばれる。
KVSの起源は、2003年に米Danga Interactiveが開発したオープンソースソフトウェア(OSS)の「memcached」にさかのぼる。当時、多くのWebアプリケーションではデータの格納先としてRDB(リレーショナル型データベース)が利用されていた。しかし、ブログのようなアクセス数が極めて多いWebアプリケーションでは、その性能の限界が問題となっていた。memcachedはRDBの検索結果をキャッシュとして保存することでRDBの負荷を低減し、多数のアクセスを処理できるようにする。つまり、RDBを補完する目的で開発された。
memcachedは保存したいデータ(Value)にラベル(Key)を付けて、ValueとKeyのペアで保存する。保存したデータは、Keyを指定して対応するValueを取り出すという方法を取る。また、memcachedはKeyの値に応じてデータを格納するサーバを変えることで、複数のサーバにデータを分散配置できる。その結果、短時間で大量に増加するようなデータであっても、スケールアウトして対応できる。このmemcachedの成功の後、KVSはRDBを補完するという当初の目的を超えて、パブリッククラウドの基盤データベース技術としてRDBを置き換える存在になっていった。
NoSQLデータベース(KVS)の特徴
RDBと比較した場合のKVSの特徴は、DWHの観点で大きく2つに集約される。一方は短所であり、もう一方は長所となる。
1つ目の特徴は「SQLが使えない」という点で、DWHの観点では大きな制約となる。データの検索には、必ずRow Key(RDBの主キーに相当)の指定が必要となる。SQLのように、任意のカラムに対する条件指定での検索や複数のテーブルを結合する機能はない。なお、Row Keyの範囲を指定して、対応するデータを順次取り出すことは可能である。
また、保存するデータ(Row)のデータ構造に基づいて、Row Keyで指定されたRow内部での検索条件を付加することも可能だ。このRowのデータ構造と追加の検索条件の違いが、さまざまなKVSを特徴付ける要素となっている。
2つ目の特徴は「分散処理に優れる」という点で、DWHの観点では大きな優位性となる。KVSは複数サーバにデータを分散保存するために、大量のデータをスケールアウト型で扱える。このスケーラビリティの規模や耐障害性などが、さまざまなKVSを特徴付ける大きな要素となっている。
ここでは、代表的な2つのNoSQLデータベース(KVS)について、そのデータ構造を紹介しておく。
HBaseのデータ構造
「HBase」は、Googleの分散データベース基盤「BigTable」を基に、OSSプロジェクトとして開発されたものである。HBaseでは、KeyとValueの対をカラムと呼び、Keyの方を特にラベルと呼んでいる。カラムが集まったものがカラムファミリーと呼ばれ、さらに複数のカラムファミリーの集合がRowと呼ばれる。全てのRowにはRow Keyが付与されており、同じ構造を持つRowの集合がテーブルと呼ばれる。大ざっぱにいえば、HBaseのテーブルはRDBのテーブルに相当し、Row KeyはRDBの主キーに相当する。
上図は簡単な社員一覧表を基にHBaseのデータ構造を表している。例えば、社員「山田太郎」のメールアドレスを知りたい場合は、以下の順で検索を行い、
- テーブル「社員」を指定
- Row Key「002」を指定
- カラムファミリー「連絡先」を指定
- ラベル「メールID」を指定
結果、「t-yamada」という値を得ることになる。
Cassandraのデータ構造
「Cassandra」は、米Facebookが自社のサービスの分散データベース基盤をOSSとして公開したものである。以下にCassandraのデータ構造の例を示す。
CassandraとHBaseのデータ構造の大きな違いは、スーパーカラムの存在である。スーパーカラムは、複数のカラムの集合に対してキー(スーパーカラムのラベル)を付与したもので、カラムファミリーの中に定義することができる。そのため、HBaseでテーブルに相当するデータを1つのRowとして扱い、複数のRowの集合はキー・スペースと呼ばれる。
このようにKVSでは、データの検索については制約条件が多い。例えば、KVSに販売データを格納して、製品を中心とした検索と顧客を中心とした検索の2つを実行するためには、原則として別のテーブルやカラムファミリーを作成する必要がある。このため、分析的なアプリケーションがKVSを直接使用することは、現時点ではまだ難しいといえる。
しかし、ビッグデータの特性である莫大な明細データの格納という意味では、KVS(NoSQLデータベース)が有力な選択肢であることは間違いない。従って、NoSQLデータベースに明細データを保持した後に、RDBで分析用のデータベースを作成する、といった併用が現時点では現実的なアプローチといえる。
平井明夫
株式会社アイエイエフコンサルティング
マーケティング部 マーケティングディレクター
日本DEC(現日本ヒューレット・パッカード)、コグノス(現日本アイ・ビー・エム)、日本オラクルを経て、現在はアイエイエフコンサルティングに在籍。一貫してソフトウェア製品の開発、マーケティング、導入コンサルティングを歴任。特に、DWH、BIを得意分野とする。現在はBI技術の啓蒙のため、講演・執筆に積極的に取り組んでいる。
Copyright © ITmedia, Inc. All Rights Reserved.
ビッグデータのためのDWH基盤
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「データストレージの活用方法」に関するアンケート
-
4
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
5
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
6
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
7
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
-
8
レガシー基幹システムをSAPに統合 山善が突き止めた「標準化と個別最適」の境界線
-
9
AI完全自律化はわずか9% 日本は「進化に追い付けない経営陣」が足かせに
-
10
LLMの「過学習」、正しく説明している文章はどれ?
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー