Special
» 2015年07月21日 07時00分 公開

あらゆる業種の企業に新たな価値をもたらす二つのキーテクノロジ:ビッグデータとIoTを組み合わせて使い、さらに高い価値を得る。オラクルのソリューションが可能にしたベストプラクティス (3/3)

[PR/@IT]
PR
前のページへ 1|2|3       

メモリグリッドとイベントプロセッサーにより、ストリームデータに対するイベント駆動処理を実現

 それでは、ラムダアーキテクチャによるビッグデータ/IoTのシステム基盤は、どのような道具立てがあれば実現できるのか? 杉氏は、IoTのリアルタイム処理を行う上で鍵となるオラクルのテクノロジを紹介した。

 さまざまな機器/システムで絶え間なく生じるデータをリアルタイムに処理するための基盤となるのが、インメモリで大量のデータを高速に処理するミドルウエア製品「Oracle Coherence」だ。

 「次々に流入するデータを逐一ディスクに書き込んでいたのでは時間のロスになりますし、そもそも処理が間に合わないケースもあります。そこで、受け取ったデータを高速なメモリ上で処理するという発想が生まれるわけですが、課題となるのは、どのようにして処理の信頼性を担保するかということです。

 この課題を解決するのがOracle Coherenceです。これを使えば、複数ノードのメモリを束ねた巨大な共有メモリ上にデータを分散/冗長配置することで、高い信頼性を確保できます。Oracle Coherenceを使うことで、流入したデータを確実に受け取って後続の処理に引き渡す、ストリーミング処理に最適なシステム基盤を作ることができるのです」(杉氏)

 Oracle Coherenceは、高い信頼性を備えているだけでなく、スケーラビリティの向上も実現する。データの流入量に合わせてノードを追加していくことで、共有メモリ空間を段階的に拡張していくことが可能なのだ。

 Oracle Coherenceで受け取ったデータは、複合イベント処理基盤「Oracle Stream Explorer」によって逐次処理を行う。

 「Oracle Stream Explorerには、豊富な実績のあるイベント処理エンジン(Event Processing)が内包されています。これを使うと、流入するデータを連続的に集計したり、数値の変動を検知してパターンマッチングを行ったりすることができます。また、従来は難しかったストリーム処理の“アジャイル開発”が可能になりました。ストリーム処理を行うプログラムを、処理内容に応じて適宜変更する際、いちいちシステムを停止して修正/デプロイ/検証を繰り返していたのでは非効率的です。Oracle Stream Explorerを使うと、システムを止めることなく、Webベースのインターフェース上で処理内容の修正と検証が行えるのです」(杉氏)

 Oracle Stream Explorerを利用すれば、複数のイベントを特定のタイムウィンドウ内で関連付け、より高度な判定を行うといった処理を簡単に実現することができる。例えば、システムの負荷状況を監視し、処理量が徐々に増大して高負荷状態になった際にアラートを発する仕組みを作りたいとする。ただし、事前に想定されるごく一時的なスパイク負荷(突発的な負荷)だけが発生し、その後は負荷が落ち着くようなケースは定常動作としてアラートの対象外としたい。このような場合、Oracle Stream Explorerを使うことで、想定される定常ケースを除外し、アラートの対象とする高負荷状態だけを検知して通知する仕組みを作れるのだ。

SQLのみで、RDBMSの構造化データとHadoopの非構造化データを操る

 生成されるデータをリアルタイムに処理するためのIoT基盤に対して、蓄積したデータを分析するビッグデータ基盤については、「多種多様なデータを、いかにしてコスト効率良く扱うかが課題となります」と佐藤氏は語る。

 「Oracle Databaseは非構造化データにも対応していますが、クレンジングしていない非構造化データをそのまま格納すると、データベースが肥大化してコスト効率が悪化します。システム全体のコスト効率を考慮すると、構造化データはRDBMSに、非構造化データはHadoopなどのデータストアに分けて管理するのが得策でしょう」(佐藤氏)

 ただし、RDBMSとHadoopという異なるデータストアを連携させて使うためには、両者のインテグレーションに関して高度なスキルが要求され、それが大きな障壁となる。そこで、その障壁を取り払うためにオラクルが開発した製品が「Oracle Big Data SQL」である。これを使うと、HadoopやNoSQLデータベースに格納されているデータを、Oracle Databaseと同じくOracle SQLによって操作することが可能となる。

 「今日、Hadoopのプログラムを自在に書けるエンジニアは少数であり、一方でSQLを書けるエンジニアは多数存在します。Oracle Big Data SQLを使えば、これまでに培ったSQLのスキルセットで構造化データと非構造化データを扱えるようになります。つまり、多くのエンジニアが特別なトレーニングを行うことなく、ビッグデータ分析で活躍できるようになるのです」(佐藤氏)

 例えば、オラクルはOracle Database専用の超高速データベースマシン「Oracle Exadata」や、Hadoop/NoSQL専用のデータベースマシン「Oracle Big Data Appliance」といったエンジニアドシステムズを提供しているが、Oracle Big Data SQLを使うと、Oracle ExadataとOracle Big Data Applianceのそれぞれに格納されたデータをSQLクエリのみで取り出すことが可能となる。

 しかも、Oracle Big Data SQLを使うことで、非構造化データに含まれる個人情報などの機密情報もセキュアに扱えるようになるという。

 「Oracle Big Data SQLでは、アプリケーションから送信されたSQLクエリを、Oracle Databaseが仲介役となってHadoop/NoSQLに発行します。このとき、Oracle Databaseに用意された高度なセキュリティ機能を使えるため、Hadoopだけでは実現が難しい詳細なアクセス制御を行うことが可能なのです」(佐藤氏)

 このように、Oracle Big Data SQLは、多くの企業がOracle Database上で培ってきたIT資産やスキル、そして高度なセキュリティ機構をそのままHadoop/NoSQLでも生かせるようにすることで、ビッグデータ活用に際してのコスト効率とアジリティを大幅に高めているのである。

 以上、ここではビッグデータ基盤とIoT基盤の活用に関するベストプラクティスと、それを実現するオラクルの最新ソリューションの一部を紹介した。佐藤氏と杉氏が紹介した事例からも分かるように、ビッグデータとIoTの適用領域は広範にわたり、恐らく読者が現在抱えているさまざまな課題の中にも、両テクノロジの活用によって解決できるものが多くあるはずだ。既に世界中の企業で導入が進み、ベストプラクティスやノウハウも豊富に蓄積されているオラクルのソリューションを利用すれば、ビッグデータとIoTをスマートに、また高いコスト効率で使いこなすための基盤を構築できるのである。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.


提供:日本オラクル株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2015年8月21日

関連情報

驚異的なパフォーマンス、優れた運用効率、最高の可用性とセキュリティ、クラウド対応を実現するOracle Exadataとの統合、クラウド、可用性や運用管理など、次世代データベース基盤構築のために参考になる必見資料をまとめてご紹介いたします。

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。