組み込みデータベースに求められる要件は何か
長らくPostgreSQLのエンジニアとして経験を積み、SRA OSSにてPowerGres開発技術グループ責任者を務める佐藤友章氏が組み込みとしてのデータベースに求められる要件を解説した。ポイントとしては4つ。
インストールが簡単
製品をインストールする時、アプリケーションとデータベースと別々にインストールするとなるとユーザーに負担がかかる。できればユーザーが意識することなく同時にインストールできると望ましい(サイレントインストール)。もし別々にインストールする必要があるなら、最小限の操作で日本語のインターフェースであることが望ましい(英語ではハードルが高い)。
メンテナンスの手間が少ない
パッチ適用など、必要最低限のメンテナンスは自動実行できるべき。任意のメンテナンスも自動化または最小限の操作で行えると望ましい。ユーザーがメインで使うのはアプリケーションなので、組み込まれているデータベースの保守で手間がかかるのは望ましくない。
サポート体制が整っている
業務で使用する以上、サポートは必須だ。組み込みデータベースとして用いる場合にも、技術的なサポートや障害対応があるかどうかは重要な要件となる。加えてパッケージアプリケーションとなると、長らく使い続けるものが多いためサポート期間が長いほうが望ましい。
コストが安い
製品価格にデータベースのコストが含まれるため、当然ながらデータベースのライセンスは安い方が望ましい。売れば売るほどコストが下がるように、ボリュームディスカウントがあればなおさらよい。
こうした条件でPostgreSQLの組み込みデータベースとしての適正評価を考えるとどうか。まず圧倒的に有利なのがコストである。PostgreSQLはオープンソースなので基本的には無償だ。もし商用データベースを使うとなるとそれなりのライセンス費用が必要となる。商用データベースの中にはライセンス費が高いものや価格アップしたものもあり、そうした商用データベースを組み込みで使用しているソフトウェアベンダーからは「アプリケーションを売っているのか、データベースを売っているのか分からなくなるときがある」という声もある。
一方で不利になるのがサポート体制だ。オープンソースデータベースのコミュニティ版であれば基本的には自己責任で使うことになる。PostgreSQLなら開発コミュニティによるサポートはリリースから5年間とされている。
インストールに関してはどうか。PostgreSQLのインストーラーは英語のみであるものの、サイレントインストールに対応しているため組み込みとして使うならそう問題にならない。メンテナンスに関して、佐藤氏は「以前に比べて手間はかからなくなった。しかしオンラインバックアップの設定など面倒なものも残る」と話す。