次のページWebアプリケーション開発におけるデータベースの位置づけ昨今のWebアプリケーションにおいて、データベースはごく一般的に用いられ、Webアプリケーションの心臓部を担っている存在であると言っても過言ではありません。今回はWebアプリケーションフレームワークを用いた開発における、データベースの使用方法のトレンドや、Sledgeによる実装方法をご紹介致します。Language)という言語がANSIによって標準規格化され、一般的に利用されています。多かれ少なかれ、依然としてベンダーや製品による差異、また独自に拡張されたSQLが実装されていたりするものも存在しますが、ごく一般的なSQLを利用している限り、利用する側にとっては、対象のデータベースが何という製品かをとりわけ気にすることなく利用できるというメリットがあります。オペレーションする側からのメリットという点だけではなく、Webアプリケーションからデータベースを操作する場合にも、このSQLという言語の存在は多くのメリットをもたらしてくれます。現在稼動中のシステムに対し、コスト面や信頼性等の様々な思惑により「データベース製品を入れ替える」という決定が下されるケースがしばしばあります。SQLを使ってデータベースを操作するアプリケーションが稼動している場合、システム開発者はこの決定に青ざめることなく、データベースの製品に応じたドライバやライブラリ、モジュールの入れ替え、そして若干のコード修正だけで、新しい製品下で稼動するシステムに作り直すことが可能です。「データベース移行」という重大決定に対しても、SQLという言語が標準化されていることによって、SQLを用いている限り移行コストは極少に抑えることが可能です。アプリケーションからデータベースへ接続し、SQLを操作するためのデータベースインターフェースも標準化の傾向があります。開発言語別に、ベンダー提供の「そのデータベース専用のモジュールやライブラリ」というのも存在しますが、これらも「データベース移行」に対しての柔軟性を欠くため、データベースにおける"クロスプラットフォーム"で扱えるデータベースインターフェースが多くの開発言語向けに存在します(表1)。PerlDBIモジュール(http://dbi.perl.org/)JavaJDBC(http://java.sun.com/products/jdbc/)PHPPEARのDBライブラリ(http://pear.php.net/package/DB/)表1:各言語の一般的なDBインターフェースこれらを使用することにより、どのデータベース製品を操作する場合にも共通のプログラムインターフェース(API)が提供されます。インターフェースとは別に、データベース製品ごとのドライバを指定することによって、同じAPIによって各データベースの操作が行なえるので「データベース移行」が発生した際は「ドライバの指定を変更するだけ」で対応可能というケースがほとんどです。高頻度にデータベースへの読み書きが行なわれるアプリケーションの場合、ベンダー提供の、そのデータベース専用のモジュールやライブラリを使用したほうが、パフォーマンス的には若干の優位性があります。今まで述べたような「移行のリスク」だけではなく、開発者がその専用ライブラリ用のAPIを覚えなくてはいけないというデメリットもあるため、やはりクロスプラットフォームに対応したインターフェースを利用するほうが、圧倒的にメリットが多いのではないでしょうか。このようにデータベースを使用するアプリケーションにおいて、データベースの周囲を取り巻く「標準化」志向が、開発者やサービス提供者へ多大なメリットを与えていっていると言っても過言ではありません。公一テクニカルディレクター。専門知識が全く無い中、オープンソースソフトウェアやコミュニティからシステム開発の知識やノウハウを習得し、オープンソースコミュニティにおいて活発に活動を行っている同社に憧れて入社。現在はポータルサイト「livedoor」におけるサービス開発を行う一方、本業の傍ら、お世話になっているオープンソースコミュニティへのコントリビューションも行なっている。この記事の評価をお聞かせくださいボタンをクリックしますとウインドウが開きます。