2017年09月21日 08時00分 UPDATE
特集/連載

リレーショナルデータベースの限界(前編)RDBMSはもう要らない? 多様化するデータ管理システム

リレーショナルデータベースの役割がなくなるわけではないが、不向きな用途が増えてきたのも事実だ。多様化するデータ管理システムの特徴を理解しておこう。

[Bernt Ostergaard,Computer Weekly]
Computer Weekly

 今、従来のトランザクション型DBMS(データベース管理システム)を新しいアーキテクチャのデータベースシステムに置き換える企業が増えている。

Computer Weekly日本語版 9月20日号無料ダウンロード

本記事は、プレミアムコンテンツ「Computer Weekly日本語版 9月20日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。

なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。

ボタンボタン

 トランザクション型DBMSとは、データ追加/変更といった複数のトランザクションが同じデータに同時に集中したり、更新処理中に停電が発生したりしても、指定された順序通りに処理を安全に実行するものだ。

 そしてDBMSは通常、DBMSへのクエリ、更新、データ定義にSQLを使う。

 古典的なトランザクション型DBMSの有利な点として、データの独立性、効率的なデータアクセス、データの整合性とセキュリティ、データ管理、同時アクセス、クラッシュからのリカバリーなどが挙げられる。

トランザクション型DBMSの明らかな短所

 ただし、クラウドコンピューティング、ハイブリッドデータセンター、仮想化などの出現により、トランザクション型DBMSの欠点が露骨に目立つようになってきた。具体的な短所を以下に挙げる。

高価で複雑

 データベースの構築と保守のコストが、高価な上に手順も複雑である。データポイント間の関係(リレーションシップ)は、本質的にクエリの時点で構築されるが、これはリソースの観点から処理負荷が高くなる可能性がある。

分散環境に向かない

 ストレージが複数の場所に配置されている場合、2カ所以上のストレージからデータを受信すると、レイテンシが長くなりやすい。

汎用性の限界

 ソフトウェアは汎用(はんよう)なので、特定用途のタスク(テキストストリーム処理など)には適していない。

リアルタイム処理に向かない

 リアルタイム処理が必要なアプリケーションには適していない。

NoSQL

 ビッグデータとそのデータ量の大幅な変動を管理するため、Google、Amazon、Microsoft、Yahooなどインターネット界の大手企業はNoSQL(Not Only SQL)を採用した非線形のデータベースを開発した。こうした製品は、どれもスケーラビリティを重視している。一方「MongoDB」「Riak」「Couchbase」「Cassandra」などのNoSQLデータベースは、特殊なフレームワークを採用してデータを格納している。言い換えると、独自のクエリAPIを使ってデータにアクセスする仕組みになっている。これにより、一貫性の要件が緩和され、優れた可用性とパーティション分割を実現し、スケーラビリティを向上させることができる。

グラフ型データベース

 「SAP HANA」「Neo4j」「ArangoDB」などのグラフ型データベースは、非リレーショナルデータをさらに進化させ、リレーションシップの「グラフ」を作成する。データに対してクエリを実行する場合、効率はリレーショナルデータベースや基本的な非リレーショナルデータベースよりもはるかに高い。

大容量向けのデータストリーム管理システム

 ユーザーは非常にサイズが大きいデータストリームを監視することが少なからずあるが、実は特定の条件が発生するまでそのことを通知されることはない。この状況では、受信するデータを静的なテーブルやファイルのデータとしてではなく、最新のソースと履歴を持つソースを統合した連続的な無限ストリームとして扱う必要がある。

 典型的なユースケースとして、ネットワーク管理システム、電話会社の発話の詳細な記録、金融システムにおける取引の記録、医療分野のモニタリングシステムなどがある。

 データストリーム管理システム(DSMS)は、入力プロセッサ、連続的クエリ(CQ:Continuous Query)エンジン、低レイテンシのキャッシュおよびバッファーで構成される一連のプログラムだ。これらがバックエンドのデータ記憶装置に接続されている。DSMSは連続的なデータストリームを管理し、データストリーム上で関数を処理し、DBMSに含まれているこれ以外の機能を提供する。

 「IBM InfoSphere Streams」「SAP Event Stream Processor」「SAS Event Stream Processing」、オープンソースのDSMSエンジン「PipelineDB」などは、データストリームの処理を必要とし、かつQoS(Quality of Service)によるリアルタイムまたはそれに近い速度での応答が必要なアプリケーションでは有用だ。

 SQLのようにデータを照会するのではなく、CQに対してデータが提示される。このときCQは、バックエンドストレージ用に独自のデータストリームを生成する。これによってSQL(または非構造化データ用のNoSQL)プロセスもクエリを実行できる。CQエンジンの長所は以下の通りだ。

  • アクセスが容易

データ処理中に導出されたデータを媒体に格納する前に、その場で即座に利用できる。

  • 完全性

更新が繰り返されてきたデータはストリーム化される。つまり、コンテキストが付加された上で最新のデータと統合される。

  • 高スループット

大量のデータも低レイテンシで高速処理される。

複合イベント処理

 ハイブリッドクラウドストレージまたビッグデータや非構造化データを配置するためのデータレイクといったものが世に登場してからというもの、複数の(時にはアドホックな)データソースからの情報を相互に関連付けて分析するというニーズが劇的に増加した。

この記事を読んだ人にお薦めのホワイトペーパー

この記事を読んだ人にお薦めの関連記事

Loading

注目テーマ

ITmedia マーケティング新着記事

news038.jpg

横浜DeNAベイスターズが5年間で来場者数を76%増やすためにやったこと
ホームゲームの観客動員数が急伸する横浜DeNAベイスターズ。長年の人気低迷期を乗り越え...

news087.jpg

Webと店頭サイネージを連動する動画広告、マイクロアドデジタルサイネージとCyberBullが提供
マイクロアドデジタルサイネージはCyberBullと共同で、小売店の店頭サイネージと連動する...

news043.jpg

無料DMP「Juicer」とマーケティングプラットフォーム「HIRAMEKI」が連携
トライベック・ストラテジーは、マーケティングプラットフォーム「HIRAMEKI management」...