2004年10月08日
MySQLはファイルシステムの仮想化
ファイバチャネルやiSCSIといったネットワークストレージ技術の登場が,ストレージの一極集中管理を加速させ,ストレージの仮想化(バーチャリゼーション)技術が注目されている.一方で,オープンソースのRDBMSであるMySQLが様々なアプリで用いられるようになったが,
これもある種の仮想化と捕らえることができる.
MySQLについての面白い記述を見つけた.
MySQL は商用 RDBMS にとっての破壊的イノベーション : NDO::Weblog そこまでうまくいくかどうかは別として、MySQL や PostgreSQL がどうして破壊的なのかという問いに関しては、まず第一にフリーだからという点が挙がります。しかし実はここは重要なポイントではなく、コストが劇的に下がったことで RDBMS をファイルシステムに代わる単なるストレージとして利用するようなシステム形態が可能になった という点が一番大きいのだと思います。
確かに,私がインストールしたアプリケーションのいくつかには,MySQLを必須もしくは推奨とするものの,「データ操作は比較的簡単なのになぜRDBMSを使わなければならないのだろう,わざわざMySQLもインストールするの面倒だな」,と思わせるものがあった.
しかしアプリケーションの開発側からすれば,確かに基本的なデータ操作やインデックスといった機能を全部RDBMSが提供してくれるのだから,それを使えば楽で効率が良い.なるほど,そういう事だったのか.
FCやiSCSIを用いた仮想化は,OSに対してのストレージの仮想化であり,管理の効率化を目的としている.一方MySQLは,アプリケーションに対してのファイルシステム(ストレージ)をSQLというインターフェースで仮想化して,インデックスなどの機能を付加したものと言える.MySQLを用いた仮想化は,MySQLというラッパーを用いることで,開発の簡略化を目的としている.MySQLの普及は,アプリケーションがOS,ファイルシステムに依存しないストレージを求め,機能豊かなRDBMSが浸透した結果なのだろう.