オープンソースデータベースとは?PostgreSQL・MySQLの特徴と商用DBとの違い

オープンソースデータベースとは?PostgreSQL・MySQLの特徴と商用DBとの違い

Webサービスや業務システムの多くは、データベースにデータを保存して動いています。中でも広く使われているのが、プログラムが公開され、無償で利用できる「オープンソースデータベース」です。PostgreSQLやMySQLが代表的で、スタートアップから大企業まで、多くの現場で使われています。

ここでは、オープンソースデータベースの基本と代表的な製品、データベースが動く仕組みを解説します。商用のデータベースとの違いやメリットと注意点に加えて、PostgreSQLとMySQLの選び方も紹介します。

SUMMARY
この記事で分かること
  • オープンソースデータベースとは何か、代表的な製品の特徴
  • データベースが動く仕組みと、インフラエンジニアが担う仕事
  • 商用のデータベースとの違い、メリットと注意点、PostgreSQLとMySQLの選び方

オープンソースデータベースとは?

プログラムが公開され、無償で使えるデータベース

オープンソースデータベースとは、プログラムの中身(ソースコード)が公開されているデータベースです。決められたライセンスの範囲で、だれでも無償で利用・改良できます。「OSSのデータベース」「OSS-DB」と呼ばれることもあります。

これに対して、OracleやMicrosoftなどの企業が開発し、利用料を払って使うものを「商用データベース」と呼びます。

代表的なオープンソースデータベース

代表的な製品と、その特徴は次のとおりです。

製品特徴よく使われる場面
PostgreSQL機能が豊富で、標準のSQLへの対応度が高い。複雑な処理にも強い業務システム、データ分析、地図情報
MySQL動作が軽く、扱いやすい。Webサービスで長く使われてきたWebサイト、ECサイト、WordPress
MariaDBMySQLから派生したデータベースで、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、MariaDBOracle Database、Microsoft SQL Server
利用料無償(有償のサポートを付けることもできる)ライセンスの費用がかかる
サポートコミュニティや、サポートを提供する企業を利用開発元のサポートを受けられる
得意な場面Webサービス、クラウド、中小〜大規模のシステム大規模で止められない基幹システム

メリットと注意点

オープンソースデータベースのメリットと注意点は、次のとおりです。

メリット内容
費用を抑えられるライセンスの費用がかからないため、システムの規模が大きくなっても費用が膨らみにくい
クラウドで使いやすいAmazon RDSやGoogle Cloud SQLなど、主要なクラウドがサービスとして提供している
情報が多い利用者が多く、書籍やWebの情報、事例を見つけやすい
特定の企業に縛られない開発元の方針に左右されにくく、ほかの製品へ移る選択肢も持ちやすい
注意点内容
サポートは自分で確保するトラブルのときに開発元へ問い合わせることはできない。社内で対応できる人材を育てるか、有償のサポートを契約する
ライセンスの条件を確認する製品によってライセンスの種類が違う。改良したプログラムを配布する場合などに、条件が付くことがある
大規模な基幹システムでは慎重に検討する非常に高い可用性が必要なシステムでは、商用データベースが選ばれることもある

とくにMySQLは、Oracleが開発していて、無償のコミュニティ版と有償の商用版があります。どの版を、どの条件で使うかを確認しておきましょう。

PostgreSQLとMySQLの選び方

代表的な2つの製品は、次のように選ぶのが目安です。

製品向いている場面
PostgreSQL複雑な検索や集計が多い業務システム、データ分析、地図情報など、機能の豊富さが求められる場合
MySQLWordPressなどの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を書くところから始めてみましょう。

記事の企画・執筆

IT基盤(インフラ)エンジニアのための求人・情報サイト「テックドック」の編集部です。ネットワーク・サーバー・クラウド・セキュリティなど、IT基盤の仕事・技術・資格・キャリアに役立つ情報を、実務に即した視点で発信しています。