EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

「本当に効くデータベースチューニング ~索引よりもCPUとHDDのバランスを~」

edited by DB Online   2011/08/31 00:00

パラレル処理でコア数を活かす!

 CPUのコア数を生かすには、1つのSQL文を複数のプロセスで同時に処理することができるパラレル処理を活用したい。パラレル処理も、Oracle Exadataで頻繁に利用さている。「パラレル処理によって100近いコアをバランスよく使っているよい例だ」(柴田氏)。

 パラレルと言うと、同時に複数のSQLが実行された際にそれぞれの並列度をどの程度減らすかを手動で調整する必要があるという課題があった。

 「しかしOracle Database 11g R2からは、データベース側で最適な並列度に調整してくれるので、同時実行を気にせず、自動設定された並列度でそのまま運用できるようになった」(柴田氏)。

 全てのクエリーに対して単一の並列度が最適とは限らない。この点がパラレルを難しくている要因だった。しかし11gR2以降では並列度をOracle自身が設定するため、パラレルを活用しやすくなっている。

 ところで、パラレル・クエリーは、RAC環境で使うことでさらに効果を発揮する。1つのSQLを1台のノードで並列化するのが通常のパラレル・クエリーだが、RAC環境において、1つのSQLを複数のノードにまたがって並列化するのが、インターノード・パラレル・クエリーだ。

 インターノード・パラレル・クエリーでは、常に複数インスタンで実行されるわけではない。インターコネクト上のトラフィックを最小限にするため、クエリー・スレーブ数が単一のインスタンス上では不足する場合、自動的に複数ノードのインスタンスを利用し、実行される。

 ノード追加に伴いリニアに性能を向上させることができるのがインターノード・パラレル・クエリーだ。

 「大規模グリッド環境におけるDWHシステムのスケールアウト検証報告

 「クエリーに限らず、InsertやUpdateでもパラレル処理が使えるのがOracle Databaseのメリットだ。実行計画取得、Data Pumpを利用したデータのインポート/エキスポート。外部表を利用したデータのローディング。これらも全部パラレルでできる。データウェアハウスでは、ぜひ積極的に使ってほしい」(柴田氏)。

 オラクルエンジニア通信:「【セミナー資料】ここまでできる!! Oracle Databaseのパラレル処理


著者プロフィール

  • oracletech.jp編集部(オラクルテックジェイピーヘンシュウブ)

    oracletech.jpは、オラクル・データベースと関連製品をお使いいただいている皆様、開発に携わっているエンジニアの皆様、オラクル製品を販売いただいている皆様すべてにとって有益な情報源となることを目指しています。 エンタープライズ系ITを中心に、製品情報や技術情報からテクノロジー・トレンド、キャンペーンやイベント/セミナー情報まで多岐にわたります。日本オラクルの社員だけでなく、外部の有識者やフリーランス・ライターを含む幅広い執筆陣により"ベンダー発"の枠を脱したコンテンツ発信を目指します。 好奇心が、エンジニア人生を豊かにする。 oracletech.jp

バックナンバー

連載:oracletechアーカイブス!
All contents copyright © 2007-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5