「ビッグデータ」を見据えた データ管理テクノロ …...2...

12
TechVisor.JP White Paper 「ビッグデータ」を見据えた データ管理テクノロジーの選択 株式会社テックバイザージェイピー

Transcript of 「ビッグデータ」を見据えた データ管理テクノロ …...2...

Page 1: 「ビッグデータ」を見据えた データ管理テクノロ …...2 「ビッグデータ」を見据えたデータ管理テクノロジーの選択 エグゼクティブサマリー

TechVisor.JP White Paper

「ビッグデータ」を見据えた

データ管理テクノロジーの選択

株式会社テックバイザージェイピー

Page 2: 「ビッグデータ」を見据えた データ管理テクノロ …...2 「ビッグデータ」を見据えたデータ管理テクノロジーの選択 エグゼクティブサマリー

2

「ビッグデータ」を見据えたデータ管理テクノロジーの選択

エグゼクティブサマリー「ビッグデータ」が今日のIT業界における重要概念のひとつになっている。「ビッグデータ」の定

義は完全に確立しているとは言い難いが、大容量、多様性(構造化と非構造化)、リアルタイム性

という特性を持ったデータを指すことが一般的である。

ビジネス上の競合差別化のために、データ分析を活用するという考え方自体は過去から存在する

が、データを生み出すソースの範囲拡大、そして、データを処理・管理するテクノロジーの選択肢

の拡大に伴い、「ビッグデータ」の企業にとっての価値が急速に高まっている。

企業の「ビッグデータ」管理テクノロジー戦略においては、「ビッグデータ」の特性のうちの大

容量以外の特性、すなわち、多様性とリアルタイム性にも注目する必要がある。また、データ分析

だけではなく、マルチメディア・コンテンツの配信やアーカイブなども「ビッグデータ」の応用に

含めて考えるべきである。

データ管理テクノロジーの選択にあたっては、既存システムとの連携やスキルの調達容易性など

の要件も加味した現実的な考慮を行なう必要がある。SQLやオブジェクト・アクセスを含む多様な

アクセスに対応するハイブリッド型DBMSは、一般企業が「ビッグデータ」の価値を享受する上で

重要な選択肢のひとつなる可能性が高い。

「ビッグデータ」ムーブメントが意味するものIT業界のみならずビジネスの世界においても「ビッグデータ」が大きな注目を集めている。大量

データの分析によりビジネス上の価値を得るという「ビッグデータ」の一般的定義については異論

がないと思われるが、詳細な定義については当事者により相違がある。

「ビッグデータ」は、その名のとおり大容量のデータを指すことに加えて非構造化データを含

む多様なタイプのデータ、さらに、リアルタイム性が高いデータを指すことが多い。すなわち、

Volume、Variety、Velocityという「3つのV」の要素を備えたデータを「ビッグデータ」と呼ぶこ

とが多い(図1)。本稿でも基本的にこの意味で「ビッグデータ」という用語を使用していく。なお、

単に大量のデータという以上の意味を持っていることから、カッコ付きでこの用語を使用していく

こととしたい。

Volume(大容量)   +Variety(多様性:構造化+非構造化)   +Velocity(速度:リアルタイム性)

「ビッグデータ」 =

図1.「ビッグデータ」の定義

Page 3: 「ビッグデータ」を見据えた データ管理テクノロ …...2 「ビッグデータ」を見据えたデータ管理テクノロジーの選択 エグゼクティブサマリー

3

また、「ビッグデータ」の利用分野という観点から言うと、一般的には大量データの分析にフォー

カスがあたっていることが多い。「ビッグデータ」すなわち大量データの分析であるという立場を

取る者もいる。しかし、「ビッグデータ」の用途には、大量データの配信(典型的にはストリーミ

ングなどのマルチメディア配信)や大量データの保管・検索(典型的にはイメージ情報や動画情報

のコンテンツ・アーカイブ)なども含めて考えるべきだ。分析、配信、保管・検索等の用途によら

ず求められる基盤テクノロジーには共通部分が多いからである。また、組織が収集した「ビッグデー

タ」をどのような用途に使うかは事前に狭く設定しておくべきものではなく、最初の段階では思い

もつかなかった新たな活用法が常に模索されるべきものである。たとえば、アーカイブ目的で蓄積

していた画像データを分析することで新たな知見が得られることもあるだろう。企業は「ビッグデー

タ」の活用分野を広くとらえ、少なくとも分析、メディア配信、コンテンツ管理という3つの用途

を想定しておくことが必要だ(図2)。

「ビッグデータ」は一時の流行ではない言うまでもなくIT業界には常に新しいキーワードが生まれている。その中には長期的な重要概念

として残っていくものもあれば、一時の流行語で終わってしまうものもある。「ビッグデータ」は

前者である可能性が高いと考えられる。そもそも、データを分析してビジネス上の知見を得るとい

う考え方は特別なものではなく、データウェアハウジング、ビジネス・インテリジェンス、データ

マイニング、ビジネス・アナリティクス等の名称で数十年前から企業ITの世界に存在し、多くの企

業に価値を提供してきた。

現時点で「ビッグデータ」という言葉に注目が集まっているのは、この概念が突然に出現したか

らというわけではなく、環境の変化によりその重要性が急増したからだ。ここで言う環境の変化と

しては、まず、データを処理・管理するためのハードウェア性能の劇的向上と価格の劇的低下、そ

して、ソーシャル・コンピューティング、モバイル機器、センサー、無線タグなどの大量・多様・

リアルタイムのデータを生成するデータソースの拡大がある。

今までは収集できていなかった、あるいは、収集してもすぐに廃棄していたデータを資産として

有効活用できる機会が一気に拡大していることで、データがビジネスにもたらす価値が今まで以

上に高まっているのである(図3)。企業は自社のデータ管理テクノロジー戦略を再考することで

Analytics(分析)          +Bandwidth(メディア配信)    +Contents(コンテンツ管理)

「ビッグデータ」の応用 =

図2.「ビッグデータ」の応用

Page 4: 「ビッグデータ」を見据えた データ管理テクノロ …...2 「ビッグデータ」を見据えたデータ管理テクノロジーの選択 エグゼクティブサマリー

4

「ビッグデータ」のビジネス価値を最大限に享受できるようにするための準備を始めるべきだ。

「ビッグデータ」管理のためのテクノロジー冒頭で述べた「ビッグデータ」の定義からも明らかなように、企業が「ビッグデータ」の管理テ

クノロジー戦略を考える上では、大容量という要素だけでなく、多様、そして、リアルタイムとい

う要素についても十分に考慮する必要がある。また、データの分析だけではなく、配信やコンテン

ツ管理などの多様な用途に対応できる必要がある。その観点から主要なデータ管理テクノロジーの

選択肢を見ていこう。

◎並列処理フレームワークであるHadoop

「ビッグデータ」に特有のテクノロジーとしてMapReduceとHadoopに注目が集まっ

ている。MapReduceとはGoogleの検索エンジン等のサービスで使用されている並列

処理プラットフォームである。HadoopはMapReduceの基本的概念に基づき、Yahoo!

等が開発し、現在はApacheソフトウェア財団の管理下にあるオープンソース・ソフ

トウェアである。

Hadoopの基本的考え方は大容量データを複数のプロセスで並列的に処理し(Map

プロセスと呼ばれる)、最後に結果を併合する(Reduceプロセスと呼ばれる)ことに

ある(図4参照)。いわゆる並列バッチ処理の仕組みであり考え方としてはそれほど

新しいものではない。Hadoopの意義は共通のプラットフォームが提供されることで、

多くの開発者の開発努力を結集して健全なエコシステムが構築できる下地が整ったこ

ビジネスにとってのデータの価値

時間

データウェアハウスビジネスインテリジェンス

アナリティクス

データマイニング

データソースの範囲拡大データ管理テクノロジーの選択肢拡大

ビッグデータムーブメント

図3.「ビッグデータ」の本質

Page 5: 「ビッグデータ」を見据えた データ管理テクノロ …...2 「ビッグデータ」を見据えたデータ管理テクノロジーの選択 エグゼクティブサマリー

5

とにある。

ここで重要な点は、Hadoopはあくまでもバッチ処理テクノロジーであって、デー

タ管理テクノロジーではないということだ。Hadoopのディストリビューションの一

部としてHDFS(Hadoop Distributed File System)が提供されているが、これは、名

前のとおりファイルシステムに過ぎず、構造を持ったデータを管理できるわけではな

い。また、レコード単位の排他制御機能等も提供されるわけではなく、DBMSを代替

するテクノロジーではない。

つまり、Hadoopは、Webログ分析などの特定アプリケーション向けの処理プラッ

トフォームとしては重要であるものの、それ単独では、データベース的な活用を行な

うことはできない。特に、データの配信やコンテンツ管理という用途には本来的に適

していない。「ビッグデータ」の世界ではHadoopが唯一のソリューションであるかの

ような立場を取る者もいるがこれは正しいとは言えない。下記のNoSQLや従来型の

DBMSと組み合わせて活用すべきものである。

◎一般企業ユースでは制限が多いNoSQL

NoSQLとは、データ管理テクノロジーの基本となっているRDBMSのアーキテ

クチャーに依存しないタイプのデータベース・テクノロジーを指す。正確には

"NoRelational"とも呼ぶべきであるが、NoSQLの用語が定着している。NoSQLの例と

しては、HadoopベースのHBase、Facebookが開発したCassandra、Amazonが開発し

たSimpleDB、オープンソースのMongoDBなどがある。

非リレーショナル型のデータベースは、かなり以前から存在するが「ビッグデータ」

入力データ 出力データReduce

Map1

Map2

・・・

Map-n

図4.MapReduce/Hadoop の概念

Page 6: 「ビッグデータ」を見据えた データ管理テクノロ …...2 「ビッグデータ」を見据えたデータ管理テクノロジーの選択 エグゼクティブサマリー

6

への注目の高まりと並行してNoSQLに注目が集まっている背景には何があるのだろ

うか?それはRDBMSの特徴であった要素のいくつかが大容量データの扱いにおいて

制限となるケースが出ているからだ。

RDBMSの特徴の第一はデータをリレーション(表)という制限は大きいものの、

わかりやすく扱いやすい構造で表現・格納できる点である。現実世界のデータ構造を

リレーションにモデル化するための手法も一般化している。第二に、データの整合性

が厳密に確保される点が挙げられる。一般に、ACID属性(Atomicity、Consistency、

Isolation、Durability)と呼ばれる属性であり、仮に処理途中で障害が発生してもデー

タが失われたり、更新が中途半端な状態で終わってしまったりすることがない。企業

の世界でトランザクション処理を行なう場合にはこれは必要不可欠な属性である。第

三に、広く普及したデータ操作言語であるSQLが使用できる点がある。SQLは製品ご

とに相違はあるものの基本的部分は共通であり、データベース系エンジニアであれば

誰でも習得しているためスキルの調達がきわめて容易である。また、プログラム内部

からのデータベースアクセスだけではなく、対話型のコマンド入力によりプログラミ

ングなしでデータアクセスが行なえるということは、開発・テスト、そして、パワー

ユーザーによるアドホック分析などのシナリオにおいてきわめて有効である。

これらの優位性の代償としてRDBMSには制限がある。そして、それらの制限がも

たらす問題が「ビッグデータ」時代には無視できなくなってきた。「ビッグデータ」

環境におけるRDBMSの最大の制限は二次元の表形式によるデータ管理である。これ

は、数値という構造化データを扱うのには適しているが非構造化のデータには本質的

に向いていない。特に、インスタンスによって長さや構造が大きく異なるタイプのデー

タを扱うのには向いていない。

RDBMSのもうひとつの制限は、多数のサーバによる並列処理(いわゆる水平スケー

リング)による処理能力の向上が限定的である点である。先にRDBMSの第二の特徴

として挙げた厳密なデータ整合性管理を実現するためには、データの更新を行なうプ

ロセスどうしが情報の交換を行なうことが必要になる。しかし、多数のサーバから成

る並列処理環境ではこのプロセス間通信がオーバーヘッドになって全体的な性能を向

上できないのである。

そして、これらの問題点解決のために、NoSQLは妥協を行なっている。より具体

的に言えば、データの整合性が常に維持されるわけではなく、「結果整合性」と呼ば

れる最終的に整合性が取れれば十分という設計アプローチが取られている。ゆえに、

たとえば、金銭データの更新を扱うアプリケーションにおいてNoSQLを使用するこ

とは非現実的である。

NoSQLは、大規模ネットサービス企業における超大容量の非構造化データの管理・

分析には不可欠になっている。たとえば、SNSにおけるユーザー間のつながりを表現

したグラフであるソーシャル・グラフの管理や分析には本質的に向いている。しかし、

Page 7: 「ビッグデータ」を見据えた データ管理テクノロ …...2 「ビッグデータ」を見据えたデータ管理テクノロジーの選択 エグゼクティブサマリー

7

前述の厳密なデータ整合性の欠如などの理由により、一般企業におけるビジネス・ア

プリケーションには適しているとは言えない。

NoSQLはRDBMSを補完する存在であって置き換えていく存在ではない点に注意す

べきだ。データベース関連の識者の中では、NoSQLを“No SQL at all”(SQLは不要)

ではなく、“Not Only SQL”(SQLだけが解決策ではない)ととらえることが一般的見

方だ(図5参照)。

◎実績あるRDBMSの拡張

RDBMS自体のテクノロジー進化、そして、それを稼働するハードウェアの進化

は著しく、大量データのリアルタイム処理は十分に可能になっている。そして、

RDBMSおよびそのアクセス言語であるSQLのスキルの蓄積にも多大なものがある。

テーブル(リレーション)という理解しやすい構造に基づいた厳密なデータ・モデル(ス

キーマ)により、クエリー作成やプログラミングの負担も小さい。さらに、厳密なデー

タ整合性の確保は分析系アプリケーションにおいても重要であることが多い。「ビッ

グデータ」のそもそもの定義として、リアルタイムで更新されるデータに対する分析

を行なうシナリオは十分に考えられるからである。

これらの理由から、一般的企業においては、RDBMSを依然として「ビッグデータ」

管理の中心的テクノロジーと位置付けるべきである。なお、Facebookなどの大規模

ネット系企業においてもほぼ例外なくRDBMSは利用されている。前述のとおり、従

来型RDBMSでは、大量の非構造化データの扱いが必ずしも効率的ではないため、こ

の問題を解決するために、従来型RDBMSを中心としながらそれを適宜補強するアプ

ローチが望ましい。

RDBMSを補強するアプローチとしては前述のHadoopを使う方法がある。大量の非

構造化データの分析をHadoopによってRDBMSからオフロードし、分析結果だけを

RDBMSに書き戻すなどの方式が有効である。

また、ハイブリッド型データベースとも呼べるユニークなデータベース管理システ

ムも登場してきている。非常に柔軟な永続データ構造を持ち、データを操作するため

のスクリプト言語がその永続データエンジンと密接に連携し、かつオブジェクト、リ

レーショナル、XML等さまざまなアクセスパラダイムに基づくインターフェースを

RDBMS NoSQL・表形式でのデータ管理・厳密なデータ整合性・SQL

+ =-・データ構造の自由度・超大容量対応

図5.NoSQL テクノロジーの位置づけ

Page 8: 「ビッグデータ」を見据えた データ管理テクノロ …...2 「ビッグデータ」を見据えたデータ管理テクノロジーの選択 エグゼクティブサマリー

8

既に実装しており、それぞれを使ってデータに多彩、柔軟にアクセスできる。さらに

新たなパラダイムへの対応も必要に応じて比較的容易にかつ効率よく開発することが

でき、同期や連携のためのコストを最小化できる。巨大なトランザクションの高速処

理と、非構造化データの分析機能も備えたハイブリッド型データベースは、ビッグデー

タ時代に求められる柔軟な非構造化データの管理を効率的に行なえる選択肢である。

一般企業における非構造化データ管理テクノロジーの特性について図6にまとめ

た。

まとめ「ビッグデータ」は一時の流行ではなく、長期的に企業のビジネス、さらには社会全般に大きな

影響を与えていくメガトレンドである。企業が「ビッグデータ」のテクノロジー戦略を立案する上

では大量データの処理だけでなく、ドキュメントやマルチメディアなどの非構造化データをどのよ

うに有効活用するかが「ビッグデータ」時代に対応する上での重要なポイントとなることが多い。

非構造化データの管理を適切に行なている企業はまだ多いとは言えず、この領域における実行力

が「ビッグデータ」時代における企業の主要差別化要素となることが予測される。テクノロジー選

択にあたっては、また、既存システムとの連携やスキルの調達容易性などの要件についても現実的

な考慮を行なう必要がある。企業ITにおいてRDBMSだけでは対応できない領域が増加しているこ

とは確かだが、SQLという実績とスキルの蓄積があるRDBMSを補強するアプローチは企業の「ビッ

グデータ」管理テクノロジーにおける重要な選択肢のひとつである。

図 6.「ビッグデータ」管理テクノロジーの比較

ポイント 典型的使用法

Hadoop● 並列処理プラットフォームであってデー

タ管理プラットフォームではない● Webログ分析● RDBMSのデータ前処理

NoSQL● RDBMSの機能の一部において妥協す

ることにより高いスケーラビリティと自由度を実現

● 大規模ネット・サービス企業におけるコンテンツ管理、ソーシャル・グラフ分析、サーチ

RDBMS+α

● 構造化データでは圧倒的な実績と使いやすさとリアルタイム性

● 非構造化データの対応を付加機能により補強

● 一般企業における「ビッグデータ」のメインストリーム

Page 9: 「ビッグデータ」を見据えた データ管理テクノロ …...2 「ビッグデータ」を見据えたデータ管理テクノロジーの選択 エグゼクティブサマリー

TechVisor.JP White Paper

「ビッグデータ」を見据えたデータ管理テクノロジーの選択

発 行   2012年4月1日

発行所   株式会社テックバイザージェイピー

      代表 栗原 潔

URL   http://www.techvisor.jp/

本書に記載されている会社名、商品名等は各社の商標または登録商標です。

Page 10: 「ビッグデータ」を見据えた データ管理テクノロ …...2 「ビッグデータ」を見据えたデータ管理テクノロジーの選択 エグゼクティブサマリー

10

ビッグデータ・パラダイムシフト と InterSystems CACHÉ®インターシステムズジャパン株式会社

昨今のビッグデータのブームに伴って従来のリレーショナルデータベースでは取り扱いにくい

データ処理のための様々なデータベーステクノロジーが開発されてきた。

この前提は、There is no “one size fits all” solution、つまり何にでも対応できる万能の解決策は

ないという考えのもと、必要に応じて適切な技術で問題に対処すれば良いという方向性だ。

確かに何にでも万能に対応できるソリューションは存在しない。しかし様々なデータベースを適

宜使い分けるとそれらを連携させる必要がある場合には様々な余計な作業が発生することになる

(データ移行、データ変換、データクレンジングなど)。しかもこれらの作業は一過性のものではな

くデータを利用し続ける限り、状況の変化に応じて追加の作業が発生する。これらは通常目に見え

ないコストだが、長い目で見れば非常に大きなコストとなる。

インターシステムズのデータベーステクノロジーは、ある特定のアクセスパラダイムに特化する

のではなく、必要に応じて様々なアクセスパラダイムに対応できるように技術を進化させるという

方向で進化してきた。

その結果の1つが、オブジェクト指向のインターフェースをサポートしながらRDBMSに遜色の

ないSQLインターフェースのサポートを実現しているという点である。

さらにXMLをハンドリングするインターフェースを持ったり、サードパーティ製品にはCACHÉ

をあたかもXMLDBのように見せる製品もある。また、非常に限られたマーケットで使用されてい

るMultiValueという特殊なデータベース規格(1つのアクセスパラダイム)がある。

インターシステムズはこの規格を使用しているユーザーのために、この規格のインターフェース

を開発し、マイグレーションパスを提供している。この様に、インターシステムズのデータベース

テクノロジーには、色々なアクセスパラダイムを「真似する」能力がある。

何故真似ることができるのか?

真似るということは、その振る舞いをコピーすることである。振る舞いをコピーするということ

はコンピュータの世界で考えれば、プログラミングで記述して何かを実行するということにほかな

らない。

インターシステムズのデータベーステクノロジーにおいてユニークであり重要なことは、永続

データエンジンだけでなくプログラミング言語が内蔵され、しかもそのプログラミング言語と永続

データエンジンが非常に密接に最適に連携しているという点である。

Page 11: 「ビッグデータ」を見据えた データ管理テクノロ …...2 「ビッグデータ」を見据えたデータ管理テクノロジーの選択 エグゼクティブサマリー

11

一般的にはデータベースエンジンとプログラミング言語は全く別物として考えられており、それ

らが連携する際には一定のオーバーヘッドが避けられない。従ってあるアクセスパラダイムに対応

したデータベースを、違うアクセスパラダイムでアクセスできるような仕組み(つまり真似をする)

を作ろうとした場合、プログラミング言語とデータベースエンジンのオーバーヘッドが大きく実用

的なシステムを構築することは至難の技だ。

実際、リレーショナルデータベースをオブジェクトデータベースに見せるためのO/Rマッパーと

呼ばれるフレームワークが多数実装されているが、性能確保に苦労するケースが多いようで普及し

ているとは言い難い状況である。

CACHÉの場合はこのオーバーヘッドが非常に少ないため、何かを真似してもスピードが落ちる

ということがない。しかもこの真似する技術開発は、インターシステムズにしかできないことでは

なく、開発者が自分であるアクセスパラダイムを真似する開発を行うことも可能である。

結果としてインターシステムズデータベーステクノロジープラットフォームという1つの環境で

様々なニーズに合ったデータベース開発に対応することができる。

これは、複数のデータベースシステムと格闘するという悪夢から解放されることを意味する。

変化(進化)することができるデータベーステクノロジー、これこそが他のデータベーステクノ

ロジーとインターシステムズのデータベーステクノロジーの違いである。

現在InterSystemsではi.knowと呼ばれる言語セマンティックエンジンをデータベーステクノロ

ジーに統合する作業を行っている(一部の言語向けには完成)。

これが完成すると構造化データだけでなくいわゆる非構造データもデータベースに取り込んで

様々なデータ処理が実現することとなる。この事実も進化するデータベーステクノロジーの一面を

よく表しているといえる。

InterSystems CACHÉ® について:ハイブリッド型データベースとも呼ばれる、InterSystems Cache®は、リレーショナルデータベー

スより高速にSQLクエリを処理する高性能オブジェクトデータベース。CACHÉにより、Webアプリケー

ションの迅速な開発、非常に高速なトランザクション処理速度や、高い拡張性、トランザクションデー

タへのリアルタイムクエリを、最小限の保守要件で実現。CACHÉは、広範な開発ツール、プログラ

ム言語、ハードウェアプラットフォームをサポートしている。

【お問い合わせ先】 インターシステムズジャパン株式会社 〒160-0023 東京都新宿区西新宿6-10-1 日土地西新宿ビル17F TEL:03-5321-6200  URL:InterSystems.co.jp/

Page 12: 「ビッグデータ」を見据えた データ管理テクノロ …...2 「ビッグデータ」を見据えたデータ管理テクノロジーの選択 エグゼクティブサマリー