データベースのデータは直接アプリケーションから操作するのではなく、専用のソフトウェアによって操作・管理されます。そのソフトウェアをDBMS(データベース管理システム)と言います。
DBMSは商用ソフトウェアとオープンソースソフトウェア(OSS)があります。今回は、どのようなDBMS製品があるのか、それぞれの簡単な特徴を交えて見ていきます。
商用ソフトウェア
商用ソフトウェアとは商用利用するときは有料となるソフトウェアのことです。主な商用ソフトウェアとして以下の製品があります。
製品名 | 特徴 |
---|---|
Oracle Database | 最大のシェアを誇るDBMS。技術者も多く書籍やネットなど情報量が圧倒的に豊富。 |
IBM DB2 | 着実にシェアを伸ばし、認知度を高めているDBMS。IBMはWebSphere Application ServerやWebSphere MQなど世界で高い実績を誇る製品が揃っており、ハードウェアを含めインフラ構成全体をIBM製品で統一するシステムもよく見られる。 |
SQL Server | Windowsプラットフォームに特化したMicrosoftのDBMS。Oralceに次ぐシェアを誇り、情報量も豊富。 |
HiRDB | 日立製作所が開発する国産DBMS。公共団体や金融機関などの安定性を望む企業にも数多く採用実績がある。 |
現在、商用DBMSの中でも大きなシェアを確保しているのは、Oracleの「Oracle Database」、IBMの「IBM DB2」、Microsoftの「SQL Server」であり、これら3製品は商用DBMSの「御三家」ともいえる存在となっています。
国内におけるメーカーシェアは、1位Oracle、2位Microsoft、3位IBM、4位日立製作所という順位に落ち着いているようです。(調査会社ガートナー調べ)
シェア1位の座は昔からOracle Databaseが維持しており、その牙城を崩すことは、MicrosoftやIBMをもってしても困難なのが伺えます。ただ、サーバーOSがWindowsの場合に限れば、SQL Serverが非常に高いシェアとなっています。
国内では、それら御三家に次ぐのが日立のHiRDBになります。ここ近年、SI事業が好調な日立が自社製品のシェアもうまく伸ばしているというところでしょうか。製品のバージョンアップも繰り返し行われ、品質向上とともに、大規模なシステムへの採用実績も着実に伸ばしているようです。
※補足:2017年現在、データベースのシェアは大きく変動しています。2017年現在の動向については以下サイトに記載されています。
http://www.publickey1.jp/blog/17/dbmsawssapibmdbms2017.html
商用ソフトウェアのメリットは(基本的に)品質が高く、メーカーからのサポートが受けられることです。DBMSには高い信頼性や性能が求められます。また、お客様の要件を満たすための機能を持っていなければいけません。そして問題発生時には、その解決のための迅速なサポートも必要です。
それらメリットを得るためには、当然、お金が必要なのですが、DBMS製品は高額であり、はじめて見る方はその価格に目を疑うことでしょう。DBMS製品本体価格もそうですが、オプション製品も合わせると相当です。
特にOracle Databaseは高いです。性能、信頼性、開発効率は高いのですが、Oracleで良い基盤を作ろうとすると、その分コストが膨らんでしまうでしょう。
オープンソースソフトウェア
オープンソースソフトウェア(OSS)の最大の特徴は無償であることです。商用DBMSは非常に高額だということを上述しましたが、OSSはなんと無償で使用できるのです。
オープンソースソフトウェア(以下、OSS)とは、ソースコードが公開され、改良や再配布を行うことが許可されているソフトウエアのことです。
無償だということは、有償の商用DBMSに比べると機能や性能などが圧倒的に劣っており、商用で利用できるレベルではないと思われるかもしれませんが、そうではありません。
確かに以前は、顧客が求める高いレベルの要件をOSSのDBMSは満たせないなどとして、商用DBMSが採用されることが多かったと言えます。ただ、最近では、機能や性能を比較しても、商用DBMSと比べても遜色なくなってきています。
主なOSSのDBMSとしては以下があります。
名称 | 特徴 |
---|---|
MySQL | OSS DBMSとしては最大シェアを誇る。とにかく軽いのが特徴。 |
PostgreSQL | オブジェクト関係データベース管理システム(ORDBMS) 。MySQLとよく比較され、市場シェアでは圧倒されているが、近年、PostgreSQLが選ばれるケースが増えている。 |
SQLite | サーバーとしてではなくアプリケーションに組み込んで利用される軽量のデータベース。 |
Firebird | 高度なトランザクション管理機能を有する。ストアドプロシージャやトリガー、UDF(ユーザー定義関数)等の商用データベースに通常備わっている機能を網羅している。 |
OSSのDBMSの進化により、システムに必要な高い信頼性、機能性、性能を十分満たせるようになりました。小規模・中規模システムではOSSのDBMSで大抵、事足りるでしょう。
近年ではPostgreSQLが注目を集めており、現バージョンでは、マルチコアCPUのサーバー上での性能が大幅に改善され、その性能は商用DBに匹敵するほどです。
商用ソフトウェアとOSSどちらが良いか
ここまで商用DBMSとOSSのDBMSを紹介してきましたが、結局のところどれが一番良いのでしょうか。
どれも一長一短な部分があり、エンジニアによって答えが割れるでしょう。もしかしたら、優秀なエンジニアほど偏った見解を持っているかもしれません。それはそれだけ多くの経験を積んだからには他なりません。ただ、各製品とも短いスパンでバージョンアップを繰り返しており、1年前は問題が多かった製品も最新バージョンでは改善されているかもしれません。
無償だからとOSSのDBMSを採用したとして、初期コストが抑えられたとしても、システムは作ったら終わりではなく、カットオーバー後の運用が待っています。例えば、障害発生時のリカバリ機能などは商用DBMSの方が高機能と言えます。また、メーカーによる有償サポートが受けられるので、問題を解決しやすいです。
それらがないとシステム運用中に置いておかなければならないエンジニアに求められるスキルが上がり、結果、運用コスト(SE費)が高くついてしまう可能性も考えなくてはいけません。
私も過去に、採用したDBMSに要件を満たす機能備わっておらず、「なぜこの製品を採用したんだ」と顧客にこっぴどくお叱りを受けたこともありました。
結局、どれが良いかなんてことはわからないということです。