データ・ウェアハウスにはこれを使え!11gR2 4つの注目機能

経済情勢の混迷が続く中、ここ数年、多くの企業は顧客や市場の嗜好/動向を的確に読み解くべく、データ・ウェアハウス(DWH)への取り組みを 活発化させてきた。そうした企業のニーズを受け、Oracle Database 11gをはじめとするオラクル製品でも、DWH関連の機能が一層強化されている。近年の主な強化点を、オラクルコーポレーションのDWH担当副社長、チェ ティン・オズブトゥン氏(Data Warehouse & Language Technology, Vice President)に聞いた(編集部)。


TC_110302-01.jpg
オラクルコーポレーション
Data Warehouse & Language Technology
Vice President
Cetin Ozbutun



■目玉は4つ、「インターバル・パーティショニング」、「インメモリ・パラレル実行」、「並列度の自動化」、「キューブ・マテリアライズド・ビュー」

――一昨年にリリースされたOracle Database 11g Release 2 Enterprise Editionでは多くの機能強化が図られましたが、その中にはDWHの構築/運用に深くかかわるものが少なくないようです。

 はい、Oracle Database 11g R2 Enterprise Editionの強化点の多くは、DWHの構築/運用で大きな威力を発揮します。それらの中で、oracletech.jpの読者の皆さんに特に知ってお いていただきたいのは、「パーティション機能の強化」、「インメモリ・パラレル・エグゼキューション」、「並列度の自動化」、「マテリアライズド・ビュー の強化」ですね。

――それらは、DWHの構築/運用でどう効果を発揮するのでしょうか?

 パーティション機能の強化に関して、私が特に推したい新機能は「インターバル・パーティショニング」です。これは、Oracle Database 11g R2 Enterprise EditionのDWH関連機能の目玉だと言ってもよいでしょう。

 インターバル・パーティショニングを使うと、一定期間ごとに自動的にテーブルを分けることができます。「月ごと」、「週ごと」、あるいは「日 ごと」に分けるといった具合です。実はこれまでもレンジ・パーティショニングという機能があり、これを使うと指定した期間(例えば、3月1日から30日ま で)のデータを1つのテーブルにすることができたのですが、この機能ではあらかじめ、パーティションのレンジを指定しておかなければなりませんでした。そ れに対して、インターバル・パーティショニングでは事前にパーティションを指定する必要はなく、パーティションがより扱いやすくなっています。



 データが多い場合に有効な機能である「パーティショニング機能」。概要から、技術者として知っておきたい、作成方法、索引の付け方、メンテナンスまで、機能面を中心にご紹介する資料です。もちろん11gの新機能もマスターできます。

 次の「インメモリ・パラレル・エグゼキューション(In-Memory Parallel Execution)」とは、バッファ・キャッシュ上のテーブルやインデックスに対して並列実行を行うというものです。従来のパラレル・クエリはメモリで はなくストレージに直接アクセスしていました。なぜなら、今までのハードウェアはメモリ量が少なかったので大量データがメモリ上になく、ストレージに直接 アクセスしたほうが効率的だったからです。しかし、近年はメモリが安価になったため、データベース・サーバに大量のメモリを搭載できるようになりました。 大量のデータをメモリ上に載せることができるようになったため、そのメモリ資源を使い、DWHのような大量データの検索を行う処理をパラレル化してメモリ 上で実行することで、より高速化しようというのがこの機能なのです。


 次に「並列度の自動化」です。最近のハードウェアの進化には目覚ましいものがあり、CPUはマルチコア化が進んでいます。マルチコアCPUを より効率的に使用する方法として、パラレル処理が有効です。「並列度の自動化(Automated Degree of Parallelism)」とは、検索処理に必要なパラレル処理の数をOracle Database側で自動的に判断し、最適な並列度でパラレル処理を実行するというものです。処理に必要な数のパラレル・サーバがあるかどうかも随時 チェックし、もしパラレル・サーバの空きが十分にないときは、必要な数が揃うまで、その処理リクエストをキューに入れます。こうした自動化の機能により、 パラレル処理がより簡単に扱えるようになります。従来、パラレル度の設定は明示的に行う必要がありました。その都度、最も効率的なパラレル度を手動で指定 するのは難しかったのですが、Oracle Databaseではそれぞれのクエリに最適なパラレル度を自動的に設定できます。


 4分弱のデモンストレーションを通じて、手軽にDWHを高速化する機能を紹介していきます。Oracle Databaseの自動化機能はDWH向けにも有効です。

 「マテリアライズド・ビュー(Materialized View)の強化」に関しては、新たにOLAPキューブを作成できるようになりました。このキューブに対してはSQLでアクセスすることが可能であり、 OLAP処理がより速く行えるようになります。DWHの世界では多くのユーザーが個々の切り口でデータを参照します。例えばコーヒー・チェーンのストア・ マネージャなら、開店前に前日の売り上げ、商品在庫、発注しなければいけない品物などをチェックするでしょう。それに応えるには、ストアごとの切り口で売 り上げ、在庫、発注商品など、ある程度決まった情報を集めて提供する必要があります。その際、従来のマテリアライズド・ビュー(M-VIEW)では、スト アごとに1つのM-VIEWが作られたりしますが、OLAPキューブであれば1つのキューブにすべてのストアの情報を集約し、全ストア・マネージャに提供 できます。これにより、リフレッシュの高速化とクエリの高速化が実現されるのです。


 頻繁に検索されるデータを事前に集計するマテリアライズド・ビュー(Mview)の作成も、Oracle Databaseのアドバイスがあれば手軽に作成、活用できます。

 これらは、Oracle Database 11g R2 Enterprise Editionの標準機能やオプションとして提供するものです。これらを活用することで、大規模なDWHの構築と運用を、より効率化できるでしょう。


 DWH向けのデータベース・テクノロジーを総まとめしたセミナー資料です。

■Oracle Data Miner 11g Release 2でデータ・マイニングがより容易に

――先ごろEarly Adapter版が公開された「Oracle Data Miner 11g Release 2」では、データ・マイニング用のオプション製品「Oracle Data Mining」に関連した機能強化が行われているようです。

 そうです。Oracle Data Miner 11g Release 2では、Oracle Data Mining用のコンポーネントを追加しました。これを使うことで、データ・マイニングのモデルをイテレーショナルに作り上げていくことができます。デー タ・マイニング・モデルを作る作業は、これまでは非常に敷居の高いものでした。しかし、Oracle Data Miner 11g Release 2を使えば、その作業を従来よりも、はるかに容易かつ効率的に行えるようになります。このツールはデータ・マイニングの世界に大きなインパクトをもたらす でしょう。ぜひ読者の皆さんも試してみてください。


――オラクルは、業界ごとのDWH構築用データ・モデルの提供も始めましたね。

 これは、特定業界でDWHを新規に構築する作業を容易にするためのもので、手始めに小売業向けの「Oracle Retail Data Model」、通信業向けの「Oracle Communications Data Model」の提供を始めました。それぞれの業界に関するわが社のエキスパートとデータベースのエキスパートらが共同で作成した論理的/物理的データ・モ デルのほかにETLスクリプト、サンプル・レポートまで提供しているので、DWHの構築をすぐにでも始められます。従来、DWHの設計には非常に時間がか かりましたが、これを使うことで設計/構築時間を圧縮できます。

――先の並列度の自動化をはじめ、Oracle Databaseではさまざまな部分で一層の「自動化」が進んでいます。この調子で「何でもOracle Databaseに任せておけばよい」となっていく中で、今後データベース・エンジニアはどういった部分にフォーカスしてスキルを磨いていけばよいので しょう?

 我々がOracle Databaseで自動化を推し進めているのは、データベース管理者やデータベース開発者の皆さんが本来やるべき作業に集中できるようにするためです。自 動化が進むことで、今後データベース管理者の皆さんは、SQL文のチューニングなどよりも、データベース・システムの運用やセキュリティ対策といった本来 の業務に集中できるようになります。また、データベース開発者の皆さんは、「Oracle OLAP」、「Oracle Data Mining」などの製品や新しいOracleデータベースの機能に関する知識を深め、使いこなせるようになることで、エンジニアとしての活動の幅がさら に広がるでしょう。