オープンソースとDBMS

オープンソースやフリーソフトウェアの普及により、コンピュータソフトウェアの対価に対する考え方が一変した。知識さえあれば、優れた機能・性能を持つソフトウェアが無償で手に入るわけだから、同じような機能・性能を持つ商用ソフトウェアは生き残るのが難しいわけだ。しかし、こうした中でも、データベースシステム(DBMS, DataBase Management System)だけはいまだに多くのシェアを商用ソフトウェアが握っている。

データベースシステム(DBMS)とは

DBMS に日頃からなじみがある人はそれほど多くないだろう。普通は「図書館データベース」のように、データを格納し、検索インタフェースを備えたアプリケーションとして提供されているからだ。しかし、これらのデータベースには必ず DBMS が背後で稼働しており、大量のデータを安全にかつ高速に検索するための機能を提供している。

DBMS の仕組みは、実はそんなに複雑ではない。基本はデータ格納領域を確保し、それに高速検索用のインデックス(索引)を結びつけるだけだ。こうした基本技術はかなり昔から研究が重ねられており、最近はさほど新しい技術は取り入れられていない。

オープンソースなDBMS

代表的な商用 DBMS には、オラクル (Oracle) やアクセス (Access) がある。Oracle はサーバ用 RDBMS では圧倒的なシェアを持っているし、最近はテレビCMも流しているのでご存じの方も多いだろう。Access は主に個人利用のための DBMSで、マイクロソフト Office の一部として多くの Windows ユーザを獲得している。

一方、オープンソースとして無償で提供されている DBMS も数多くある。MySQL (マイ・エス・キュー・エル) や PostgreSQL (ポスト・グレス・キュー・エル) は最初からオープンソースとして開発されており、最近の Linux ブームとともに利用者が急増している。また、ボーランド社の InterBase (インターベース) は、従来有償の商用データベースであったものを、昨年オープンソース化して、無償で提供するようになったものだ。

これらの無償 DBMS はいずれも10年以上の歴史を持ち、軽量・高速性などを売りにしている。機能や性能を比較しても、他の商用 RDBMS と比べてそれほど劣っているとは思わない。実際に大規模なアプリケーションの一部に使われている例もあり、ソフトウェア購入費用を考慮すると、コスト面での優位性は大きい。

DBMSに求められるもの

しかし、現時点では業務系の多くのシステムで Oracle などの商用 DBMS が用いられているのも事実である。技術的に言えば、確かに無償 DBMS には管理機能が不足していたり、分散環境やトランザクション処理などに弱点を持つものもある。しかし、これらの機能や性能といった技術的な理由だけではなく、「利用実績」や「ネームバリュー」に起因して商用 DBMS が選ばれてることが多いのではないかと思う。

利用実績としては、特に大規模でミッションクリティカルなシステムでの利用実績の有無は顕著だろう。24時間365日稼働する必要があるシステムでの運用実績をもっと増やすことが、無償 DBMS の信頼感を獲得するためには必要だ。

また、商用 DBMS のネームバリューが顧客に与える印象というのも強力なものがある。開発するアプリケーションの要件から無償 DBMS でも十分だと技術的に説明できたとしても、「やっぱり商用 DBMS の方が安心だから」という顧客の要望は、時として翻しにくい場合が多い。

オープンソースは DBMS を呑み込めるか

オープンソースによるソフトウェア開発が注目され、多くの優れたソフトウェアを生み出している現在、果たしてオープンソースな DBMS はどれだけのシェアを獲得できるだろうか。システムの中核という意味では、OS である Linux が劇的に利用者数を延ばすことができたのだから、DBMS が商用でなければならないという理由は思い当たらない。

「オープンソースだとサポートが無いから心配だ」という意見もあるが、必要であれば有償サポートサービスも受けられるため、この点が大きな欠点になるとは考えにくい。逆に、オープンソースコミュニティのサポートが享受できるという利点もある。

あとはオープンソースを支持するシステムエンジニアの力が必要だろう。アプリケーションの要件を見極め、最適な DBMS をオープンソースから選び出す選択眼と、オープンソースコミュニティの力を信じて問題を解決してゆく能力にかかっている。