低コストでスケールするWebシステムを

@IT編集者が選ぶ2008年必読記事:「Database Expert」編

2009/01/06

 基幹業務システムの要で、最近ではクラウド・コンピューティングにも用途が広がっているデータベース。今回の「@IT編集者が選ぶ2008年必読記事」ではデータベースを中心にインフラ技術の詳しい解説記事を掲載するDatabase Expertフォーラムを取り上げます。

低コストでスケールするWebシステム

 Facebookが事例を公表したことをきっかけに、低価格ハードウェアとOSSを組み合わせて大規模なWebシステムを構築する方法が話題となりました。データベースそのもののパフォーマンス向上はもちろんですが、データベースを含め、Webサーバやネットワークなど、いわゆる「インフラ」全体を通していかにパフォーマンスを向上させるかが話題の中心となっています。

 Database Expertフォーラムでは、PostgreSQLに対してのクエリの結果をmemcachedで管理する方法を解説する「memcached+PostgreSQLで実現するハイパフォーマンスWebアプリケーション構築」を掲載しました。memcachedはMySQLと組み合わせた事例が多く紹介されていますが、PostgreSQLでも同様に使うことができます。PHPプログラムでの実装方法も紹介していますので、ぜひ参考にしてみてください。

 memcachedのキャッシュデーモンは、オブジェクトとしてメモリ空間にデータを保存するため、クエリ結果のキャッシュとして使う以外にも、静的オブジェクトの複数インスタンス間での共有といった用途にも適しています。memcachedを使うことで比較的低コストのシステムであっても効率よくスケールさせることができるのが注目される理由です。memcachedを使って構築するシステムは、クラウド的な複数ノードで分散処理を行う場面で重宝します。

 MySQLをベースとした別プロジェクトとして話題になった「Drizzle」は、RDBMSとしてのMySQLが提供する数多くの機能のほとんどを本体では実装しません。その代わり、Apacheモジュールのように、さまざまな機能を利用者側が選択して追加していくことができるようにしようと考えています。現在開発中とのことですので、引き続き注目したいトピックです。Drizzleの概要は「Drizzleプロジェクトの目指すもの、その先を読む」が詳しく伝えています。

 また、開発側のアプローチとしては、アジャイル開発の手法に即したデータベースリソースの管理方法として「Jiemamy」というプロジェクトを「データベースもアジャイル開発に対応したい!」で、紹介しました。紹介時点ではプロトタイプでしたが、そのコンセプトからは学ぶべき物も多かったのではないかと思います。

SQL Server 2008登場

 「Windows Server 2008」に続いて、2008年は「Microsoft SQL Server 2008」も登場しました。SQL Server 2008では、データウェアハウス向けの機能、レポーティング機能などが強化されています。

 フォーラムでは、「一気に分かるSQL Server 2008 新機能」と題して、導入を検討している読者と、開発者・運用者のそれぞれに対して、どこがどう変わったかを紹介しています。導入を検討している方はぜひ一度目を通してみてください。

 また、.NET Framework 3.5では、「統合言語クエリ」としてLINQが登場しています。C#などのプログラミング言語から、ADO.NETやXMLデータソースへの透過的アクセスが可能なほか、RDB全般に対してもO/Rマッピングしてくれる強力な機能です。むろんSQL ServerへのデータアクセスもLINQを経由して行えます。

レガシーDBをいまどきのWebアプリに作り替える

 蓄積されたデータ資産の置き換えも2008年に注目された話題の1つでしょう。イントラシステムの刷新・統廃合に合わせ、旧来のシステムを、いかに少ない労力で刷新するかが課題となりました。業務データ統合などといった高度な仕組みが必要になる場合は別として、例えば部門ごとに保有している情報へのアクセスをWebアプリケーション化し、HTTP経由で参照や更新を可能にするような「ちょっとした」ニーズは少なくないようです。

 Webアプリケーションフレームワークである「Ruby on Rails」が提供するActive Recordを利用することで、既存データリソースをごく少ない労力でRESTfulなWebアプリケーション化できます。解説記事「DB2でさくさく実現するRESTfulなDBアプリ」では、DB2上に構築されたレガシーデータを題材に、Railsを使ったWebアプリケーション化の手順を紹介しています。仕組みが分かれば、あっという間に作り変えられるので、ぜひ試してみてください。

(@IT 原田美穂)

情報をお寄せください:

Database Expert フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

- PR -

注目のテーマ

- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

AI生成コンテンツの大増殖で「ソーシャルメディア」が「ソーシャル」ではなくなる日
AIが生み出すコンテンツをAIが学習しさらなるコンテンツを生成する未来は、私たちが望む...

生成AIで美容業界の未来を創造 エスティ ローダーとマイクロソフトがAIイノベーションラボを設立
両社は消費者とのつながりを強化し、より迅速かつ効果的な市場投入を実現することを目的...

ドメイン変更によるSEOへの影響とは? メリットとリスクおよび失敗しない手順
ドメインはWebサイトの現住所を表し、それ自体がWebサイトの看板の役割も果たします。今...