オープンソースなデータベースサーバーMySQL (MariaDB)、PostgreSQL、Firebird

業務ではExcelのような表計算ソフトが重宝しますが、たくさんのデータを扱う場合はデータベースを使うことになります。

表計算ソフトではファイルが壊れたり、メモリ不足になったりして扱いにくくなるからです。

データベースソフトとして思いつくのが、Microsoft Officeの一部になっているMicrosoft Accessですが、Microsoft Accessはデータベースサーバーではありません。

(参考図:Accessのフォーム作成画面)

 

Microsoft Accessはファイル共有型データベースソフトともいわれ、そのmdbファイルやaccdbファイルは、スタンドアロンで1つのプログラムからアクセスする場合は、使い勝手が非常に良いのですが、ネットワークを介して複数のユーザーがアクセスする場合はとたんに性能が落ち、時にはファイルが壊れることがあります。

(参考画像:Accessでの複数ユーザアクセスの例 - ネットワークが不安定だったり、5人規模のアクセスになると、信頼性・性能が悪くなる)

よって、複数のユーザーがアクセスする場合は、データベースサーバーというソフトウェアを使うことになります。

データベースサーバーとしては、商用ソフトとして、Oracle、SQL Server、DB2などが有名ですが、かなりなライセンス料が必要です。

これに対して、オープンソースなデータベースサーバーもあります。

今回は、MySQL (MariaDB)、PostgreSQL、Firebirdについて、書いてみたいと思います。

PostgreSQL

PostgreSQLは早くから日本語対応がよく、機能が豊富でしたので、日本ではオープンソースデータベースサーバーの中では長らく最も利用されてきました。

その点ではかなり信頼性が高いです。

ライセンスはGPLよりも緩いBSDライセンスですので、企業ユーザーはPostgreSQLを改造して販売してもソースコードを公開する必要はありません。

日本語のテーブル名、列名にも対応していますが、ODBC経由で使う場合は、テーブル名に、「public_」というようなプレフィクス(前置文字)が付いてしまいます。

 

(追記予定)


Firebird


FirebirdはBorland社(当時の社名)が商用データベースサーバーInterbaseのVer.6.0のオープンソースとしたことから発生しました。比較的管理が楽な作りになっていて、当時Windowsにも普通の方法で対応していました。ライセンスはMozilla Public Licenseを元にしたInterBase Public License(商用・非商用問わず利用できるが、オリジナル〈ここではFirebirdを指す〉のソースコードを改変したプログラムを利用する場合は、その変更箇所のコードを公開しなくてはならない)です。Firebird自体を改変しないかぎりGPLよりも緩いソースコード開示条件になっています。

日本語のテーブル名、列名は、うまくすれば使えなくはないようですが、実際は使えないと思った方がいいようです。

MySQL、MariaDB


MySQLは、軽く速いので(複雑でない)、世界で一番使われているデータベースサーバーです。

元々は、スウェーデンのMySQL AB社によって開発販売されていましたが、MySQL AB社がSun Microsystems社に買収され、SunがOracle社に買収されたので、現在は、Oracle社が権利を保有していて、維持されています。

しかし、Oracle社は商用データベースサーバーを開発販売している会社なので、将来のMySQLに不安があります。

そこで、元々のオリジナルコードの作者でMySQL ABの創設者でもあるMichael "Monty" Wideniusにより、MySQLがforkしたのがMariaDBです。

MySQLのライセンスは有料ライセンスとGPLを選ぶことができます。無料のコミュニティー版を選んだ場合はGPLライセンスを選んだことになって、MySQLを改変し、それを第三者に頒布した場合にはそのソースコードを開示する義務が発生します。



関連記事

コメント

Secret

カテゴリ
プロフィール

ぽち

Author:ぽち
ようこそ!脱サラして好きなことをのんびりとやっています。
このブログが役に立ったという方やご意見や質問・要望がある方はコメントを書いてくれるとうれしいです!

最新記事
最新コメント
最新トラックバック
メールフォーム

名前:
メール:
件名:
本文:

月別アーカイブ
検索フォーム
RSSリンクの表示
リンク
QRコード
QR