「あの製品なら昔使ったから知っている」と本当に言い切れる?
いまさら人に聞けない
最新Windowsデータベース開発事情と
新常識
現場主義のWindowsエキスパートが考える、データベース開発の今
富士通ソーシアルサイエンスラボラトリ
第二産業流通ビジネス本部 第一システム部 主幹エキスパート 福岡寿和氏 |
Windows上のデータベースアプリケーション開発に精通し、数々の書籍も執筆されている、富士通ソーシアルサイエンスラボラトリ 第二産業流通ビジネス本部 第一システム部 主幹エキスパートの福岡寿和氏(写真)。マイクロソフト社よりMicrosoft Most Valuable Professional (MVP)として認定されている同氏に、Windowsシステムの開発とりわけデータベースアプリケーション開発の最新事情についてお話を伺った。
氏が所属される富士通ソーシアルサイエンスラボラトリは、富士通グループの一員として、基盤ソフトからアプリケーションまで、ソフトウェア開発およびコンピュータシステム構築などを中心に事業展開を行っている。特に基幹系システムなどの構築では流通業や製造業、通信業、公共機関など数多くの実績があり、それらの経験からも市場における競争力は高く評価されている。
いまだけでなく、システムの将来を考えること
同社の特長の1つは、ベンダーニュートラルで顧客に最適なシステムを提案できるところだ。例えば、データベースの製品にはこだわっていないとのこと。現状のシステム環境や顧客のビジネスの将来性などを考慮し、顧客に最適なものを提案している。
「将来的に顧客企業が事業を拡大する可能性がある場合には、Oracle Databaseを薦めます」(福岡氏)
ベンダーニュートラルである同社が、あえて顧客にOracle Databaseを薦めるのは顧客のビジネスに拡大の可能性があり、システムが将来的に拡張し変化する可能性がある場合だ。ビジネスが拡張すれば、将来的には別プラットホームに移行するかもしれない。その際に選択肢が広いのがOracleの特長であり、将来性を考慮した場合に技術者として安心して薦められるのがOracle Databaseだという。
Windowsを主体とした環境で安定稼働しているシステムであっても、「このままでいいのか」と不安に思う顧客からの相談を受けることが多いという。現在稼働しているものが将来的にスケールできるシステムであるのかといった疑問を持っていたり、あるいはWindows環境だからという理由でSQL Serverを選択したが、LinuxやOracleなどへの切り替えを検討すべきでは、と考えている顧客もいる。
ただし、いざ移行するとなると、慣れ親しんだWindowsの世界から抜け出すのに躊躇する場合が多いという。Oracleに乗り換えることで、これまでの経験がまったく通用しなくなるのではないかという、漠然とした不安を持つ顧客もある。
こうした顧客の疑問や不安に対し、福岡氏は常に「少なくともWindows環境ならば、Oracle Databaseを新たに採用しても、なんら不安に思う必要はない」と説明する。
「たしかに以前はOracle独自の世界があり、よく知らない人には敷居は高かったかもしれません。しかし、Oracle Database 10gのリリース2が出てからは、Windowsのほかのソフトウェアと同じ感覚でインストールし利用できるようになっています」(福岡氏)
過去のOracleはたしかに大変だった。
でも今は状況がまったく違う
福岡氏はまた、「Oracle 7や8などの古いバージョンを知っている人が、Oracleは手間がかかると思いこんでいる場合も多い」と指摘する。過去にOracle 7などを利用して苦労したエンジニアが、今では情報システム部の管理者などの立場となっていることも多い。そういった立場の人たちは、新機能などでOracle Databaseが進化していることまでは理解している。しかし、いまだにインストールの際にはinit.oraなどの設定ファイルを手で記述しなければならないであるとか、チューニングには特別なスキルを要求されるといった、かつての苦労した経験だけがイメージとして残っている、というのだ。
実際には、これら当時苦労した点のほとんどは、Oracle Database 10gや11gではほぼ自動化されており、苦労することはない。インストールなどは、操作することが少なすぎて、昔を知っている人があの設定は必要ないのか、この設定ファイルは記述しなくていいのかと逆に不安になるくらいだという。
かつてのOracleでは、ユーザー側が注意深く手順を踏み、正確に実施しないとうまく動作しない部分もあったが、今では気軽にインストールしてもほとんど問題は起こらない。
同様に、以前は問題が発生すると後戻りできない不便さがあったが、現在はどの時点からでも後戻りできる。また、アンインストールなどでも特殊な手順は必要なくなっている。ここ最近のこのようなOracleの対応は、OracleのWindows環境への取り組みの本気さをひしひしと感じさせるところだと、福岡氏は語る。
また、「Oracle Databaseのマニュアルが、すべて無償で入手できるということすら知らない人も大勢います」とのこと。Oracle Databaseに関する情報は、この無償のマニュアルを始め、Oracle Technology Network(OTN)サイトなどに豊富にある。
かつて有償マニュアルを購入していた顧客に、すべてのマニュアルが無償で手に入ることを伝えるだけでも驚かれるとともに、急にOracle導入に積極的になることもあるという。
低予算でも十分に要件を満たす
Standard Edition Oneなどのラインナップ
Oracleは高価だと思っている人も多いが、実際にはStandard Edition(SE)やStandard Edition One(SE One)といったエディションを選択すれば、他社製品と比べても決して高価ではない(「Windows環境のデータベース選びを見直してみよう」参照)。廉価なエディションだからといって、本来の機能や性能が得られないわけではない。Oracleでは、どのエディションを選択しても、基本的なデータベースのエンジン部分はすべて共通だ。
例えば、EEだけではなく、SEでもReal Application Clusters(RAC)を利用できる。RACについては、Enterprise Edition(EE)での運用と結び付けて考えがちだが、福岡氏の経験では、実際に顧客の要求をきちんと分析してみると、SE RACで十分に対応できる場合が多いという(「WindowsマシンとVMwareで“お試し”できるクラスタリング・システム構築」参照)。
「Oracle Databaseは、いい方向に裏切られることが多く、あらためてその機能の充実に驚かされる」と福岡氏。きちんと顧客要求を分析すると、SEやSE Oneで十分に対処できる場合もあるのだ。もちろんEEにあってSE Oneで利用できない機能はあるが、運用の仕組みなどにちょっと手間をかければ同等のことができる。
エディションごとにどの機能が使える/使えないという情報だけでなく、下位のエディションでもここまではでき、それを手間なく高度に実現するには、上位のエディションのこの機能をこう活用すべきだといった、具体的な構築や運用に一歩踏み込んだ情報提供をオラクルにも期待したいとのことだ。
開発環境も遜色ない
システム開発の環境として、すでにVisual Basicや.NET、C#などMicrosoftの開発環境に慣れているエンジニアの場合、Oracleを使った開発は敷居が高いと感じているかもしれない。しかし、福岡氏によると、データベースがSQL ServerからOracleに変わっても、現在はほとんど苦労しないだろうとのこと。
WindowsクライアントからOracle Databaseに接続するためのソフトウェアとして、ODAC(Oracle Data Access Components)が用意されている。これを利用すれば、Microsoftが提供するSQL Serverへの接続コンポーネントであるMDAC(Microsoft Data Access Components)とほぼ同じイメージでクライアント開発が行える。
「標準的なSQLだけを利用するように注意していれば、Oracleへの接続設定とクラスライブラリ、名前空間の部分だけを書き換えれば、MDACで作ったプログラムをほぼそのままODACでも利用できます。実際、ADO.NETでもODP.NETでも、開発する上では大きな違いはありません」(福岡氏)
ADO.NETやODP.NETを使ってデータベースにアクセスする際のプログラムコードは、文法的にはほぼ同じだ。むろん、細かいところでの若干の違いはあるが、開発するうえで大きな問題となるレベルの違いではない。実際に使ってみて両方に慣れると、ごく僅かな違いが気にかかるようになるほど、似通っているのだという。
データベースの監査・認証機能を活用したければ
Oracle Databaseを選べ
福岡氏は、ユーザー管理の面を考えるとWindows環境であってもOracleの優位性がかなり高いという。その理由は、OSに依存しないOracleの厳密なアクセスコントロールにある。
他データベース製品では、アクセスコントロールをOS側に依存している場合が多い。この仕組みでは、データベースだけを利用するユーザーについても、Windowsユーザーとしてのアカウントを作成しなければならない。大勢のユーザーがアクセスするアプリケーションを考えたときに、この仕組みでは管理が極めて煩雑になる。これを回避するために、例えば共有のデータベースユーザーアカウントを設定しそれを利用することもあるだろう。しかし、共有アカウントでは、内部統制の確保は難しい。しっかりとした職務分掌を行って監査に対応するのは到底困難だ。
また、これらの問題に対応する機能をアプリケーション側に独自に実装することも不可能ではないが、都度本質的ではない実装を追加することになり、セキュリティホールとなるリスクを持つことになる。最初からOracle Databaseを選んでおけば、このように苦労することはない。
Oracle Databaseはバージョンが上がるごとに、大きく進化を遂げている。しかしながら、その本質的な便利さの部分は、なかなか現場技術者には伝わりにくい。福岡氏は、一度でも新しいOracle Database 11gに直接触れ、経験する機会があれば、Oracle Databaseに抱いている漠然とした不安や古い知識から生まれる誤解を、ほとんど払拭できるはずだという。
実際に日常的に運用をする際にどんなに簡便で便利なものになっているか、構築面で楽に開発できる環境があることを、とくに過去のOracle Databaseに触れた経験のある方に体感してほしい。
提供:日本オラクル株式会社
企画:アイティメディア 営業本部
制作:@IT 編集部
掲載内容有効期限:2008年8月31日
Database News5/29 19:34 更新
参考リンク |
|