Hosting Department:ホスティングを活用するための基礎知識

第10回ホスティングサービスでDBメンテナンスを学ぶ part.1

最近のホスティングサービスでは共用サービス/専用サービスとも、各種のDB(データベース)をサポートしています。そこで今回から3回にわたり、MySQL5.x 系を題材にDBメンテナンスについて解説します。第1回の今回は、ホスティングでのDB利用の状況とMySQLの基本を紹介します。

ホスティングにおけるDBの位置付け

Webページやイントラネットとの連携など、DBはWebシステムで広く利用されており、今やWebシステムにとってもDBは不可欠の存在といえます。ホスティングサービスもこの流れに呼応し、多くのビジネス向けサービスではDBを基本メニューに含めています。

広く使われているDBMS(データベース管理システム⁠⁠ には、Microsoft SQL Server、Oracle、IBM DB2、PostgreSQL、MySQLなどがあり、ホスティングサービスの多くはこのどれか1 つまたは2 つ以上に対応しています。なお、DBが標準ではなくオプション扱いになるサービスや、メニューとしては用意していなくてもユーザがインストールすれば利用できるサービスもあります。

MySQLの基本

オープンソース系DBMSとして、近年MySQLの利用が増えています。Yahoo!やGoogle、YouTubeなどの有名なWebサービスでも利用されていて、DB連動型Webアプリケーションでよく使われるオープンソースソフトウェアを指すLAMP(Linux、Apache、MySQL、PHP/Perl/Python)という言葉にもMySQLが含まれています。日本では従来、オープンソース系のDBエンジンとしてはPostgreSQLが一般的でしたが、世界的にはMySQLの利用数がPostgreSQLを上回っており、日本でのMySQL利用数の増加も自然な流れといえるかもしれません。

MySQL5.x の機能

現在主流となっているMySQLのバージョンは5.1で、5.x系では4.x系から機能が大きく強化されました。主な変更点は、ストアドプロシージャへの対応、トリガーおよびビューの搭載、利用可能なストレージエンジンの追加です。

ストアドプロシージャは、一般的なプログラミング言語におけるサブルーチンまたはユーザー定義関数にあたります。繰り返し実行する処理をストアドプロシージャとして定義しておくことで、ネットワーク負荷を軽減するとともに処理時間の短縮が可能です。

トリガーは、テーブルのデータが更新された際にあらかじめ定義した処理を実行する仕組みです。ストアドプロシージャに似ている面もありますが、ストアドプロシージャは必要時にクエリで呼び出すのに対して、トリガーはデータ更新時に自動的に実行されるという違いがあります。

ビューとは、単一または複数のテーブルから抽出したデータを仮想的に1 つの表のように見せる機能です。データの抽出時に都度クエリを実行するのに比べてクエリ列をシンプルにできます。

ストレージエンジンは4.xでもマイナーバージョンアップの度に追加されていますが、5.0.3からは新たにFEDERATEDという、他のMySQLサーバ上のテーブルをあたかもローカルのテーブルのようにアクセスできるエンジンが加わりました。

MySQLを利用するためのホスティングサービスの選び方

最後に、MySQLの利用を前提としてホスティングサービスを選ぶ際に注意すべき点を紹介します。

MySQLが利用できるかどうか

利用を検討しているホスティングサービスで、MySQLが標準メニューに含まれていることが最善です。含まれていない場合、オプションで利用できるか、あるいはユーザがインストール可能かどうかを調べる必要があります。

MySQLのバージョン

現在は5.x系が主流とはいえ、4.x系を提供しているホスティングサービスもあります。また4.x系/5.x系ともマイナーバージョンにより機能に細かな相違があるので、想定している機能が利用可能かどうか、MySQLの具体的なバージョンを確認しておくとよいでしょう。

管理ツールの利用可否

MySQLはコマンドラインやクエリで管理可能ですが、例えばphpMyAdminやMySQLToolsといったGUIベースの管理ツールが利用できるなら、保守・運用の労力を軽減できます。

利用可能なDB数

ホスティングサービスによっては、MySQLで利用できるDB数を制限している場合があります。顧客や用途などでDBを分けたい場合は確認しましょう。なお、DBが1つしか利用できない場合でもテーブル数に制限を設けていなければ、規則的なテーブル名を付けるなど運用での対応も不可能ではありません。

シェルの利用可否

MySQL自体や関連ツールをインストールする場合はシェルの利用は不可欠だし、保守・運用時にもシェルを利用可能であれば柔軟に対処できます。シェルはtelnetからセキュアなSSHへの移行が進んでおり、セキュリティ面からSSHでの利用が望ましいです。

他の機能を利用する場合にも共通していえることですが、MySQLをどういった目的でどのような手法で利用するかを明確にし、それに最適なホスティングサービスを選択することが重要なのです。

おすすめ記事

記事・ニュース一覧