アットマーク・アイティ @IT@IT情報マネジメント@IT自分戦略研究所QA@ITイベントカレンダー  
 
 @IT > 知っていましたか? こんなにあるOracle on Windowsのメリット
 
@IT Special

 

PR

ワンランク上のデータベースをWindows環境でも実現
知っていましたか?
こんなにあるOracle on Windowsのメリット

 Oracleは1993年にWindows NTに対応して以来、Windowsの最新OSにいち早く対応してきた。例えば、OracleがWindows OSの最新バージョンであるWindows Vista対応を開始したのは2007年2月15日からだが、これはMicrosoft SQL Server 2005のVista対応の発表よりも5日早かった。データベースに注力しているベンダであるオラクル社だからこそ、新しいOSが出るとタイムリーに対応できているのである。

Oracleは難しくない 
自動管理機能と豊富な開発環境

 一般的にOracleのイメージは、「高機能だが管理が難しそう」というものではないだろうか。しかし、それは誤解だ。米国の調査会社EDISON Groupのリサーチによれば、「Oracleの方が38%短い時間で管理できる」という結果が出ている。これは、「Oracle Database 10g Release 2」と「Microsoft SQL Server 2005」という最新のデータベース同士で管理コストを比較したものだ。この調査では、データベース管理者が一般的に行うバックアップやチューニングなどの作業ステップ数調査でも、「Oracleの方が30%少ない操作で管理できる」という結果となっており、管理コストはOracleの方が低いと結論づけている。つまり、この調査結果は、Oracleの管理は複雑で手間のかかるものというイメージを、客観的な数値によって払拭するものとなっている。その優れた管理性を実現しているのが、Oracle Database 10gの自動管理機能だ。

 この比較調査では「パフォーマンス診断とチューニング」「日常的な管理」「バックアップとリカバリ」「インストールと初期セットアップ」「管理ツール」といった評価項目があるが、違いが顕著だったのは「パフォーマンス診断とチューニング」および「バックアップとリカバリ」の2項目だ。データベースのチューニングは特に管理負荷の高い作業だが、Oracleの備えているパフォーマンス診断機能であるAutomatic Database Diagnostic Monitor(ADDM)やチューニング機能であるSQL Tuning Advisorにより、74%の時間短縮と38%の複雑さ軽減を実現するとの結果が出ている。さらに、データベースの自動チューニングだけでなく、Oracleのアプリケーションサーバと組み合わせることでアプリケーションからデータベースまで一貫したチューニングが行えるのも特徴だ。また、バックアップとリカバリは62%の時間短縮と67%の複雑さ軽減という結果となっているが、それを実現するのが人的エラーからのリカバリを可能にするフラッシュバック機能だ。

図1 Oracle Database 10gの自動管理機能

 もちろん、管理性に優れていても開発環境が整っていなければデータベースとして採用することはできない。Oracleの開発環境はJavaやC/C++、COBOL、VB、PHPといった開発環境をサポートしているが、.NETの開発環境も充実している。ADO.NETでは高速アクセスを実現するOracleネイティブなドライバやオブジェクト型などOracle固有の機能をサポートしている。開発ツールはVS.NETと統合されたアドインが提供され、Windowsアプリケーション開発者は容易にOracleへアクセスできる。既存のアプリケーションを利用するなど従来の開発環境を利用したい場合もあるだろうが、ドライバは古い開発環境から最新のものまですべて備えており、アプリケーションの実行環境としてストアドプロシージャをサポートすることにより、すべてのアプリケーションを.NETを通して開発することが可能だ。

Standard Editionでも
高度なクラスタリングが可能

 従来は大企業で重視されていた可用性、セキュリティ、国際化(Unicode対応)といった機能が、昨今はSMB(Small and Medium Business)市場でも重要視されるようになってきた。OracleをWindows環境で利用する場合、これらの機能についても優位性がある。まず、可用性を高めるクラスタリングの機能について紹介しよう。

 業務のIT依存度が高まるにつれ、システムダウンがビジネスに直結するようになってきた。そのため、耐障害性を高めシステムのダウンタイムをできるだけ少なくすることが不可欠な要件となっている。 そこで必要になってきたのが、サーバを二重化するクラスタリングの機能だ。従来多く採用されてきたのは、稼働しているサーバの他に予備のサーバをスタンバイさせておき、もし障害が発生したらそちらに処理を切り替えるという仕組みで、これはアクティブ/スタンバイ型のクラスタリング(HAクラスタリング構成)と呼ばれる。これにより耐障害性が上がるが、どれだけコストをかけてでも二重化が必要というケースならばともかく、通常は使用していないサーバがあるのはもったいないと考えるものだ。

 そこで、2つのサーバをどちらも稼働させ、片方に障害が発生してももう片方で処理を引き継ぐという方式が登場した。アクティブ/アクティブ型のクラスタシステムだ。これは、障害時に処理を引き継ぐフェイルオーバーの際も、まずシステムを起動してから処理を引き継ぐアクティブ/スタンバイ型より高速に切り替わりさらに可用性が高まるというメリットもある。Oracleでは、このアクティブ/アクティブ型のクラスタシステムを採用している。それが、「Oracle Real Application Clusters(Oracle RAC)」だ。このOracle RACの機能はStandard Editionでも利用できる。それが、「Oracle Real Application Clusters for Standard Edition(SE RAC)」である。

 クラスタリングのためには、別売のソフトウェアを購入する必要があったり上位バージョンのみにバンドルしているケースが多いが、Oracleの場合はStandard Editionであってもクラスタウェアがバンドルされている。このため、低価格でクラスタ構成を構築でき、ワンランク上の可用性が実現できる。例えば、SE RACならばWindows OSのStandard Editionでも構築できるが、Microsoft Cluster Serviceを利用してクラスタリングする製品の場合にはWindows OSのEnterprise Editionが必要となるので、SE RACと比較するとコストの面でかなりの差がでることになる。また、各ベンダからサーバのハードウェアやストレージから構築までをパッケージにしたサービスを提供されているので、機器選定や設計・構築などを担当する部門が手薄な中小規模の企業などはそれを選択するのも便利だろう。

【参考】
SE RACについては以下のページもあわせてご参照ください

Oracle Real Application Clusters for Standard Edition


アプリケーションを変更せず
データベース側で暗号化

 個人情報保護や情報漏えい対策などが話題になっており、セキュリティに対する関心は高まっているものの、これまではデータベースではデータの暗号化があまり行われてこなかった。その理由の1つは、アプリケーションの開発に余計な手間がかかるというものだ。データを暗号化するには、大きく分けて2つの方法がある。1つはデータを送信する前にクライアントで暗号化するという方法だ。ただしこれはWebアプリケーションに対応しづらく、アプリケーションを変更する際にはクライアント側の暗号化ソフトウェアも作り直さなければいけないという面倒がある。

 もう1つの方法はデータベースのストアドプロシージャを使って暗号化するという方法で、Oracleも従来はこの方法を採用していた。これは、アプリケーションとデータベースの間に暗号化ソフトウェアを挟んで、insert、update、selectといったすべての処理をする際にその暗号化ソフトウェアを経由するというものだ。この場合は、データベースとアプリの間に暗号化という処理を追加したアプリケーション開発が必要となる。そして、暗号化は負荷の高い処理であるうえ、この暗号化ソフトウェアを呼び出すというオーバーヘッドも必要なため、アプリケーションのパフォーマンスが落ちるというのも、暗号化が敬遠されてきた理由の1つだ。

 これらアプリケーション開発とパフォーマンスの問題を解決するのが、Oracle Database 10g Release 2の新機能である「Oracle Transparent Data Encryption」である。これは、SQLでデータを格納する際にデータベースのカーネル部分で暗号化を行うという自動暗号化の機能だ。そのためアプリケーションを一切変更せずに暗号化を実装することが可能となる。表を定義する際に列単位で暗号化を設定するが、その個別の暗号化キーをデータベースのデータディクショナリで管理し、そのデータディクショナリを暗号化するマスターキーは、Oracle Walletという別ソフトウェアで管理する。このような二重管理の仕組みにより、高いセキュリティを確保している。また、データベースで自動的に暗号化するので、アプリケーションの変更は不要だ。カーネルレベルでの実装なので処理が効率化されており、処理負荷の高い暗号化をデータベース側で行うことでアプリケーションのパフォーマンスを向上させるという効果もある。

図2 Oracle Transparent Data Encryptionの機能と特徴

 さらに、OracleはISO/IEC 15408などさまざまな国際セキュリティ評価認証を取得しており、平成18年度から施行されている情報基盤強化税制の対象になっており、減税措置を受けることができる。情報基盤強化税制はデータベースが対象であれば、データベースと同時設置されるアプリケーションソフトウェアも減税対象となり効果が大きい。是非確認をしておきたい。

【参考】
情報基盤強化税制とOracleの関係については以下のページもあわせてご参照ください

情報基盤強化税制を積極的に活用しよう!!


今後不可欠になる
データベースのUnicode対応

 日本企業でも国際化が進んでいるが、特に増えているのが中国進出にともない日本語と中国語を1つのデータベースで管理したいというニーズだ。日本語と中国語と英語を1つのデータベースで扱いたいという場合、必須となるのがUnicodeのサポートである。

 また、特にWindowsユーザーにとっては、Windows Vistaで採用されているJISの新しい標準JIS X 0213:2004が採用されていることから、データベースでもUnicode対応が必須となる。JIS X 0213:2004は第3水準や第4水準の漢字が追加されているが、これらの文字コードを格納および処理するためにはUnicode 3.2以降のサポートが不可欠となるのである。つまり、特に人事系のデータベースなどで第3、第4水準の文字を使う場合は、Unicodeに対応していないと、Windows VistaのクライアントPCで入力できても実際にはデータを格納できないという事態に陥る。

 Oracleは内部での出荷前テストもUnicodeで行うなど、Unicodeでパフォーマンスが出るようにチューニングされている。10g以降のバージョンでは、Unicode 3.2をサポートしている。データベースキャラクタセットとしてサポートしていることも大きな特徴だ。Unicodeへの対応は各国語キャラクタセットで対応というデータベースもあるが、その場合Unicodeで格納はできるが言語処理はシフトJISで行う。このため、条件付き検索の際に意図しない結果がでることがあるという致命的な欠点がある。

キャラクタセット各国語キャラクタセット
Oracleのバージョン
9.2.0
10.1.0
10.2.0
 UTF8
Unicode 3.0
 AL32UTF8
Unicode 3.1
Unicode 3.2
Unicode 4.0
表1 OracleのUnicode対応状況

 オープンシステムの利用が広がり、Windows環境でも可用性やセキュリティ、国際化への対応といったことが求められるようになってきた。Oracleの機能を利用すれば、低コストでスマートなシステムを構築できる。そしてOracleが難しいというのは誤解であるということも、もう一度強調しておきたい。

【参考】
Oracle on Windowsの最新情報は以下のページをご参照ください

Oracle on Windows


提供:日本オラクル株式会社
企画:アイティメディア 営業局
制作:@IT編集部
掲載内容有効期限:2007年5月31日
 


関連リンク
日本オラクル

ITmedia エンタープライズ Special
「プロダクト・ビューから、ソリューション・ビューへ」――日本オラクルの変革

オラクルとパートナーのテクノロジーを融合するOracle GRID Center

ITmedia エンタープライズ 関連記事
オラクルデータベースの新潮流(全12回)

えっ!こんなところにオラクルが?生活に密着した身近なシーンで活躍するOracle DB

あの写真サイトも、あのオンラインゲームも実は……!データベースはマルチメディアコンテンツにピッタリ

ファイルサーバは危険でいっぱい──セキュアな新世代DBとは?

オラクルの組み込みデータベース戦略――Database Solution Daysリポート

Oracle BI Day──データの「見える化」実現を目指す日本オラクル

重厚長大なデータウェアハウスから全体最適化されたBI基盤へ

Windows上でもデファクトを目指すOracle DB

Oracle GRIDの導入はベンダーロックインにつながるか?

データベースもメモリに読み書き――インメモリDBという選択肢

データベース管理者こそがセキュリティホール?

Oracle GRID Center――インフラ検証からソリューションの提案へ

追加コストはホントに必要?――Oracle DBだけでILM


@IT 関連記事
.NETユーザー必見! Oracle 10gのお作法(連載中)

Oracleパーティショニング実践講座(全5回)

Oracleバックアップ/リカバリ講座(全13回)

SQLクリニック(全12回)

Oracle SQLチューニング講座(全13回)

Oracleパフォーマンス障害の克服(全8回)

Excel‐Oracle連携(全4回)

日本版SOX法時代のOracleセキュリティ(全2回)

データベースセキュリティの基礎のキソ(全6回)



 
@ITトップ@IT Special インデックス会議室利用規約プライバシーポリシーサイトマップ