[技術解説]

Oracle 11g R2─論理層の仮想化に踏み込んだ最新DB技術の進化を紐解く

Oracle 11g R2 その実力を解剖する Part1

2009年11月5日(木)三澤 智光

Oracle Databaseの最新版である11g R2。開発テーマは「ITコストの削減」である。物理層の仮想化のみならず論理層の仮想化まで踏み込み、可用性や信頼性をもたらす数々の新技術を実装しているのが特徴だ。具体的にはどのような技術に注目すべきか。まずはその概要を解説しよう。

図1-1 Oracle Databaseの進化の経緯 図1-1 Oracle Databaseの進化の経緯
過去30年あまりの歴史の中で、さまざまな機能を融合してきた。10g、11gの「g」はグリッドコンピューティング技術を意味する

Oracle Database 11g Release 2(以下、11g R2)。米国では9月1日、そして日本では9月14日に発表した最新版DBMSである。

1977年に設立した米オラクルが、最初にDB製品を市場に投入したのは79年のこと。以来、「既存資産の継承」と「新技術の融合」を大命題とし、性能改善や機能強化を図りながらバージョンアップを繰り返してきた(図1-1)。今日までの30年あまり、DB製品を中核にビジネスを手がけてきたオラクルには、多くの企業のデータを守り続けてきたという自負がある。この実績を別の側面から見れば、責任や期待が他のデータベースベンダーの比ではないということも言えるだろう。

今回の11g R2の開発テーマは「Lowering IT Costs」、すなわち徹底したコスト削減へのコミットにある。技術革新によって情報システムに構造的変革をもたらし、攻めの姿勢による、積極的なコスト削減を推し進めることに主眼を置いたのだ。

イメージしやすいハードウェアについて言えば、次のような削減効果を見込んでいる。

  • サーバー関連コストを1/5に
  • ストレージ関連コストを1/12に

これらは机上の空論ではなく、論拠を持った目標値である。

劇的なコスト削減を実現する中核技術となるのが仮想化だ。11g R2には、物理層の仮想化のみならず、論理層の仮想化までも視野に入れた様々な機能を実装している。Oracle Databaseは10番目のメジャーリリースから「g」の文字が付与されているが、これは仮想化を具現化するGrid Computing技術を積極的に製品に融合する姿勢に由来する。

つまり、グリッド=ネットワークを介して複数のプロセサやストレージなどを連携させて仮想的に高性能のコンピュータ資源を作り、必要なだけ処理能力や記憶容量を取り出して使えるコンピュータシステムだ。安価なサーバーと安価なディスクでハードウェアを構成しながら、高い性能、可用性、信頼性を担保する。11g R2にも踏襲され、さらに磨きをかけた「g=グリッド」関連技術のイノベーションが、コスト削減に大きく寄与するのである。

RACの機能強化でリソースの最適化を加速

11g R2が備える特徴として、まず筆頭に挙がるのはRAC(Real Application Clusters)機能の進化である。

RACとは、複数のOracleインスタンス(サーバーで起動するプロセスとメモリー空間のセット)をクラスタ構成にする技術である。要は、時々の負荷に応じて、データベース処理を担うノードを自在に増減させる機能である。受発注システムの利用頻度が高い昼間はこれに3ノード割り当て、売上集計の処理が集中する夜間はこれに2ノード割り当てる、といった柔軟な運用が可能だ。当然、同一のアプリケーションに対して複数のノードを割り当てて分散処理しても、データの一貫性は保たれる。こうしたグリッドの技術を活用して具現化する柔軟なプラットフォームを当社はグリッドインフラストラクチャと呼んでいる。

RACは前バージョンにもあった機能だが、R2はさらにブラッシュアップを図った。具体的には、多数のサーバーをグリッドインフラストラクチャで統合管理することで、「複数のRAC」に自動的に物理サーバーを割り当てることが可能になったのだ。より広い範囲でリソースの最適化を図ることができ、ハードウェア投資削減と運用負荷軽減の観点から大幅なコストダウンをもたらす[node:1445,title="(詳細はPart3)",unavailable="(詳細はPart3 2009年11月17日公開予定)"]。

RACの機能強化の一環として「RAC One Node」と呼ぶオプション製品も追加した。これは1ノード構成で動作するシングルインスタンスDB(要は単独のDBサーバー)をRAC環境に統合/集約するもので、これも徹底したリソースの共有、最適化を推し進める上で重要な役割を果たす。

独自の圧縮技術でデータスペースを効率化

データスペースの効率化もコスト削減の重要なポイントだ。まず、データの圧縮について言及しよう。

Oracle DBは元来、データの圧縮についてユニークな手法を採用している。圧縮されたデータを元の行の状態に展開するのに必要なメタデータをブロックに内包した状態で内部流通させるのだ。処理も圧縮した状態のままで行い、アプリケーションに結果を返す直前にはじめて行の状態に戻す(図1-2)。他のDBは一般的に、圧縮メタデータをブロック外部に持つため、当該データにアクセスする都度、追加I/Oが生じてパフォーマンスを上げにくい。

DBにおけるデータ圧縮はこれまで、データ更新が伴うトランザクション処理に適用しにくい面もあったが、Oracle Databaseではアルゴリズムの改善によってOLTP(オンライントランザクション処理)にも適用可能な技術へと進化させた。これが11gから採用した「Advanced Compression」と呼ぶ技術である。

データを圧縮した状態で内部流通させる仕組みは、スペース効率の向上だけがメリットではない。DBバッファ/キャッシュで使うメモリーを削減し、結果としてキャッシュヒット率向上によるパフォーマンス向上につながる。1つのブロックに格納されるレコード数が増えれば、検索時における読み込みブロック数が減少し、これもまた性能向上に寄与するのである(図1-2)。

図1-2 Oracle 11g R2の基本動作 図1-2 Oracle 11g R2の基本動作
図1-2 Oracle 11g R2の基本動作(画像をクリックで拡大)
オプティマイザの高度な実行プラン作成、自動的な暗号化処理、効率的なデータ圧縮など1つのSQL実行の中にも多くの高度な処理が内包される。特に圧縮状態にあるデータブロックを内部処理させるデータ圧縮の仕組みは、I/O削減やメモリー利用効率向上をもたらしパフォーマンス向上に寄与している

ストレージを仮想化しファイルを最適配置

次に、ストレージの効率化に話を移そう。ここで要となるのが、Automatic Storage Management(ASM)である。複数のストレージ(ディスクアレイ)を仮想化する機能に加え、ストレージ間でデータファイルを再配置する機能を備える。

ストレージ仮想化とは、複数のストレージを束ねて仮想的なストレージプールを作成し、物理構成を隠ぺいする技術である。ストレージの種類、配置、容量などに関わらず、必要に応じて必要な容量のストレージを利用できるようになる。それも安価なディスクドライブでいい。

ASMは複数の物理ディスクを束ね、それを論理的なディスクグループとして扱う。そこに制御ファイル、データファイル、一時ファイル、REDO(更新の差分)ログといった各種データベースファイルを格納するが、その際、グループを構成するすべてのディスクに対してストライピング(分割同時書き込み)するのが特徴だ。この結果、ディスク全体のファイル配置は均一化される。

11g R2のASMにおいては、データベースファイルだけでなく、ファイルシステム領域も一括して管理する「ASM Cluster File System」(ACFS)をサポートした。これにより、ソフトウェアバイナリやログトレースなど従来はASMの管理外にあったファイルも併せてストライピングされるのが特徴である。

ストレージ環境の設計においては従来、表領域やインデックスなど用途別にディスクを区別するのが一般的だった。この物理設計のフェーズはストレージ管理者のスキルに依存しがち。必要なディスク性能/容量を事前に推定するのは難しく、実際にはディスク使用量に偏りが生じてスペースのムダを発生させていた。

ディスクグループ内ですべてのデータベースファイルの配置を自動最適化するASMは、ディスクスペースを効率的に使えるのに加え、I/Oバランスも均等化されるので、結果としてパフォーマンス向上にもつながる。この機能は物理ディスクを増設する際にも、都度有効に働く。

ASMは、前述したRACとの組み合わせで、企業システムを支えるプラットフォーム全般に多大な可用性、そして柔軟性をもたらすことになる。RACやASMをはじめとするOracleの機能がシステム内のどこで動いているかを俯瞰したのが次ページの図1-3である。

図1-3 Oracle Database 11g R2の全体像
図1-3 Oracle Database 11g R2の全体像(図をクリックでPDFをダウンロード)
以前のOracleは本番DBサーバー上で稼働する1インスタンスだった。現在は、本番APサーバー上のインメモリーDBから、DBサーバー上でのクラスタリング、ストレージの仮想化、データの圧縮/リカバリ、テスト・開発環境、災害対策サイトまで、カバレッジは広がっている
この記事の続きをお読みいただくには、
会員登録(無料)が必要です
  • 1
  • 2
関連キーワード

Oracle / Oracle Database / RDBMS / インメモリー / グリッドコンピューティング / RAC

関連記事

トピックス

[Sponsored]

Oracle 11g R2─論理層の仮想化に踏み込んだ最新DB技術の進化を紐解くOracle Databaseの最新版である11g R2。開発テーマは「ITコストの削減」である。物理層の仮想化のみならず論理層の仮想化まで踏み込み、可用性や信頼性をもたらす数々の新技術を実装しているのが特徴だ。具体的にはどのような技術に注目すべきか。まずはその概要を解説しよう。

PAGE TOP