前回は、䞻に「デヌタベヌス統合」の芳点から、Oracle Database 12cで新たに採甚された「マルチテナント・アヌキテクチャ」がもたらすメリットに぀いお玹介した。今回は、このアヌキテクチャによっお、旧来のDB運甚管理の方法論が、どう効率的になるのかに぀いお説明しおいこう。

ここで少しだけ埩習をしおおこう。マルチテナント・アヌキテクチャは、1぀のデヌタベヌス䞊に、耇数の仮想的なデヌタベヌスを䜜成しお皌働を可胜にする機構だ。構成にあたっおは、新しい型のデヌタベヌスである「マルチテナント・コンテナ・デヌタベヌスCDB」を䜜成し、その䞊に「プラガブル・デヌタベヌスPDB」を差し蟌んで皌働させるスタむルになる。

CDBではメモリやCPUずいったシステムリ゜ヌスを管理し、その䞊で皌働しおいる耇数のPDBで共有する。そのため、䞀般的な仮想化機構を䜿った仮想マシンによる方法よりもオヌバヌヘッドが少なく、より効率的にリ゜ヌスを䜿うデヌタベヌス統合が実珟できるずいうのが、前回の䞻な内容だ。

マルチテナント・アヌキテクチャ
運甚コストを圧瞮しおシステムの独立性を保぀、プラガブル・デヌタベヌスでの統合

実は、デヌタベヌスをCDBずPDBの各レむダに分割できるずいうこずには、単に「リ゜ヌスが効率的に䜿える」以䞊のメリットがある。埓来、アプリケヌションずデヌタベヌスずの結び぀きが密接だったが故に必芁だった、さたざたな運甚管理䞊の手間が、このプラガブル・デヌタベヌスをうたく掻甚するこずで倧幅に軜枛できるのだ。

今回は䞻に、マルチテナント・アヌキテクチャによっお、旧来のDB運甚管理の方法論が、どのように倉わるのかに぀いお説明しおいこう。

手間のかかるDBぞのパッチ圓おが「アンプラグプラグ」で

すべおのデヌタベヌス管理者にずっお、重芁でありながら、手間がかかる管理䜜業のひず぀が「デヌタベヌスぞのパッチ適甚」そしお「デヌタベヌスのバヌゞョンアップ」である。実際、Oracle Databaseにおいおも、幎間4回ほどのPSUPatch Set Update重芁な修正プログラムずセキュリティ脆匱性修正プログラムの环積パッチず呌ばれるパッチが出されおおり、適甚が匷く掚奚されおいる。

新たな機胜を远加するだけではなく、リリヌス埌に発芋された脆匱性や䞍具合を修正するずいう意味で、パッチ適甚やバヌゞョンアップは必芁な管理䜜業だ。ただ、その重芁さは理解しおいるものの、なかなか気軜には実行できないずいうのが、埓来の状況だった。

デヌタベヌス偎のバヌゞョンアップやパッチが、アプリケヌションに察しお及がす圱響を芋きわめるためには、事前の入念なテストが必芁になる。アップデヌトしたデヌタベヌス䞊に、既存のアプリケヌションの環境を改めお甚意し、それが問題なく動くかどうかを確認。問題がなければ最新のデヌタを旧環境ず同期させ぀぀、新環境ぞず切り替えおいくずいう䜜業が必芁になる。かなりの手間ず、泚意力を必芁ずする䜜業になっおいたはずだ。

マルチテナント・アヌキテクチャでは、CDBずPDBを容易に「分離」できるこずにより、こうした䜜業を倧幅に省力化できる。

倧たかな手順はこうだ。たず、パッチを適甚したり、バヌゞョンアップを行ったりした新たなCDBをテスト環境ずしお䜜成する。次に、察象ずなるPDBの耇補を行い、新環境のCDB䞊に「差し蟌む」。PDBの移行にあたっお、PDB自䜓やCDBに倉曎を行う必芁はないし、耇数の環境も簡単に䜜るこずができる。新しいCDBの䞊で、PDBやアプリケヌションが問題なく皌働するこずが確認できれば、本番環境も同様に移し替えお皌働させるこずが可胜になるずいうわけだ。

シンプルな基盀でアップグレヌドもシンプル
同䞀筐䜓内でのアップグレヌドのむメヌゞ
新環境を同䞀環境内で甚意すればunplug/plugでアップグレヌド完了ストレヌゞが別の堎合にはデヌタファむルのコピヌが必芁

マルチテナント・アヌキテクチャぞの移行埌は、パッチ適甚やバヌゞョンアップ、リ゜ヌス管理ずいった、埓来の䞀般的な運甚管理はCDBのレベルで行い、各アプリケヌションに関する開発や管理䜜業はPDBに察しお行うずいった「分割」が可胜になる。それぞれのレベルでの管理䜜業を、明確に分けお行えるようになるこずで、デヌタベヌスの運甚管理スキヌムを、埓来よりも倧幅に簡玠化、省力化できるずいうわけだ。

マルチテナントの応甚䟋ラむフサむクルに応じたDBサヌビスの提䟛

この、CDBずPDBを「分けお」管理できるずいうプラガブル・デヌタベヌスの特長をうたく利甚するこずにより、これたでは難しかった、より高床なデヌタベヌスサヌビスの提䟛が可胜になる。ここでは、システムのラむフサむクルに合わせお倉化する、デヌタベヌスの管理スキヌムを提䟛する䟋を考えおみよう。

䞀般的にITシステムでは、システムごずに求められる芁件があり、その芁件によっお、必芁な「可甚性」「機密性」「バックアップ頻床」などが異なる。たた、その芁件は、時間の経過によっおも倉わっおくる可胜性がある。

䟋えば、圓初郚門レベルで導入し、今埌党瀟芏暡に展開するこずになるシステムや、新たなシステムぞの入れ替えによっお埐々に終息しおいく方向にあるシステムなどでは、そのシステムの皌働に求められる氎準、぀たり「サヌビスレベル」も、時機に応じお倉化するこずになる。

プラガブル・デヌタベヌスのアヌキテクチャをうたく䜿うず、こうした異なるサヌビスレベルが求められる耇数のシステムに、容易に察応するこずが可胜になる。

具䜓的には、クラスタリングによる冗長化や、デヌタ保護機胜、バックアップ頻床などのサヌビスレベルが異なるCDBを耇数䜜っおおき、それぞれのCDBの䞊に、察応するPDBを差し蟌む圢になる。

CDBの蚭蚈ずPDBの移動
運甚䟋PDBはシステム・ラむフサむクルに合わせお移動するこずが可胜

バックアップや運甚監芖などは、蚭定したサヌビスレベルに応じお、各CDBに察しお䞀括で行うこずができる。たた、最倧の利点は、サヌビスレベルを倉曎する堎合にも、PDBを別のCDB䞊に差し替えるだけで䜜業が枈むずいう点だ。CDBずPDBを分離できるこずにより、埓来は難しかったサヌビスレベルの倉曎を、より容易に実珟できる。

さらに、Oracle Database 12cでは、それぞれのPDBが、実際にシステム䞊で利甚したストレヌゞ容量やCPUリ゜ヌスなどに぀いおログを蚘録し、集蚈するこずが可胜になっおいる。この蚘録ず、サヌビスレベルの異なるCDBずを組み合わせお管理すれば、䟋えば「サヌビスレベル」ず「䜿甚リ゜ヌス」に察しお費甚を発生させるような、プラむベヌトクラりド䞊での「DBaaSDatabase as a Service」ぞ発展させおいくこずも可胜になるわけだ。

Oracle Database 12cの「c」は、「Cloud」の頭文字をずったものだずいう。クラりドでの効率的なデヌタサヌビス提䟛を可胜にする「マルチテナント・アヌキテクチャ」が、12cの目玉機胜ずされおいる理由は、そこにある。

運甚管理をさらにシンプルにするDatabase 12cの新機胜

マルチテナント・アヌキテクチャ以倖にも、Oracle Database 12cには、デヌタベヌスの運甚管理を自動化、効率化するためのさたざたな新機胜が搭茉されおいる。ここで、そのいく぀かを玹介しおおこう。

「Advanced Compression」オプションには、デヌタベヌスのストレヌゞ効率ずパフォヌマンスに倧きな圱響を䞎える、デヌタの「圧瞮」や「移動」の䜜業を省力化する機胜が远加されおいる。埓来、管理者が察象ずなるデヌタの利甚頻床やタむミングを芋蚈らっお随時実行しおいた䜜業を、デヌタベヌス偎で自動化しおくれる。管理者は、あらかじめ「90日間曎新がなければ圧瞮」ずいった、デヌタ管理に関するポリシヌを蚭定しおおくだけでいい。その埌は、デヌタの利甚頻床などをデヌタベヌスが自分で刀断し、圧瞮、アヌカむブ、移動などの凊理を実行しおくれる。

Oracle Database 12c の情報ラむフサむクル管理
デヌタベヌスが自動的にデヌタを管理

「Active Data Guard」の新機胜ずしお実装された「Far Sync」は、灜害や障害に備えお遠隔地に構築しおいるバックアップサむトずのデヌタ同期を、本番環境のパフォヌマンスに圱響を䞎えずに行える機胜だ。Active Data Guardでは、スタンバむサむトず盎接デヌタ同期を行うのではなく、より遅延の少ない堎所にトランザクションログのみを同期転送しおおき、遠隔地にあるサむトに察しおは、そのログをもずに時間差でデヌタ同期を行う。この仕組みによっお、䟋えば囜内の遠隔地だけでなく、ネットワヌク遅延の倧きい海倖のデヌタセンタヌなどにも、より容易か぀確実にバックアップサむトを配備するこずが可胜になる。

Oracle Database 12c の高可甚性
灜害・障害からデヌタを守る

マルチテナント・アヌキテクチャだけでなく、Oracle Database 12cのこうした新たな機胜を組み合わせお䜿うこずで、求められるレベルに応じた高床なデヌタサヌビスを、運甚管理の手間やコストを䜎枛させ぀぀、実珟するこずができるのだ。

今回は、マルチテナント・アヌキテクチャをはじめずするOracle Database 12cの新機胜が、䞻にデヌタベヌス運甚管理の方法をどのように倉えるのかに぀いお芋おきた。最終回ずなる次回は、さらに芖点を倉え、マルチテナント・アヌキテクチャによっお「アプリケヌション開発・テスト」の方法が、どう倉わるかに぀いお芋おみよう。