「データベース」は2006年、サイトサービス指向の要にインターネットサービスの新基準(1/2 ページ)

昨今、Webサイトで扱う情報量は増大の一途をたどっている。2005年、ブログはもちろんコンテンツ管理の根底を支えてきたのは「データベース」システムにほかならない。どのような効果があり、どのような運用ノウハウがあるのだろうか?

» 2005年12月28日 10時01分 公開
[大澤文孝,ITmedia]

 ショッピングサイト運営から、簡単なアンケートページに至るまで、Webアプリケーションでは、入力されたデータを保存する仕組みが必要だ。簡単なデータであればテキストファイルとして保存できるが、検索性を高めるためには、データベース利用が不可欠になる。

 オンライン・ムック「インターネットサービスの新基準」では、サービス構築・運用・管理にかかわるユーザーを対象にノウハウを解説してきた。インターネットサービス開設のために、何が必要なのか? いまトレンドとなっているものは何か? その指針を示している。

 今回の記事では、Webアプリケーションで用いるデータベースのノウハウについて解説しよう。

データベースの選択肢はそう多くはない

 データベースとしてデータを蓄積するサーバソフトウェアには幾つかの種類があるが、最近オープンソースで人気があるのは「MySQL」と「PostgreSQL」だ。ホスティングサービスの多くでは、この2つのデータベースの両方、もしくはいずれかを利用できる環境が提供されていることが多い。これらはフリーで使えるデータベースであり、多くのサイトで採用されている。

 データベースの種類が異なれば、その制御方法も異なる。そのため動かしたいWebアプリケーションで使うことができるデータベースを選ぶことが大切だ。

 そうとはいえ、差異の大半はデータベースドライバが吸収するため、MySQLやPostgreSQLのどちらであっても、軽微な変更(場合によっては設定ファイルの書き換えだけ)で、どちらでも対応できるケースが多い。MySQLが良いのか、PostgreSQLが良いのかは、機能や性能の違い以外にも好みの問題もある。ここではどちらが良いのか? については触れない。

 ホスティングサービスを選ぶときに重要なのは、「作成できるデータベース容量」と「堅牢性」だ。

 ホスティングサーバの種別「専用サーバ」であれば、ハードディスク容量の分だけデータベースを大きくできるのは言うまでもない。しかし共用サーバの場合には、「1つしかデータベースを作れない」「容量が100Mバイトまで」といったように、制限が課せられることもあるので注意したい(関連記事)

 また、データベースには重要なデータが格納されることが多いため、その堅牢性に配慮が必要だ(図1)。

 一方、データベースが壊れたときの対策としては、2つの方法が挙げられる。一つは定期的なバックアップだ。具体的には、データベースの内容をテキストやバイナリデータとして保存し、その状態にまで復帰できるようにする。この方法は、万一壊れたときの対策として不可欠なものであるが、万全とはいえない。なぜならば、全データのバックアップには相応の時間を要し、バックアップしている最中にも、新たなデータベースの書き換えが起きることがあるため、「最新の情報を保存する」というわけにはいかないからだ。

 そこでデータベースを扱うならば、RAIDによるハードディスクのミラーリングを検討したい。ハードディスクをミラーリングしておけば、万一、ハードディスクが壊れたときに、データが失われる心配がないばかりか、サーバを止めることなく迅速な復帰が可能だ。

 ミラーリングとバックアップは、どちらかを行えばよいというわけではない。ミラーリングはハードウェア的な障害からは守れるが、データベースへの誤操作を取り消すことはできない。そこで一般には、「バックアップ」と「ミラーリング」の両方を組み合わせて運用する。

 ちなみに、たとえ障害があっても、一瞬たりとも停止が許されない環境の場合には、データベース搭載のサーバをクラスタリングすることもあるが、中小規模のWebアプリケーションでは、コストの関係もあり、クラスタリングは、現在ではそれほど一般的ではない。

図1■データベースのバックアップ対策

SSHポートフォワードでリモートから編集

 ホスティングサービスを使う場合には、当然、データベースは、リモートに置かれたホスティングサービス内にある。

 それでは、そのデータベースを保守するときには、どうすればよいのだろうか?

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ