• Twitter
  • Facebook
  • Google+
  • RSS

Dockerでデプロイ、60ノードまでスケールアウト、Sparkで分析  テラバイト・クラスの集計処理もあっさり返すdashDB LocalでDWHを構築する

プライベートクラウド/ハイブリッドクラウドに最適な構成を持つデータウェアハウス向け製品「IBM dashDB Local」の特徴、利用事例を紹介。


構成はITジャーナリストの星 暁雄です。記事の最後にはプレゼントのお知らせもあります。

(※この記事は、日本アイ・ビー・エム株式会社提供によるPR記事です)

IBM dashDB Local - ハイブリッド・データウェアハウスを実現する Software-Defined DWH - Japan

プライベートクラウド上でソフトウェアで定義されたスケーラブルなデータウェアハウス(DWH)を構築し、企業内に分散していたデータを一元管理、高速な検索と分析を可能とする──これがIBM dashDB Localの得意分野だ。

榎本 康孝さん
日本IBM アナリティクス事業部
第1テクニカルセールス
Bigdata & DWH Technical Lead

その大きな魅力は柔軟性である。「IBMがデータウェアハウス(DWH)向けに推進する製品の中でdashDB Localの際だった特徴は、オンプレミス、プライベートクラウド、パブリッククラウドとあらゆる場所に対してDockerコンテナイメージで迅速かつ簡易にプロビジョニングでき、柔軟にノード構成のスケールアウト・イン(規模拡大・縮小)が可能であることから、大規模なデータ分析や処理負荷の急増にも対応できるアーキテクチャを実装している点です。また、あらかじめ分析用途に最適化されているため、設計やチューニングが不要であるという簡易性を持ちながら、最大60ノード(2017年5月時点)構成で処理可能な超並列処理(MPP)とインメモリの列指向データベースの構成により、大規模データの分析、検索処理を高速に実行できることも大きなメリットです」と日本IBMの榎本康孝氏は説明する。短時間でデプロイ、スケールアウト・インができ、データ量の急増に対して柔軟に対応できる。費用面では、保守費用を含め月額単位で使用した仮想コア数に準じた課金体系を提供する。急成長するシステムにも対応可能という訳だ。

このような特徴を備えるdashDB Localが得意とするのは、以下のような分野だ。

  • DB設計、チューニングに手間をかけずに高速なデータ分析を実現したい
  • データ量の急増に対して、柔軟かつ迅速にキャパシティ増強に対応したい
  • 自社でSLAやメンテナンス時間帯を管理し、プライベートクラウド環境でデータセットを一元管理したい
  • パブリッククラウドサービスにはない、HW構成の選択、より細かい粒度での構成変更、個別要件に応じた対応を実現したい
  • データのセキュリティや規制の関係上、パブリッククラウド上にデータを出せないが、クラウド上のDWHサービスと同様の使い勝手、コスト体系を実現したい

パブリッククラウド上のDWHサービスのような柔軟性とライセンス体系、使い勝手の良さがメリットといえる。後述するApache Sparkとの統合によりデータ分析の可能性が広がることも見逃せない。

PDA/Netezza Appliance
dashDB Local
dashDB for Analytics

dashDB Localは、IBMの他のDWH向け製品とのデータ連携や互換性も配慮されている。例えばパブリッククラウド向けのdashDB Analyticsや、オンプレミス向けのNetezza Data Warehouse Appliancesと連携させたシステム構成にも対応可能だ。オンプレミスとパブリッククラウドが連携するハイブリッドクラウドのシステム構成にも適した製品といえる。

また、IBM製品(Netezza、DB2、BigInsights)だけでなく、他社のRDBMS(Oracle、SQLServer)、Hadoop Hive、Impalaとのデータ連携をGUIのWebコンソールで簡単に設定できるFluidQueryも標準実装されており、さまざまなデータストアをハイブリッドで活用するための機能を備えている。論理的にデータストアを統合させることでユーザーにあたかも1つのDWHとしてさまざまなDB上のデータを活用させることが可能だ。

■ Dockerコンテナでデプロイ&スケールアウトできる柔軟性

dashDB Localの特徴としてまず挙げられるのが柔軟性である。「シングルノード環境での導入作業は30分程度でできるほど簡単です。MPP環境についても、ノード追加、削除の構成変更作業が簡易、かつ構成変更に必要なパラメータチューニング、パーティション設計を自動でやってくれるため、ユーザーの負担を最小化する仕組みを実装しています」(前出の榎本氏)。

従来、DWH環境の構築や、ノードの追加・削除に伴う設定変更作業は、時間とコストがかかる作業だった。dashDB Localは、その点をオープンソースであるDocker Engineの力を活用してうまくユーザーに負担がかからない形で実装している。また、Dockerコンテナで実装されているため、従来のDB移行のようにデータをExport・Importするような移行作業は不要で、非常に簡単にコンテナ自体を別の環境に移動させられるという特徴を持っている。

■ 高速性と簡易性を実現するDWHアーキテクチャ

dashDB Localのもう一つの大きな特徴が高速性だ。インメモリの列指向DBという特徴を生かし、従来RDBで必要なインデックスやパーティショニング設定などの事前の設計なしに高速に検索できる。また検索対照の範囲指定が入った場合、自動的に必要な範囲を抽出するデータスキッピング、大量データの分析処理を高速に実現するMPP並列処理アーキテクチャを実装している。

実際に、デモンストレーションでその性能の一端を見せてもらった。

小売店チェーンの売り上げ明細を想定した190億件、1TBの生データを格納したdashDBに対して全件集計を含む処理である「売り上げ金額の最小、最大、平均値、合計集計」を求めるクエリについて、たった5秒で結果を返すことができる。

デモンストレーションで解説する榎本さん

もう少し複雑な検索ではどうだろうか。同じ生データを格納したdashDBに対して「併売検索」で、例えば「2017年1月から3月の3ヶ月間、かつ渋谷店において、ある特定の化粧品と一緒に買われている製品の集計ランキング検索」を実行すると、0.4秒で結果が返ってきた。

さらにデータ量が増えた場合にはどうなるのか。「期間や範囲指定がある検索なら、不要なデータを飛ばして検索するデータスキッピングの機能が効くので、データ量がさらに10倍多い10TBのデータ量になったとしても結果が返るまでの時間は変わりません」(榎本氏)。

大量のデータに対する複雑なクエリを高速に処理でき、しかもMPPによる性能向上の伸びしろが大きい──これがdashDB Localの大きな優位点といえる。

■ Apache SparkとDWHの統合により、高度なデータ分析を実現

データ分析の局面でもdashDB Localは充実した機能を備えている。まずデータ分析用のツールとの連携機能が充実していること、そして最新の機械学習およびデータ分析のフレームワーク群を含むApache Sparkと統合されていることが重要な特徴である。

例えば統計解析ソフトウェアSPSSでデータの加工フローを書き、それがSQLに加工されてdashDBの上で動くシームレスな連携機能を備える。同様にRやPythonとの連携もできる。

dashDB LocalではSparkエンジンをDockerコンテナ内に統合している。dashDB Local側からSpark側のアプリケーションをキックする(呼び出す)形の連携も可能だ。「Sparkに含まれるRやPythonを使ってデータウェアハウスのデータを分析することも可能です。Spark側のアプリケーションを、dashDB Localのストアドプロシージャとして呼び出せます。RDBの環境で整備してきたデータをSparkのエキスパートが分析する環境も、非常に楽に構築できます」(榎本氏)。

IoTセンサーデバイスから流れ込むデータをメッセージングシステムKafkaを経由してdashDB Localで受け取り、Sparkの上で組んだ機械学習の環境に流し込むようなシステム構成も可能だ。

dashDB Localでは、機械学習をはじめSparkが得意とする最新のデータ分析技術と、実績があるRDBを一つの環境内で統合している。データベースの専門家とSparkの専門家が同じプラットフォームを使うことができる

■ さまざまな用途で導入が始まるdashDB Local

ここでdashDB Localの利用事例をいくつか見ていきたい。

【1】RSG Media社

ケーブルTVなどメディア企業向けに視聴データを提供する事業を営む米RSG Media社は、dashDB Localを活用したプライベートクラウド構成によりデータを一元管理し、データ分析の所要時間を大幅に短縮することに成功した。

RSG Media - IBM Case Studies

RSG Media社の課題は、視聴データの抽出と前処理に長い時間を費やすこと、そして規制の関係からデータを社内に置く必要がありパブリッククラウドを使えないことだった。そこで同社は大規模なデータセットを複数のシステムに分散して管理するのではなく、dashDB Localで一元管理するようにした。これによりデータ分析結果を顧客に提供するスピードが大幅に向上した。以前は1ヶ月かかる場合もあったが、新システムにより1日以内に短縮した。

【2】大手保険会社

企業内の複数の情報システムに散在していたデータをdashDB Localの管理下に統合することで、データの「サイロ化」、処理能力不足、運用管理の負荷増大という課題を一挙に解決した。dashDB Localにより汎用的なハードウェアによるスケールアウト可能なMPP構成で必要なだけ処理能力を増やせるようになった。またdashDB Localコンテナに統合したSparkエンジンを使うことでデータ分析の処理時間を短縮できた。

【3】大手金融機関

Hadoop上に配置した大量データに対する検索性能問題とHadoop自体の運用管理負荷増の課題の解決としてdashDB Localを採用。6ノード構成のMPPクラスタにより必要な処理能力を確保でき、また運用管理上の負担を大幅に削減した。Netezza DWHのデータ量急増に対してデータのオフロード先にも活用されている。同時にFluidQueryのデータ連携機能により、dashDB LocalとNetezza間は互いのデータを透過的に参照でき、利便性の向上を実現している。

* * *

これらの事例から、dashDB Localは大量のデータを一元管理し、しかもデータ量や分析の負荷に対応して柔軟にシステムを拡張するニーズに対応したいときに威力を発揮することが分かる。

dashDB Localは、Dockerコンテナにより容易にデプロイ、スケールアウトできる柔軟性、インメモリ列指向データベースと並列処理による高速な検索機能、そして最新のデータ分析フレームワークを備えるSparkと統合した環境を提供する。プライベートクラウド/ハイブリッドクラウドでデータウェアハウスを構築する企業にとって、他の製品にはないユニークな立ち位置にあるデータベース管理システム製品といえる。

IBM dashDB Local

IBM dashDB Local - ハイブリッド・データウェアハウスを実現する Software-Defined DWH

dashDB Localに関する詳細は上記をご覧ください。

また、メールフォームまたは電話(0120-550-210)でもお問い合わせを受け付けております。ぜひこの機会にご検討ください。

■ 「nasne(ナスネ)」(CECH-ZNR2J 01)を1名様にプレゼント!

※キャンペーンは終了しました。たくさんのご応募、ありがとうございました。

記事をお読みいただいた方の中から抽選で1名様に、(株)ソニー・インタラクティブエンタテインメント「nasne(ナスネ)」(CECH-ZNR2J 01)をプレゼントいたします! 応募方法は、下記の応募要項をご覧ください。

(c)2012 Sony Interactive Entertainment Inc.

<プレゼント応募要項>

応募期間
2017年5月29日(月)から2017年6月11日(日)24時まで
賞品と当選人数
nasne(ナスネ)」(CECH-ZNR2J 01)を1名様
応募方法
Twitter連携した上で、この記事をはてなブックマークに追加してください
※プライベートモードでのご利用は対象外です
当選発表
厳正なる抽選の後、本記事で、当選者様を発表させていただきます
賞品発送
当選発表後、はてなよりメールをお送りし、送付先情報(送付先住所、受取人氏名、電話番号)をお聞きします
※プレゼントの発送は日本国内に限らせていただきます

※当キャンペーンは(株)ソニー・インタラクティブエンタテインメントの
提供・協賛によるものではありません。

■ 2017年6月15日追記:プレゼント当選者発表!

厳正な抽選の結果、当選された方を発表します。おめでとうございます!

「nasne(ナスネ)」(CECH-ZNR2J 01):1名

当選者の方には、のちほど送付先情報を確認するメールをお送りいたします。

  • ※期日までにご返信をいただけなかった場合は、再度抽選を実施し、繰り上げ当選者へ当選権をお渡しします。
  • ※繰り上げ当選が発生した場合、発表は、はてなからの当選連絡をもって代えさせていただきます。ご了承ください。

[PR]企画・制作:はてな

取材・構成:星 暁雄
写真:小高 雅也