Webサービスや業務システムの多くは、データベースにデータを保存して動いています。中でも広く使われているのが、プログラムが公開され、無償で利用できる「オープンソースデータベース」です。PostgreSQLやMySQLが代表的で、スタートアップから大企業まで、多くの現場で使われています。
ここでは、オープンソースデータベースの基本と代表的な製品、データベースが動く仕組みを解説します。商用のデータベースとの違いやメリットと注意点に加えて、PostgreSQLとMySQLの選び方も紹介します。
この記事で分かること
- オープンソースデータベースとは何か、代表的な製品の特徴
- データベースが動く仕組みと、インフラエンジニアが担う仕事
- 商用のデータベースとの違い、メリットと注意点、PostgreSQLとMySQLの選び方
オープンソースデータベースとは?
プログラムが公開され、無償で使えるデータベース
オープンソースデータベースとは、プログラムの中身(ソースコード)が公開されているデータベースです。決められたライセンスの範囲で、だれでも無償で利用・改良できます。「OSSのデータベース」「OSS-DB」と呼ばれることもあります。
これに対して、OracleやMicrosoftなどの企業が開発し、利用料を払って使うものを「商用データベース」と呼びます。
代表的なオープンソースデータベース
代表的な製品と、その特徴は次のとおりです。
| 製品 | 特徴 | よく使われる場面 |
|---|---|---|
| PostgreSQL | 機能が豊富で、標準のSQLへの対応度が高い。複雑な処理にも強い | 業務システム、データ分析、地図情報 |
| MySQL | 動作が軽く、扱いやすい。Webサービスで長く使われてきた | Webサイト、ECサイト、WordPress |
| MariaDB | MySQLから派生したデータベースで、MySQLとの互換性が高い | MySQLの代わりとして使う場面 |
| SQLite | サーバーが不要で、1つのファイルにデータを保存する | スマートフォンのアプリ、小規模なツール |
身近な例では、テックドックのサイトで使っているWordPressも、MySQLやMariaDBに記事のデータを保存しています。
Webの世界で広く使われている理由
オープンソースデータベースは、とくにWebサービスの世界で広く使われています。Linux、Webサーバー(ApacheやNginx)、プログラミング言語(PHPなど)と組み合わせて、すべてをオープンソースのソフトでそろえて動かせるためです。
さらに、AWSやGoogle Cloudなどの主要なクラウドが、PostgreSQLやMySQLをサービスとして提供しています。クラウドの普及とともに、利用の場面はさらに広がっています。
データベースが動く仕組みとインフラエンジニアの仕事
表(テーブル)でデータを管理する
PostgreSQLやMySQLは、「リレーショナルデータベース(RDB)」と呼ばれる種類です。データを行と列からなる表(テーブル)で管理し、表どうしを関連づけて使います。
たとえばECサイトなら、「会員」「商品」「注文」の表を分けて持ち、注文の表から会員や商品を参照します。同じデータを何度も持たずに済むため、矛盾が起きにくくなります。
SQLでデータを操作する
データの検索・追加・更新・削除は、「SQL」という共通の言語で指示します。SQLの基本的な書き方は、製品が違ってもほぼ共通です。そのため、1つのデータベースを学べば、ほかの製品にも知識を活かせます。
クライアントとサーバーでやり取りする
多くのデータベースは、データベースサーバーとして動き、アプリケーションからの要求を受け付けます。アプリケーションがSQLを送ると、データベースサーバーが処理して結果を返します。この仕組みによって、多くの利用者が同時に同じデータを使えます。
トランザクションでデータの正しさを守る
トランザクションとは、複数の処理を「すべて成功させるか、すべて取り消すか」のどちらかで実行する仕組みです。銀行の振り込みが代表的な例です。途中で障害が起きても、データが中途半端な状態で残らないように守られています。
インフラエンジニアが担う仕事
データベースは、サーバーの上で動くソフトです。そのため、インフラエンジニアは次のような仕事でデータベースに関わります。
| 仕事 | 内容 |
|---|---|
| 構築 | Linuxのサーバーやクラウドに、PostgreSQLやMySQLを入れて設定する |
| バックアップ | データを定期的に保存し、障害のときに元に戻せるようにする |
| 冗長化 | 複数のサーバーにデータを複製し、1台が止まってもサービスを続けられるようにする |
| 監視と性能の改善 | 処理の遅れやディスクの容量を監視し、設定を見直して速くする |
データベースの構築や運用を専門にする仕事は、[データベースエンジニアとは]で紹介しています。
商用データベースとの違いと製品の選び方
商用データベースとの違い
オープンソースデータベースと商用データベースの主な違いは、次のとおりです。
| 項目 | オープンソースデータベース | 商用データベース |
|---|---|---|
| 主な製品 | PostgreSQL、MySQL、MariaDB | Oracle Database、Microsoft SQL Server |
| 利用料 | 無償(有償のサポートを付けることもできる) | ライセンスの費用がかかる |
| サポート | コミュニティや、サポートを提供する企業を利用 | 開発元のサポートを受けられる |
| 得意な場面 | Webサービス、クラウド、中小〜大規模のシステム | 大規模で止められない基幹システム |
メリットと注意点
オープンソースデータベースのメリットと注意点は、次のとおりです。
| メリット | 内容 |
|---|---|
| 費用を抑えられる | ライセンスの費用がかからないため、システムの規模が大きくなっても費用が膨らみにくい |
| クラウドで使いやすい | Amazon RDSやGoogle Cloud SQLなど、主要なクラウドがサービスとして提供している |
| 情報が多い | 利用者が多く、書籍やWebの情報、事例を見つけやすい |
| 特定の企業に縛られない | 開発元の方針に左右されにくく、ほかの製品へ移る選択肢も持ちやすい |
| 注意点 | 内容 |
|---|---|
| サポートは自分で確保する | トラブルのときに開発元へ問い合わせることはできない。社内で対応できる人材を育てるか、有償のサポートを契約する |
| ライセンスの条件を確認する | 製品によってライセンスの種類が違う。改良したプログラムを配布する場合などに、条件が付くことがある |
| 大規模な基幹システムでは慎重に検討する | 非常に高い可用性が必要なシステムでは、商用データベースが選ばれることもある |
とくにMySQLは、Oracleが開発していて、無償のコミュニティ版と有償の商用版があります。どの版を、どの条件で使うかを確認しておきましょう。
PostgreSQLとMySQLの選び方
代表的な2つの製品は、次のように選ぶのが目安です。
| 製品 | 向いている場面 |
|---|---|
| PostgreSQL | 複雑な検索や集計が多い業務システム、データ分析、地図情報など、機能の豊富さが求められる場合 |
| MySQL | WordPressなどのWebサービスで、シンプルな読み書きを素早く大量にこなしたい場合 |
どちらもクラウドで手軽に使えます。迷ったら、使うアプリケーションや、チームが慣れている製品から選ぶのが現実的です。
オープンソースデータベースでよくある疑問
Q.仕事で使っても無料?
多くの場合、無料で使えます。PostgreSQLやMySQLのコミュニティ版は、企業のシステムで使っても利用料はかかりません。
ただし、製品ごとにライセンスの条件があります。とくに、改良したプログラムを製品に組み込んで配布する場合は、条件を確認してください。有償のサポートを付けたり、クラウドのサービスとして使ったりする場合は、その分の費用がかかります。
Q.OSS-DBとは何?
「OSS-DB」は、オープンソースデータベースを略した呼び方です。あわせて、LPI-Japanが実施する資格「OSS-DB技術者認定試験」の名前としても広く使われています。
この資格はPostgreSQLをもとにしていて、データベースの基礎を問うSilverと、運用や性能の改善を問うGoldの2つのレベルがあります。
資格の詳細は、[OSS-DBとは]で解説しています。
Q.PostgreSQLとMySQLは、どちらから学ぶべき?
どちらから学んでも、SQLの基本は共通なので、もう一方にも知識を活かせます。業務システムやデータ分析の仕事を目指すならPostgreSQL、Webサービスの仕事を目指すならMySQLから学ぶのがおすすめです。
Q.NoSQLのデータベースとは何が違う?
PostgreSQLやMySQLは、表でデータを管理するリレーショナルデータベースです。NoSQLは、表の形にこだわらずにデータを管理するデータベースの総称で、MongoDBやRedisなどがあります。
NoSQLは、大量のデータを高速に読み書きする場面や、形の決まっていないデータを扱う場面で使われます。データの正しさが重要なシステムでは、リレーショナルデータベースを使うのが一般的です。
Q.どうやって学べばいい?
いちばんの近道は、手元のパソコンやクラウドにPostgreSQLかMySQLを入れ、表を作ってSQLを書いてみることです。
Linuxの環境の作り方は、[Linuxのインストール方法]で紹介しています。知識を体系的に整理したい場合は、OSS-DB技術者認定試験を目標にするのもおすすめです。
まとめ
オープンソースデータベースは、プログラムが公開され、無償で利用できるデータベースです。この記事のポイントは次のとおりです。
- オープンソースデータベースとは:PostgreSQL、MySQL、MariaDB、SQLiteが代表的で、Webサービスから業務システムまで幅広く使われる
- 仕組み:データを表で管理し、SQLで操作し、トランザクションでデータの正しさを守る点は商用のデータベースと共通
- インフラエンジニアの仕事:構築、バックアップ、冗長化、監視と性能の改善でデータベースに関わる
- 商用データベースとの違い:費用を抑えられ、クラウドでも使いやすい一方で、サポートは自分で確保する
- 製品の選び方:機能の豊富さを重視するならPostgreSQL、Webサービスで軽快に動かすならMySQL
データベースは、どのシステムにも欠かせない土台です。まずはPostgreSQLかMySQLを実際に動かし、表を作ってSQLを書くところから始めてみましょう。

