ビッグデータのための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基盤
この記事の著者
関連記事
新着ホワイトペーパー PR
-
技術文書・技術解説
[Jamf Japan 合同会社] MDMだけでモバイルセキュリティは十分? 不足する対策を16項目でチェック -
事例
[Wrike Japan 株式会社] 世界的な家電メーカーが実践する「クリエイティブプロセス効率化」の方法とは? -
事例
[Wrike Japan 株式会社] 世界的テクノロジー企業に学ぶ、プロセス標準化とプロジェクト納品自動化の秘訣 -
事例
[Wrike Japan 株式会社] ソニー・ピクチャーズ テレビジョンに学ぶ、次世代サービスデリバリーのヒント -
事例
[Wrike Japan 株式会社] ソミック石川に学ぶ、ICT浸透後に直面した「工数管理」の課題と解決策
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
2
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
3
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
4
「有線LAN環境」に関するアンケート
-
5
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
6
「データストレージの活用方法」に関するアンケート
-
7
「AI活用を前提とした業務PCへの移行」に関するアンケート
-
8
Nutanix+Everpure構成の実力は? 既存資産を生かす「脱VMware」の検証
-
9
「自動化」で「DX」は強制的に進む? そのシンプルな理由
-
10
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
ホワイトペーパーランキング PR
-
1
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
2
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
3
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
4
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
5
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
9
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
10
少額減価償却資産が40万円未満へ拡大、令和8年度税制改正で押さえるべき変更点
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー