54
43

More than 5 years have passed since last update.

OSSデータベース調査 RDBMS編

Last updated at Posted at 2019-01-22

はじめに

2018 年の新規導⼊データベースが70%はOSSというガートナー調査結果にあるように、OSSデータベースの採用が増えています。
OSS データベースを選択する際には、機能及び性能以外のライセンス、サポート、導入実績、コミュニティの活動状況等といった要因も重要なポイントになります。

OSS_DB.jpg

データベースの種類に着目すると、RDBMS ( Relational Database Management System ) 以外に、NoSQL データベースなど RDBMS の⽋点であるスケーラビリティや⾮構造化データの扱いの部分を補完するデータベースも登場していますが、RDBMS のシェアは依然圧倒的です。

DB_market.jpg

そこで、今回は各種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 には以下の特徴があります。
  • プラガブル・ストレージ・エンジンアーキテクチャ
  • ストレージ・エンジン:InnoDB, MyISAM, NDB ( MySQL Cluster ), Memory, その他
  • MySQLレプリケーション:大容量アプリケーションのパフォーマンスおよびスケーラビリティが向上
  • MySQLパーティショニング:大規模なDBアプリケーションのパフォーマンスと管理性が向上
  • MySQL コネクタ ( ODBC, JDBC, .NET, etc ):様々な言語によるアプリケーション開発
参照 : 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 など多くの企業で適用
参照 : https://www.postgresql.org/about/users/ ←最近、削除されています。

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社がサポート
国内では、SmartStyleHeartCore ( 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 StudiesSmartStyle 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 は国内のサポート企業が存在しないので、その点を留意する必要があると思われます。

もし、記述について誤りがあったり、気になることがあれば、編集リクエストやコメントでフィードバックしていただけると助かります。

54
43
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
54
43