• 検索結果がありません。

OrAclE DAtABASE移行テクノロジー

第2部 :オプションのデータベース機能

ファイル・コピーをベースとするアプローチではなく、エクス ポート・インポートをベースとする移行アプローチ(O2Oま たはTriple O)の使用を決定した場合は、新しいOracle機 能を即座に使用できるようターゲット・データベースを構成 できます。しかし、どの機能を検討すべきでしょうか?一般的 には、データベースの再編成を要求するすべての機能を検 討します。たとえば、データのアクセスに使用するパラレル 化を変更したい場合、データ自体ではなく、Oracleのデータ を使用する方法(この場合、プロセスの数)が変更されます。

しかし、データ(既存のデータのみでなく、新しいデータも含 む)を圧縮したい場合、表と索引を再構築する必要がありま す。しかも、O2OとTriple Oではデータベースが必ず再構築 されるため、移行と圧縮を1つの手順で組み合せるか検討

する必要があります。

しかし、より多くのOracle機能はすべてまたは一部のデータ ベース・プロジェクトを要求します。SAP環境では、もっとも 重要な機能はパーティショニングと暗号化です。したがっ て、この記事の第2部では、SAP環境での圧縮、パーティショ ニングおよび暗号化について説明します。

移行時に、圧縮、パーティショニング、暗号化を1つの手順で 組み合せることはできますか?はい、できます。本当にこれを 実行したいですか?その答えを決めるのはお客様です。オラ クルにできること、またオラクルがしてきたことは、お客様が 選択肢からより良い決定ができるように柔軟性を提供する ことです。

圧縮

単に「圧縮」と呼ばれるものは、実際には圧縮機能の総合的 なセットです。それらのすべてが、データベース移行プロ ジェクトに関連しているわけではありません。関連するの は、索引データと表データの圧縮です。図2に示すのは、代 表的な実装の方法です。SAP ERPシステムの一部である Oracle Databaseがベースです。割り当てらたディスク領域 の33%は索引に使用され、67%は表に使用されています。

表データは構造データと非構造データに分類する必要があ ります(図2aを参照してください)。

図2c:構造化表データに対するオラクルのOLTP表圧縮の実装 図2d:非構造化表データに対するオラクルのSecureFiles圧縮の実装

Oracle Database Migration Technologies 55

56

既存のデータベースで圧縮を実装する場合、これまでの経 緯から、SAPは索引の圧縮から開始することを推奨します。

ただし、索引は表の後に作成されるため、O2OまたはTriple Oを使用する移行プロジェクトでは、シーケンスを変更する 必要があります。索引キーの圧縮は、B*Tree索引のリーフ・

ブロック内の値の繰り返しをなくすことにより、ディスク領域 を節約します(図2bを参照ください)。SAP BWで使用され るビットマップ索引は圧縮されています。したがって、再圧 縮はできません。

「構造データ」という用語は、複数の項目(名前、姓、都市、郵 便番号など)で構成される情報が独立した表列に保存され ていることを意味します。したがって、SQL*Plusなどのデー タベース・ツールが異なる項目を認識できます。構造化され た表データは、Oracleの表圧縮を使用して圧縮できます。こ の機能は、これまでの経緯からOLTPデータ圧縮とも呼ばれ ます。これは、OLTP(SAP ERPなど)システムで使用される データのみを圧縮できるという意味ではありません。それと はまったく逆で、以前の圧縮(Oracle Database 10gのデー タ圧縮)とは異なり、Oracle Database 11gの圧縮はOLAP システム(SAP BWなど)に実装できるだけではなく、OLTP システムにも実装できます。OLTP表圧縮は、すべてのSAPシ ステムに実装できます。索引キーの圧縮と同様に、表データ の圧縮は値の繰り返しを排除することで、ディスク領域を節 約します(図2cを参照してください)。

「非構造化表データ」という用語は、複数の項目で構成され る情報が、独立した表列に保存されず、単一の行に保存され ることを意味します。代表的な例は、データベース表に保存 されたPDFファイルです。SAPアプリケーションはデータセッ トをバンドルし、1つの値として保存する場合があるため、

SAPシステムでも非構造化データは発生します。その場合、

各項目をSAPアプリケーションでは認識できても、Oracle DatabaseとOracleツールでは認識できません。11g以前の Oracle Databaseのバージョンでは、これらのデータはLONG 列またはLOB列に保存されましたが、LONG値とLOB値は圧 縮できません。したがって、Oracle Database 11gには、

SecureFilesと呼ばれる圧縮可能な新しいデータ型が付属し ます。そのため、非構造化表データの圧縮はSecureFiles圧 縮と呼ばれます。厳密には、これのみが圧縮と言えるでしょ う。索引キーとOLTPデータ圧縮は異なる(より効率的な)

フォーマットでデータを保存するのに対し、SecureFiles圧縮 はZIPユーティリティの機能と同じように圧縮します(図2dを 参照ください)。

これら3つの圧縮機能を組み合せると、データベースに必要 なディスク領域を50%以上削減できることが、ラボでのテス トと顧客からの結果で証明されています。圧縮する前にデー タベースが完全に再構成されていることが、この比較の前 提条件です。ソース・データベースが断片化されている場 合、ディスク領域の節約はかなり高くなります。

また、ラボでのテストと顧客からの結果は、おおかたの予想 に反して、圧縮がデータベースのパフォーマンスに悪影響 を与えないことを示しています。この場合にも、逆の例があ ります。ほとんどの場合、圧縮によりI/Oが減少し、バッファの ヒット率(SGA)が改善されるため、顧客はパフォーマンスの 向上を経験します。

パーティション化

パーティション化の基本的な考え方は、非常にシンプルで す。1つ(または複数)の列内のある値に基づ いた1つの

「表」の行をグループとし、別々のグループを「副表」として 格納します(図3を参照してください)。

・ 1つまたは複数の列内の「値に基づいて」行をグループ化 することは、非常に一般的な命令文です。Oracleは、この 作業を正確におこなうための方法を多数提供します。SAP 環境でもっとも重要な方法は、リスト・パーティション化と レンジ・パーティション化と呼ばれます。

図3:Oracleの表と索引のパーティション化

リスト・パーティション化を実装するためには、各値(たとえ ば、国、位置)を明示的に示す値リストを作成する必要があ ります。レンジ・パーティション化を実装するためには、開始 と終了(たとえば、January 1-31、February 1-28など)を指 定して範囲を定義する必要があります。

Oracleは表のパーティション化だけではなく、索引のパー ティション化もサポートします。このためデータベース設計 者は、行または索引(リーフ)ブロック内のエンティティを1 つの表にグループ化し、結果を「パーティション」と呼ばれる 仮想サブセットとして格納できます。言うまでもなく、必要に 応じて表または索引は1つのシングル・オブジェクトとしてア クセスできます。アプリケーションのニーズによっては、表の 索引をパーティション化(「ローカル索引」)できますが、

パーティション化しないままに保つ(「グローバル索引」)こ ともできます。通常のSAPシステムで比較的多い状況です が、表に複数の索引が存在する場合、これらの一部をロー カルとし一部をグローバルにすることができます。

ユーザーにとって、表と索引のパーティション化のおもなメ リットは、パフォーマンスの向上です。このパフォーマンス向 上の技術的な根拠は、「パーティション・プルーニング」と呼 ばれます。たとえば、月でパーティション化された表と、この 表に基づいた月別レポートを生成するアプリケーションが あるとします。リクエストを受信すると、Oracle Databaseは 考慮対象として必要なすべてのパーティションが単一パー ティション内にあることを即座に認識し、このパーティション のみをスキャンします。これにより、I/O、メモリー使用率およ びCPUのワークロードが大幅に減少し、顧客側ではほとん ど常に5倍、10倍、あるいはそれ以上、パフォーマンスが向 上します。

管理者にとっての大きな利点は、パーティションを個別に独 立して管理できることです。表が90%の履歴データと10%の アクティブ・データで構成され、パーティション化を使用して 履歴データとアクティブ・データが分離されている場合、日 常的なバックアップや再編成などの管理手順をアクティブ・

データを含むパーティションに限定できるのに対し、履歴 パーティションではアーカイブなどのプロシージャをほとん ど実行できません。これにより、不要なワークロードだけで はなく、これらの作業にかかる時間も削減することができま す。さらに、パーティションを個別かつオンラインで作成、削 除またはマージできるため、メンテナンスの停止時間が増え ることはありません。

以前から、SAPはとくに表と索引のパーティション化によっ てパフォーマンスが向上する利点に気付いていました。この ため、Oracleのパーティション機能はSAP BWシステムや SAP ERPのようなOLTPシステムで、SAPによってサポートさ れています(表1を参照してください)。

表1:オラクルの表/索引のパーティション化とSAPアプリケーション SAP OlAP(BW)

全てのパーティション化をサポート

SAP OlAP(ErP)

全てのパーティション化をサポート

自動でレンジ・パーティション化 標準ではパーティション化なし

全てのシステムで同一のパーティション化が有効 システム毎に検討が必要

標準のソリューション SAP社がPartitioning Engineを提供

(SAP Note 1333328参照)

Oracleサポートサービスによる実装も可能

Oracle Database Migration Technologies 57