編集部からのお知らせ
新着記事まとめPDF「ランサムウェア」
注目の記事まとめPDF「Chrome OS」

NoSQL「HBase」はIoTにも最適--柔軟なスキーマでデータ構造の変更に対応 - (page 4)

草薙昭彦 (MapR Technologies)

2015-03-09 19:14

アクセスパターン

 RDBMSのデータ構造は事前に厳密な定義が必要である一方、クエリ言語であるSQLとそれを実行するエンジンは比較的柔軟です。データは実体関連モデルで表現されることが一般的で、「データ中心」のアプローチが取られます。

 これに対し、データ操作が限定されているHBaseでは、まずデータがどのように到着し、どのように取り出すかということが最初に考慮され、それに合わせてデータ構造を決める「アクセスパターン中心」のアプローチになります。このため、用途を特化してHBaseを当てはめていくことが重要です。

スキーマの柔軟性

 RDBMSではデータモデル設計に基づき事前にスキーマを定義し、それに合わせてデータを格納します。アプリケーションはこのスキーマを前提として構築されるため、後からのデータ構造の変更には多大な労力が伴います。

 HBaseでは、格納されたデータの解釈は格納時ではなく、読み取って利用する際にアプリケーションがその責任を担います。データ構造の変更や格納データの種類の追加に対応する必要がある場合、もしくはそもそも構造化がされていないデータの場合に、HBaseはより柔軟に対応できます。例としては、ユーザーIDに対してそのユーザーのプロフィール情報に加え、ユーザーの購買履歴や行動履歴を延々と追加していくケースなどです。

 では逆に、HBaseを選ぶべきではないのはどのようなケースでしょうか。

 前半で述べたように、RDBMSのリレーショナルモデルに基づくテーブルのジョインのようなデータ操作、正規化や制約、データ型などによるデータの整合性を確保する仕組みは、HBaseでは利用することができません。また、HBaseが持つトランザクション機能は非常に限定的なものです(単一行内のトランザクション)。アプリケーションが上記の機能を前提とする場合、HBaseで同様のことを行うには非常に困難を伴うでしょう。

 また、HadoopとHBaseの分散システムの運用は、従来のRDBMSとは異なる運用ノウハウが必要となるため、データの規模や性能面から見てメリットが十分得られる状況でHBaseを採用すべきです。

HBaseの導入

 ApacheのOSSプロジェクトであるHBaseは、ASFのサイトから最新版を入手して利用できます。ただ、HBaseはHadoopとセットで利用されるため、今ではHBaseを含んだHadoopディストリビューションを導入するケースが一般的です。より高い信頼性や性能、運用管理性を売りとするHBase互換の製品も登場してきています。

 ここからでは、HBaseが利用できるHadoopディストリビューションと、HBase互換の商用NoSQL製品である「MapR-DB」について解説します。

 Hadoopディストリビューションでは、HBaseの構築や運用をより簡単に行えるように、Hadoopと関連ソフトウェアとの検証済みのHBase実装が、インストールツールや運用管理ツールと合わせてパッケージングされています。次に挙げるのは、HBaseが利用可能な、代表的なHadoopディストリビューションです。

  • Cloudera:Cloudera EnterpriseとCDH
  • Hortonworks:Hortonworks Data Platform(HDP)
  • MapR Technologies:MapR Distribution including Apache Hadoop

 いずれのディストリビューションも無償で無制限に利用できるとともに、高機能な運用管理ツールやサポートサービスを含んだ商用版も提供されています。細かいバージョンに違いがあるとはいえ、いずれのディストリビューションに含まれるHBaseもApacheプロジェクトで開発された同じ実装のため、運用やアプリケーションの開発方法に違いはありません。Apache HBaseプロジェクトは現時点でも活発に開発が進んでおり、不具合の修正や新機能の導入が頻繁に行われているため、他製品との動作検証やサポートが提供されるディストリビューションの利用は、利用者にとって大きなメリットがあります。

MapR-DB

 MapR-DBは、MapR Technologiesが提供するHadoopディストリビューションの「MapR Enterprise Database Edition」に含まれる、HBase API互換の商用NoSQL製品です。MapRのディストリビューションには通常のApache HBaseも含まれていますが、一般にHBaseの利用には依然として次のような課題があります。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]