はじめに
2018 年の新規導⼊データベースが70%はOSSというガートナー調査結果にあるように、OSSデータベースの採用が増えています。
OSS データベースを選択する際には、機能及び性能以外のライセンス、サポート、導入実績、コミュニティの活動状況等といった要因も重要なポイントになります。
データベースの種類に着目すると、RDBMS ( Relational Database Management System ) 以外に、NoSQL データベースなど RDBMS の⽋点であるスケーラビリティや⾮構造化データの扱いの部分を補完するデータベースも登場していますが、RDBMS のシェアは依然圧倒的です。
そこで、今回は各種OSS RDBMS についてライセンス、サポート、導入実績、コミュニティの視点からまとめてみました。
NoSQLデータベースについては、OSSデータベース調査 NoSQLデータベース編をご覧下さい。
調査対象となる OSS RDBMSについて
DB-Engines Ranking of Relational DBMS によると、エンタプライズ向けRDBMSはMySQL の人気が圧倒的ですが、MySQL からブランチして開発されている MariaDB も人気が上がっています。また、ここ数年はPostgreSQL の伸びも著しいといえます。
⼀⽅で、組込み RDBMS は、Android や iOS に標準搭載されている SQLite の 1 強になっています。
そこで、まずはMySQL、PostgreSQL、MariaDB、SQLite の4つの OSS RDBMS について調査してみました。
MySQL
世界で最も多く使用されているOSS RDBMS。プラガブル・ストレージ・エンジンアーキテクチャを採用しています。OSS RDBMSでは、MySQL と PostregSQL が人気を二分しています。
基本情報
項目 | 内容 |
---|---|
ホームページ | https://www.mysql.com/jp/ |
最新バージョン | MySQL Community Server 8.0.13 ( 2018-10-22 ) |
開発言語 | C++ https://github.com/mysql |
動作環境 | CPU:x86_32, x86_64, SPARC_64 ( MySQL 8.0 ) メモリ:不明 OS:Linux ( Oracle, Red Hat, Ubuntu, SUSE, Debian ), Windows, macOS 参照 : Supported Platforms: MySQL Database |
ライセンス | GPL V2ライセンス、商用ライセンスのデュアルライセンス 参照 : Commercial License for OEMs, ISVs and VARs |
特徴 | MySQL Community Edition には以下の特徴があります。
|
適している利用シーン | シンプルなWebサービス 参照 : エンジニアHub > PostgreSQLとMySQL、使うならどっち? |
適していない利用シーン | 組込み機器などメモリリソースが制限されているシステムには適していません。 Joinを多用するような複雑な SQL には向いていません。 |
開発情報
項目 | 内容 |
---|---|
開発主体 | Oracle Corporation |
開発体制 | MySQL 8.0は44名のContributor 参考 : Contributors to MySQL MySQL の OCA ( Oracle Contributor Agreement ) を2,765名が結んでいます。 |
参加企業 | Oracle Corporation |
リポジトリ | https://github.com/mysql/mysql-server |
開発コミュニティ | コミュニティを利用するには Oracle User アカウントが必要です。 参照 : MySQL Community Space |
開発コミュニティ活動状況 | 様々な メーリングリスト、ディスカッション・フォーラム、MySQL Bug DB などがあり充実しています。 |
サポート情報
項目 | 内容 |
---|---|
コミュニティサポート | MySQL Community Relations Team 3名 Oracle ACEと呼ばれるコミュニティ・エキスパート(36名)が技術記事、アドバイス、ブログ、ツィートを通じて知識の共有に貢献しています 参照 : MySQL Community Resources また、国内には 日本MySQL会 が存在します。 |
コミュニティ活動状況 | 1つのフォーラムで月間約40件が投稿されています。約90のフォーラムがあります。 参照 : MySQL Forums |
サポート企業 | Oracle 以外に日立ソリューションズ、NEC、日本HP などパートナー企業18社が MySQL をサポートしています。 参照 : MySQL パートナー |
サポートメニュー/費用 | 例:Oracle 年間サブスクリプション(1-4ソケット・サーバ/年) サポートメニュー:24時間365日サポート、無制限サポート・インシデント、ナレッジベース、メンテナンス・リリース、バグ修正、パッチ、アップデートを提供しています。 費用:Standard Edition 24万円、Enterprise Edition 60万円、Cluster Carrier Grade Edition 120万円 参照 : MySQL Editions |
歴史
項目 | 内容 |
---|---|
開発開始時期 | 1994年 スウェーデン MySQL ABが開発を開始 |
開発の経緯 | 当初、高速で低レベルな独自の ( ISAM ) ルーチンを使用してテーブルに接続するために mSQLを使用するつもりでしたが、mSQL は高速でも柔軟でもないため、新しい SQL インタフェース MySQLを開発しました。 参照 : MySQL の歴史 |
最近のメジャーリリース履歴 | 2013-02 Version 5.6 サブクエリの最適化、オンラインでの DDL 実行、InnoDB への NoSQL アクセスなど 2015-10 Version 5.7 速度向上(5.6の3倍)、InnoDB 最適化、レプリケーション機能強化、オプティマイザ強化 2018-04 Version 8.0 MySQL 5.7と比較して性能が最大で約2倍に向上、JSON データ対応など 参照 : Announcing General Availability of MySQL 8.0 |
リリース頻度 | 年間 約5回のマイナーリリース |
適用状況
項目 | 内容 |
---|---|
適用システム | 政府公共機関、メディア、eコマース、製造、リテールなど様々な企業で MySQL が採用されています。 新生銀行での導入事例のように金融での適用もあります。 参照 : 導入事例 |
適用数 | 2017年OSS データベースサーバの世界シェアは56%。 北米でのシェアは非常に高く、約75%超。 https://jelastic.com/blog/software-stacks-statistics-within-jelastic-cloud-2017/ |
適用企業 | NASA, US Navy, Sony, Facebook, Twitter, YouTube, PayPal など多数 参照 : MySQL Customers 、日本での採用企業 |
PostgreSQL
エンタープライズ向けオブジェクト指向 RDBMSです。MVCC ( Multi-Version Concurrency Control ) を特徴とした OSS RDBMS であり、15年以上の開発で信頼性、データ保全性、正確さに強いアーキテクチャを作り上げられています。OSS RDBMS では、MySQL と PostregSQL が人気を二分してします。
基本情報
項目 | 内容 |
---|---|
ホームページ | https://www.postgresql.org/ |
最新バージョン | PostgreSQL 11.1 ( 2018-11-08 ) |
開発言語 | 主にC言語で開発 参照 : Developer FAQ |
動作環境 | CPU:x86系, IA64, PowerPC系, S/390系, Sparc系, ARM, MIPS, VAX メモリ:512MB以上 ( Shared Bufferの4倍の物理メモリが必要 ) OS:Linux系, Windows ( Win2000 SP4以降 ), BSD系, macOS, AIX, HP/UX, Solaris, Unix-like OS ビルドするために最低限、C コンパイラ以外に make, tar, gzip, zlib, Readline が必要です。 参照 : Supported Platforms |
ライセンス | PostgreSQL License : BSD ライセンス、MIT ライセンスに類似 参照 : PostgreSQL License |
特徴 | ANSI-SQL : 2008に準拠し、エンタープライズ向けの MVCC, PITR ( Point In Time Recovery ), テーブルスペース, 非同期レプリケーション, Nested Transaction, オンラインバックアップ, 洗練されたquery planner / optimizer, フォルトトレランスのための WAL などの機能が特徴です。 データ型、関数、演算子、集約関数、インデックスメソッド、手続き言語を拡張する手段を提供しています。インタフェースはJava ( JDBC ), ODBC, Perl, Python, Ruby, C, C++, PHP, Lisp, Scheme をサポートしています。 参照 : PostgreSQL 11 Documentation |
適している利用シーン | 多機能なデータベースのため、Oracle Database からの移行や SIer 系の企業システムに適しています。 参照 : エンジニアHub > PostgreSQLとMySQL、使うならどっち? |
適していない利用シーン | 組込み機器などメモリリソースが制限されているシステムには適していません。 |
開発情報
項目 | 内容 |
---|---|
開発主体 | PostgreSQL Global Development Group |
開発体制 | Core Team ( 5名 ), Major Contributors ( 34名, 日本 3名 ), Contributors( 64名, 日本 8名 ), Hackers Emeritus( 5名 )で開発。開発プログラマは雇用していません。 参照 : PostgreSQL : Contributor Profiles |
参加企業 | メジャースポンサー:ENTERPRISE DB, VMware, NTTグループなど 17社 マイナースポンサー:IBM, Amazon, Google, 富士通, NECなど9社 参照 : PostgreSQL : Sponsors |
リポジトリ |
https://git.postgresql.org/gitweb/?p=postgresql.git バージョン管理は Git を使用しています。 PostgreSQL Git の使用方法 : Working with Git |
開発コミュニティ | 開発者用メーリングリスト(pgsql-hackers)を提供しています。 |
開発コミュニティ活動状況 | メーリングリスト月間 1,000以上の投稿、Gitでソースコード・コミット月間 約150件 |
サポート情報
項目 | 内容 |
---|---|
コミュニティサポート | ユーザ向け、開発者向け、地域向けの様々なメーリングリストから情報を提供しています。 国内:日本PostgreSQLユーザ会 ( JPUG ) 国内:PostgreSQLエンタープライズコンソーシアム ( PGECons ) |
コミュニティ活動状況 | 非常に活発 |
サポート企業 | SRA OSS, Inc. PostgreSQL/PowerGres サポート&保守サービス NEC PostgreSQL - OSS 保守サポートサービス サポート PGECons参加企業サービス一覧 |
サポートメニュー/費用 | 例:NEC PostgreSQL - OSS 保守サポートサービス PostgreSQL 基本サポートサービス( 12万円/年~ ):運用に関するマニュアルレベルの問い合わせに回答、セキュリティパッチやバグ修正パッチの情報を提供 PostgreSQL 拡張サポートサービス ( 60万円/年~ ):技術情報の提供、障害調査、再現テスト、コミュニティ対応 |
歴史
項目 | 内容 |
---|---|
開発開始時期 | 1996年、UCバークレー校で開発された Postgres をベースに PostgrSQL 開発を開始 |
開発の経緯 | 1986年 UCバークレー校で Ingres の後継として Postgres の開発を開始 1994年 Postgres の開発終了。これを改良して Postgre95 に改名してリリース 1996年 Postgres95 から PostgreSQL に改名して、OSS として開発を継続 1997年 PostgreSQL6.0 をリリース、機能開発を加えながら現在に至ります。 参照 : A Brief History of PostgreSQL |
最近のメジャーリリース履歴 | 2016-01 PostgreSQL9.5:row-level security control, Block Range Indexes など 2016-09 PostgreSQL9.6:Parallel execution, 同期レプリケーションなど 2017-10 PostgreSQL10:ロジカルレプリケーション, テーブル・パーティション宣言など 2018-10 PostgreSQL11 : ハッシュキーによるパーティショニング、テーブル・パーティションの主キー、外部キー、インデックス、トリガなど 参照 : PostgreSQL Documentation : Release Notes |
リリース頻度 | 年 1回の頻度でメジャ・リリース、年間10回程度のマイナーリリースを実施 参照 : PostgreSQL Documentation : Release Notes |
適用状況
項目 | 内容 |
---|---|
適用システム | 住友電気工業(株) 基幹システムへPostgreSQLの導入 ニフティ(株) クラウド導入事例 顧客管理システム「@nifty顧客管理システム」 PGEConsでの導入事例の紹介 PostgreSQLコミュニティでの導入事例の紹介 |
適用数 | 2017年 OSS データベースサーバの世界シェアは 14.6%。アジアでのシェアは高く、約 30%。 https://jelastic.com/blog/software-stacks-statistics-within-jelastic-cloud-2017/ |
適用企業 | Cisco、Skype、NTTデータ、富士通、Safeway、Tsutaya など多くの企業で適用 参照 : |
MariaDB
MariaDB は、MySQL から派生した OSS RDBMS です。MariaDB の開発は、MySQL のオリジナル開発者らによって行われていて、MySQL との互換性を保ちながら、性能や頑健性を高めるための独自機能を備えています。Oracle との互換性(例えば PL/SQL )、テンポラル・テーブル、sharding、ポイントインタイム・ロールバックおよび透過的データ暗号化を含んでいます。
基本情報
項目 | 内容 |
---|---|
ホームページ |
https://mariadb.com/ https://mariadb.org/ |
最新バージョン | MariaDB 10.3.12 (2019-01-07) |
開発言語 | C++ https://github.com/MariaDB |
動作環境 | CPU:x86, x86_64 メモリ:不明 OS:Linux(Red Hat, Fedora, Ubuntu, openSUSE, Debian), Windows, FreeBSD 参照 : Current Package Platforms : MariaDB Deprecation Policy |
ライセンス | MariaDB Serverは GNU GPL v2ライセンス、MariaDB clientは LGPL ライセンス 参照 : MariaDB License 商用サポート: 参照 : MariaDB Pricing |
特徴 | MariaDBは、MySQLと同様にプラガブル・ストレージ・エンジンアーキテクチャを採用していて、多くのストレージエンジンを使用可能です。( MyISAM, BLACKHOLE, CSV, MEMORY, ARCHIVE, MERGE, ColumnStore, MyRocks, Aria, CONNECT, SEQUENCE, Spider ) 参照 : MariaDB versus MySQL - Features レプリケーション、クラスタリング、Sharding、データ暗号化、ColumnStore、バックアップ、各種アダプタ ( C, Java, Python, Node.js )などの機能があります。 参照 : MariaDB Pricing |
適している利用シーン | MySQL と高い互換性によるMySQLの置き換え、シンプルなWebサービス 参照 : エンジニアHub > PostgreSQLとMySQL、使うならどっち? |
適していない利用シーン | 組込み機器などメモリリソースが制限されているシステムには適していません。 Joinを多用するような複雑なSQLには向いていません。 |
開発情報
項目 | 内容 |
---|---|
開発主体 | MariaDB Corporation, MariaDB foundation |
開発体制 | 178名の Contributor Contributorは MariaDB Contributor Agreement を締結する必要があります。 “Maria developers” team には、702名のアクティブメンバがいます。 |
参加企業 | Booking.com, Alibaba Cloud, Tencent Cloud, Microsoft, MariaDB Corporation など 参照 : Sponsors |
リポジトリ | https://github.com/MariaDB/server |
開発コミュニティ |
“Maria developers” team 利用するには登録が必要です |
開発コミュニティ活動状況 | メーリングリスト、Zulip(グループチャット)、JIRA(プロジェクト管理ツール)などがあります。メーリングリストでは月間 約40件の投稿があります。リポジトリへ月間 約200コミット。 |
サポート情報
項目 | 内容 |
---|---|
コミュニティサポート |
MariaDB Community というコミュニティが存在して、誰でも参加が可能です。 また、国内では、日本国内でのMariaDBの認知度向上、普及活動及び技術交流を目的としたユーザーグループ Japan MariaDB User Group(略称 JPMUG) が存在します。 |
コミュニティ活動状況 | ディスカッションメーリングリストで月間約20件の投稿があります。 |
サポート企業 | MariaDB Corporationが サブスプリクションライセンス でサポート(技術サポート、コンサルタンティング、製品通知、セキュリティアラートなど) また、パートナー企業 78社がサポート 国内では、SmartStyle,HeartCore ( 2018-06にXyXonからHeartCoreに社名変更 ), インサイトテクノロジー, スタイルズ がMariaDBのパートナー企業 |
サポートメニュー/費用 | 例:HeartCoreサブスクリプション ( 1サーバ/年 ) サポートメニュー:日本語サポート、24時間365日サポート、無制限サポート・インシデント、ナレッジベース、メンテナンス・リリース、バグフィックス、ホットフィックス 費用:MariaDB TX 180万円、MariaDB TX Cluster 225万円、MariaDB 169万円 参照 : MariaDB 価格&サポート |
歴史
項目 | 内容 |
---|---|
開発開始時期 | 2010年 MySQL からブランチして開発を開始 |
開発の経緯 | 2010年 開発者である Michael "Monty" Widenius 氏が Monty Program Ab を立ち上げ MySQL からブランチして MariaDB の開発を開始した。 2012年 MariaDB Foundation を設立 2013年 Monty Program Ab 社は、MySQL や MariaDB のサポートサービスを展開していた MariaDB Corporation と統合 参照 : MariaDBの由来と歴史 |
最近のメジャーリリース履歴 | 2015-10 Version 10.1.8 Galera Cluster、テーブルの暗号化機能、InnoDBのページ圧縮機能、GIS データ 2017-05 Version 10.2.6 Window関数、SHOW CREATE USER, ALTER USER、CHECK制約 2018-05 Version 10.3.7 アグリゲート・ストアドファンクション、LIMIT句、Oracle形式のストアドパッケージ 参照 : MariaDB Releases |
リリース頻度 | 年間 約30回のマイナーリリース |
適用状況
項目 | 内容 |
---|---|
適用システム | スタンドアロンアプリケーション、Webアプリケーション、クラウドアプリケーション、IoT(Internet of Things)アプリケーション、エンタープライズトランザクション、分析システム、モバイルデバイス、地理情報システムなど 参照 : オープンソースのデータベース/MariaDBとは |
適用数 | 2017年OSS DBサーバの世界シェアは19.8%。EMEAでのシェアは高く、約30% https://jelastic.com/blog/software-stacks-statistics-within-jelastic-cloud-2017/ |
適用企業 | ServiceNow, DBS Bank, Google, Vodafone Group, Samsung Electronics, Toys"R"Us, Walt Disney, 富士通, WikiPedia, Red Hat, IIJ など多数 参照 : MariaDB Case Studies、SmartStyle MariaDB |
SQLite
SQLite は低フットプリントのライブラリ型組込み用 RDBMS で世界で最も使用されたデータベース・エンジンです。
基本情報
項目 | 内容 |
---|---|
ホームページ | https://www.sqlite.org/ |
最新バージョン | Version 3.26.0 (2018-12-01) |
開発言語 | ANSI-C |
動作環境 | CPU:特に限定なし ( エンディアンに関係なく動作可 ) メモリ:600KB以上 OS:Windows, Linux, MacOS, Android ビルドするために、C コンパイラ以外に、AWK, SED, TCL が必要です。 参照 : About SQLite |
ライセンス |
パブリックドメイン 参照 : SQLite Copyright 永続的にSQLiteソースコードを使用できるライセンスもあります。( \$6,000 ) 参照 : SQlite Pro Support |
特徴 | ソースコードがパブリックドメイン、設定なしで使用可能、サーバレス、シンプルな構成 ( 1ファイル、1 データベース )、クロスプラットフォーム・データベースファイル ( エンディアンや32bit, 64bitを考慮しなくて良い ) SQL92サブセットをサポート 参照 : Distinctive Features Of SQLite |
適している利用シーン | 組込み機器、IoT機器、参照専用データベース |
適していない利用シーン | ライブラリ型であるため、ネットワークを使ったシステムには使用不可、高同時実行性が必要なシステム。 データベースが1つのファイルなので、データベースロックが頻発し、同時実行が多いシステムには向いていません。 |
開発情報
項目 | 内容 |
---|---|
開発主体 | SQLite Team (Hipp, Wyrick & Company, Inc) |
開発体制 | D.Richard Hipp 氏を中心に SQLite Team 3名で開発(以前は8名) 参照 : SQLite Developers パブリックドメインを維持するために、コードをコントリビュートする際に著作権の放棄を求められます。 Hipp 氏へコントリビュートについてメールで問い合わせたところ、 「著作権放棄のためには多くペーパーワークが必要なので現実的にはコントリビュートすることは難しいでしょう」 と言っていました。 |
参加企業 | SQLite Consortiumに参加しているBloomberg, Expensify, Bentley などがスポンサー |
リポジトリ |
https://www.sqlite.org/src バージョン管理は Fossil を使用 |
開発コミュニティ | 開発者用メーリングリストが提供されている。 |
開発コミュニティ活動状況 | 月間約 100件のソースコード・コミット、約 40件の投稿があります。 参照 : SQLite Timeline |
サポート情報
項目 | 内容 |
---|---|
コミュニティサポート | ユーザ用メーリングリストを提供 |
コミュニティ活動状況 | 月間約 700件の投稿があります。 |
サポート企業 | Hipp, Wyrick & Company, Inc |
サポートメニュー/費用 | 年間サポート:\$1,500/年 技術サポート:\$8,000~\$35,000/年 参照 : SQlite Pro Support コンソーシアム・メンバーシップ:\$75,000/年 参照 : SQLite Consortium |
歴史
項目 | 内容 |
---|---|
開発開始時期 | 2000-05 |
開発の経緯 | アメリカ海軍向けにデータベース管理者が不要でSQL利用可能なデータベースを D. Richard Hipp 氏が設計 |
最近のメジャーリリース履歴 | 2018-06 Version 3.24.0:UPSERTコマンド、r-treeテーブルのauxiliaryカラムなど 2018-09 Version 3.25.0:Window関数、ALTER TABLEとクエリ・オプティマイザの改善 2018-12 Version 3.26.0:読み込み専用のシャドウテーブルなど 参照 : Release History |
リリース頻度 | 年間 約 20回リリース |
適用状況
項目 | 内容 |
---|---|
適用システム | Androidスマートフォン、iPhone、Mac、Windows10、webブラウザ ( Firefox, Chrome, Safari )、Skype、iTunes、IoT2020 ( IoTデバイス )など 参照 : Most Widely Deployed and Used Database Engine |
適用数 | Android端末 20億台、Mac及びiPhone 10億台、Windows10 5億台、Webブラウザ 20億台、Skype及びiTunes 20億台など 参照 : db tech showcase Tokyo 2017 A11: SQLite - keynote |
適用企業 | Google、Apple、マイクロソフト、SIEMENS など https://www.sqlite.org/famous.html |
補足 : SQLite の 排他制御問題を解決するために、SQLite をベースに SQLumDash という OSS RDBMS を開発しました。
参照 : https://github.com/sqlumdash/sqlumdash
最後に
今回調査対象とした OSS RDBMS は、既に多くの導入実績がありコミュニティの活動も活発なことから、導入対象としての選択肢としては、十分に対象となると考えられます。ただし、ライセンス面では、MySQL や MariaDB がデュアルライセンスであるため、導⼊する際にはライセンス条項を確認する必要があります。サポート面では、SQLite は国内のサポート企業が存在しないので、その点を留意する必要があると思われます。
もし、記述について誤りがあったり、気になることがあれば、編集リクエストやコメントでフィードバックしていただけると助かります。