プロフェッショナルが語る
データベース開発の「カイゼン」テクニック
〜 @IT編集部主催 データベース勉強会レポート 〜
基調講演では最新情報だけでなく現場のノウハウの共有が
勉強会は、富士通ソーシアルサイエンスラボラトリ福岡寿和氏による「データベース開発の品質向上と生産性はどう向上できるのか」をテーマとした基調講演から始まった。
富士通ソーシアルサイエンスラボラトリ 福岡寿和氏 |
氏が所属する富士通ソーシアルサイエンスラボラトリは、富士通グループの一員として、基盤ソフトからアプリケーションまで、ソフトウェア開発およびコンピュータシステム構築などを中心に事業展開を行っている。特に基幹系システムなどの構築では流通業や製造業、通信業、公共機関など数多くの実績があり、それらの経験からも市場における競争力は高く評価されている。
福岡氏自身は10年以上にわたりVisual Basicや.NET Framework環境での開発経験があり、Windows上の開発環境に精通している。マイクロソフトは福岡氏の実績を評価し、Microsoft Most Valuable Professional(MVP)に認定している。また、Oracle Databaseを使ったシステム構築経験も豊富で、オラクルからも日本で3人目のOracle ACEとしての認定も受けている。
データベース製品のエディション選定は
より賢くスマートにすべき
福岡氏はまず、システムに必要な製品選定を行う際によくある問題を挙げた。氏によると、例えばOracle Databaseであれば、最上位のEnterprise Editionが必ずしも必要でないシステムあっても、あまり深い検討なしにEnterprise Editionを選択しようとするユーザーが多い、という。
「実際の日本のIT市場環境を考えると、最も使われるべきはStandard Editionのはずだが、現実は得てしてEnterprise Editionの購入を検討するパターンが多い」のだそうだ。「Standard Editionと聞くと、どうしても『機能限定版』という印象があるため、不安を覚える方が多い」というが、実際にはOracle Databaseには、Standard Editionでも必要十分な機能が搭載されている。
高い可用性が求められるシステムであっても、「Standard EditionであってもReal Application Clusters(SE RAC)を選択すれば、十分な高可用性を持ったシステムを構築できる」というのが福岡氏の意見だ。
Oracle Database 11gでは
管理運用面でのメリットが大きい
また、福岡氏によれば「Oracle Databaseの場合、RDBMSとしての機能そのものはOracle Database 10gで一定の完成をみた」という。では、11gにバージョンアップして何が変わったのだろうか。福岡氏はOracle Database 11gに対して、「運用面でのユーザビリティ向上が最も大きなアップデート」だと評価した。
8、9iのときに比べると
はるかに進化した管理機能
従来、Oracle Databaseが提供する運用・管理機能は貧弱といわれ、効率的な運用のためにはサードパーティの運用管理ツールを購入するケースが多かった。そのための予算が運良く確保できた場合にはいいが、そうでない場合には、データベース管理者がコンソールでコマンドをたたいてパフォーマンスに関係するトレースファイルを取得するなど、スキルと労力が必要だった。「8、9iなどの古いバージョンでは、こうした運用にかかわる人的コストもばかにできない」と福岡氏。
下のグラフは、今回のセミナー来場者を対象にしたアンケートの結果である。「実際に使っているRDBMS製品は?」という質問に対し、Oracle Database 10gが多数を占める結果となっている。
福岡氏によると、「すでにOracle Databaseを使っているのであれば、11gに切り替えないのは大変な損失」だという。なぜならば、「11gを使うことで運用管理関連の新機能を利用でき、パフォーマンスが落ちたと見られる場面でもボトルネックをGUI操作ですぐに発見できる。仮にオラクルの製品サポート窓口への問い合わせが必要な状況になっても、サポートから要求される設定ファイルやログファイルなどを自動的に収集してアーカイブにしてくれる」ため、正常運用時でも何らかのトラブルに遭遇した場面でも、人的コストの大幅な削減が見込めるからだ。
Oracle Database 11gでは、問題が発生した際には、オラクルのサポート窓口への問い合わせ時に必要なトレースファイル一式のほか、問題となったSQL文そのものも自動的にアーカイブされるようになっており、ユーザー側でトレースファイルを調べて抽出するような手間が一切不要になっている。だからこそ、福岡氏は「8や9iしか知らない人はぜひとも11gの管理機能に触れてほしい」と語る。「この運用管理機能を理解することで、機能面だけではない、運用を踏まえたよりいっそうよい提案を顧客に提示できるようになり、他社との差別化を図るうえで重要なポイントとなりうる」とした。
.NETアプリケーション開発者への
オラクルの「本気度」
オラクルが提供するVisual Studio用の接続コンポーネント「Oracle Data Provider for .NET (以下、ODP.NET)」を使った開発手法についてのアップデートも忘れてはならない。
通常、Visual Basic .NETやC#を使って、Oracle Databaseへ接続するWindowsアプリケーションを開発する場合には、この「ODP.NET」を利用する。以前はオラクル独自の画面を使ってODP.NETの設定をしていたが、バージョン11.1(Oracle Database 11g用)からは、ユーザーインターフェイスもVisual Studioの「サーバエクスプローラ」に統合され、.NET開発者には慣れた操作感で利用できるようになっている。
「この点は小さな変化に見えるかもしれないが、オラクル社内の開発陣の.NET環境に対する意気込みが伝わるよい例」だ。Oracle Developer Tools for Visual Studio .NET(ODT.NET)を使ってOracle Databaseに接続する場合も、開発者はVisual Studio上からシームレスにデータベースを選択して開発できるようになっている。この点を見ても、「オラクルの開発チームが本気でVisual Studioを使う開発者を支援し始めている」ことが分かるだろう。
同様に、Oracle.DataAccessクラスライブラリはADO.NETを使った場合のクラスライブラリと全く同じ構成になっており、例えば.NETクラスライブラリでの「DataAdapter」に対応するものが「Oracle.DataAdapter」という名前で提供されているなど、違和感なくコーディングできるように細かなところまで合わせている様子がうかがえる。
データアクセスの方法が.NET Frameworkの標準的な方法と合致したことで、Oracle特有のSQL文の方言やパラメータ変数の命名法の違いなどはあるにせよ、Microsoft SQL Serverを使ったアプリケーション開発の経験があれば、難なくOracle Databaseのアプリケーションを構築できる。
このほか会場では、福岡氏の経験に基づく実際のコーディングでの細かな注意点が詳細にわたって紹介された。Parameterオブジェクトを使ってSQLインジェクションを回避する手法などは、豊富な経験のある福岡氏ならではの情報といえるだろう。
3人のプロが語るデータベース開発の「カイゼン」
ブレインハーツ 取締役 谷川耕一氏 |
続くパネルディスカッションは、富士通ソーシアルサイエンスラボラトリ 福岡寿和氏に加え、.Net ユーザーエクスペリエンス研究所・わんくま同盟のえムナウ(児玉宏之)氏、日本オラクル 伊東裕揮氏を迎え、ブレインハーツ 取締役 谷川耕一氏をモデレータに進められた。
最短の納期、
目の肥えた顧客
中規模なシステム開発案件を中心に携わっている福岡氏は、最近の顧客ニーズの全体傾向として「『IT予算の効率的投資』という名目でシステムリソースの効率化がはかられるケースや、既存のインフラを生かしつつ追加機能を短期間で構築してほしい、というケースが増えている」と指摘した。実際に福岡氏は「受注から納品までを1カ月でこなす」案件も経験したという。
また、一方で「導入前の時点でも、コストについては開発だけでなく運用時のコストを含むさまざまな面で厳しくチェックされることが多い」と、顧客の目がコストに対して非常に厳しくなっている点も付け加えた。しかしその一方で、「他社との差別化に必要な投資であれば積極的な場合が多い」という。このため、システム開発者は「いっそうしっかりとお客様にとってのメリットを見据えた提案をする必要に迫られている」とした。
一方のえムナウ氏は、フリーランスでさまざまな開発案件に携わるエンジニアだ。担当案件は小規模なものが中心だという。児玉氏も福岡氏と同様に、短期間で低コストの開発を求められているという。
.Netユーザーエクスペリエンス研究所・
わんくま同盟 えムナウ(児玉宏之)氏 |
短期開発要求の高まりに対応すべく、えムナウ氏は独自フレームワークの利用や、部品化を進めるなどの対策を取り、福岡氏は、ビジネスロジック層とデータベース層の切り分けや、部品化・使用ライブラリの制限などの対策をとっている。
とりわけ福岡氏のアプローチはユニークで、部品の再利用化だけでなくテスト工数削減のためにも、開発者が覚えなければならないライブラリなどの数を減らし、「書かなければならないコードの総量を減らす」という方針をとっている。
フレームワークが増えれば再利用の度合いは増すが、その分、開発者が事前に知っておかなければならないライブラリの数も増える。この相反する条件のバランスをいかにとれるかが、短期開発を実現するキーポイントであると言えよう。
また、短期開発をこなす一方で、製品や技術の情報収集は欠かさず日々努力を重ねているという。顧客への提案に際しては、満足度の高い提案ができるように、無償版などを使って文字通り「手を動かして」把握、日々努力しているという。例えば、Oracle DatabaseならExpress Editionのような無償版も用意されている。まずは「自らダウンロードしてさまざまな機能を理解しておくことが、顧客満足度の高い提案に結びつく」のだという。
製品選定時こそ、
システムのメンテナンス性とスケーラビリティに着目すべき
富士通ソーシアルサイエンスラボラトリ 福岡寿和氏 |
福岡氏は「本質的には、システムを提案する立場から言えば、データベースは何でもいいと考えている」と切り出した。「それぞれに特徴があり、得意不得意がありますから、お客様にそれを理解していただく」だけだという。
オープンソース・データベース、SQL Server、Oracle Databaseは、それぞれに特徴がある。いずれを選択するにせよ、この先メンテナンスし続けられるのか、システムをスケールできるのか、をあらかじめしっかり顧客に考えさせるべきだとした。
オープンソース・データベースはソースが開示されているといっても、実際には誰しもが簡単にバグを直せるわけではない。また、開発が活発なコミュニティになればなるほど、バージョンアップの頻度も高い。オープンソースを利用する場合には、本番環境を常に最新版にアップデートし続けられるだけの運用体制が必要になってくる。
WindowsサーバにSQL Serverを組み合わせてシステムを構成するのもいいだろう。マイクロソフトの製品群だけで統一できる半面、SQL Serverを使う限り、必然的にOSはWindowsに限定される。Oracle Databaseであれば、今後会社の成長に伴ってシステムを増強する機会が出てきたとしても、OSにこだわらずに使い続けることが可能だ。
OTN Japanでも
.NET系開発者支援が強化される
日本オラクル 伊東裕揮氏 |
また、伊東氏は、Oracle技術者向けのコミュニティサイト「Oracle Technology Network(OTN) Japan」を運営する立場から「Oracle DatabaseではStandard EditionやStandard Edition Oneなど、中小規模向けの製品に興味をもつユーザーが増加傾向」にあり、それに伴い「.NET系の開発環境をメインとするエンジニアが増加している」とした。
OTN Japan内のコンテンツは、従来Enterprise Editionやクラスタリング技術などをはじめとする大規模なシステム開発向けの情報が多かったが、今後は「.NET Framework+Oracle Databaseの組み合わせによる中小規模開発向けのコンテンツにも力を入れていきたい」と、SQL Serverからの移行ユーザーや.NET系開発者への支援を強化する方針を語った。また、「今後はWikiのようなインフラを用意し、Oracle ACE取得者の講演資料などをユーザーの皆さんとシェアする場を設けるなど、さらに会員との距離を縮める試みを進めたい」とも語り、今後、OTN Japanから現場レベルで蓄積されるノウハウを共有するインフラが提供される可能性を示唆した。
パネルディスカッションでは、このほかにも普段聞けないプロの意見やOTN Japanならではの情報が紹介された。会場で印象的だったのが、来場者がしきりにメモを取りながら聴講していたことだ。すぐさま業務に生かせる有効な情報が多かったということだろう。
セミナー後の懇親会ではスピーカー各氏を交え、さらに活発な情報交換が行われた。開発現場の最先端で活躍する福岡氏をはじめ、各分野のプロと間近で意見交換できる貴重な時間となったのではないだろうか。
提供:日本オラクル株式会社
企画:アイティメディア 営業本部
制作:@IT 編集部
掲載内容有効期限:2008年12月31日
Database News5/29 19:34 更新
参考リンク |
|