DBMSとはデータベース管理システムのこと。様々なDBMSがありますが、関係性データベース管理システム(RDBMS)と呼ばれる、データを表計算の表のように扱い、その表を互いに関係付けして管理するモデルが最も多く利用されています。
このRDBMS製品のシェアはOracleとMicrosoftの2社でほとんどを占めます。無償版OSS版ははOracleのMySQLがトップシェアです。
ここではOracle、MicrosoftのDBMS製品を中心に各種DBMSについてまとめています。
1.Oracle Database
Oracleの販売するDBMSです。Oracle Databaseを中心に、Oracle Business Intelligence(Oracle BI)など様々な関連製品が販売されています。主に大企業で導入されていますが、昨今Oracle離れといわれるようにその高額な導入費用とサポート費用、および複雑化する操作方法に対応したドキュメント公開が不十分なことなどより、Microsoft SQL ServerやMySQLへの移行を検討する企業が多いと言われます。
Windows、Linuxのマルチプラットフォーム対応できることがMicrosoft SQL Serverに対しての強みでしたが、Microsoft SQL Serverが2017以降、Linuxに対応したことにより、その強みはなくなりました。
~ Oracle Database公式サイト ~
Oracle Database公式サイト(https://www.oracle.com/jp/database/)
バージョンとサポート期間
Oracle Database 18cが2018年7月にリリースされました。番号が12から飛びました。このバージョンからリリース順に1、2ではなく西暦表記(2018の18)にするためです。
その後、毎年リリースすると公式にアナウンスされていましたが、2019年に19c、2021年に21cがリリースとなっています。20cは新型コロナの影響でリリース中止となりました。
ところで、12からバージョンの後ろについた「c」ですが、これはクラウド環境で有効なマルチテナント機能を搭載したバージョンであることを示すものです。
マルチテナント機能とは、 DBに子DBを複数作ることができる機能です。何等かの業務システムで利用するDBがあったとして、複数のお客様が別々にその業務システムを利用する場合、スキーマが同じDBを複数作成する必要がありましたが、このマルチテナント機能を利用することで1つのDB内に同一スキーマのDBをお客様ごと作成することができます。
~ バージョンとサポート期間 ~
バージョン |
リリース区分 |
パッチ終了日 |
プレミアサポート (PS) |
延長サポート (ES) |
11g |
|
2015年01月 |
2015年01月 |
2020年12月 |
12c |
|
2025年03月 |
2018年07月 |
なし |
18c |
|
2021年06月 |
2021年06月 |
なし |
19c |
長期サポート(LTR) Long Term Release |
2027年04月 |
2024年04月 |
2027年04月 |
21c |
|
2023年06月 |
2023年06月 |
なし |
※例えばバージョン12cの場合、12.2.0.1、12.1.0.2、12.2.0.1のようにさらに詳細バージョンに分かれますが、バージョンごと最長のサポート終了日を表記しています。
エディション
~ エディション ~
エディション |
説明 |
Enterprise Edition(EE) |
ミッションクリティカルな要求、厳しいデータベースワークロードに対応できる大規模システム向けエディションです。最上位エディションであり、全機能利用可能です。
プロセッサーライセンスは570万円です。引用:NTTデータ先端技術株式会社 |
Standard Edition 2(SE2) |
ミッションクリティカルな要求、厳しいデータベースワークロードに対応できる大規模システム向けエディションです。最上位エディションであり、全機能利用可能です。
プロセッサーライセンスは210万円です。引用:NTTデータ先端技術株式会社 |
Standard Edition 1(SE1) |
12c(12.1.0.2)を以て廃止されました。 |
Standard Edition(SE) |
12c(12.1.0.2)を以て廃止されました。 |
Express Edition(XE) |
メモリー1GB、1CPU、データ11GBの制限がありますが、自由に開発、デプロイ、配布できる無償のエディションです。サポートはオンラインフォーラムで提供されます。 |
Personal Edition(PE) |
一部のコンポーネントを除き、Enterprise Editionとほぼ同等の機能を持つ学習向け、開発者向けのエディションです。個人利用のみ許可されており、商用には利用できません。 |
クラウドサービスで提供される Oracle Database
Oracle Databaseのデータベースクラウドサービスは、Oracle Cloud及びAWSの2社で提供されています。
Oracle CloudはOracle自らが運営するデータベースクラウドサービスです。英語ができないと使えないのではないかと思われるほど日本語のドキュメントが不足しています。
AWSはRDSにおいてクラウドデータベースを提供しています。
どちらもライセンス料は利用料に含まれます。クラウドデータベースなのでOSの運用を気にする必要はありません。
一方、Microsoft AzureではOracle Databaseのクラウドデータベースは提供されていません。どうしてもAzure上でOracle Databaseを利用したい場合はバーチャルマシンにOracle Databaseをインストールするしか方法がありません。
~ AWSでOracle DatabaseのRDSを作成する画面 ~
2.Microsoft SQL Server
Microsoftの販売するDBMSです。Microsoft SQL Server 2017よりWindowsだけでなくLinuxにも対応し、マルチプラットフォーム化しました。
さらにLinux上でのコンテナ型仮想化ツールであるDockerにも対応しました。
これにより、従来より両OSをサポートしているOracleとついに同じ土俵でシェア争いできる状況となりました。
Microsoftが対抗OSであるLinuxに対応するというのは驚きでしかありませんでしたが、サーバーOSのシェアがLinux70%、Windows30%と云われる現状では致し方ないとも思われます。
MicrosoftはMicrosoft SQL ServerだけでなくVisual StudioでもLinuxに対応し、マルチプラットフォーム化を進めています。
Microsoft SQL Serverは、商用データベースとして企業の満足度が非常に高い製品です。Oracleと同じ土俵に立ったのであればシェア逆転があるかもしれません。
~ Microsoft SQL Server公式サイト ~
Microsoft SQL Server公式サイト(https://www.microsoft.com/ja-jp/sql-server/sql-server-2019)
バージョンとサポート期間
~ バージョンとサポート期間 ~
バージョン |
メインストリーム サポート終了日 |
延長サポート終了日 |
Microsoft SQL Server 2008 / R2 |
2014/07/08 |
2019/07/09 |
Microsoft SQL Server 2012 |
2017/07/11 |
2022/07/12 |
Microsoft SQL Server 2014 |
2019/07/09 |
2024/07/09 |
Microsoft SQL Server 2016 |
2021/07/13 |
2026/07/14 |
Microsoft SQL Server 2017 |
2022/10/11 |
2027/10/12 |
Microsoft SQL Server 2019 |
2025/01/07 |
2030/01/08 |
※次期リリースバージョンMicrosoft SQL Server 2022は、現在プライベートリリースが開始されている段階です。2022年年明けにも正式リリースといわれています。
エディション
~ エディション ~
以下、最新版 Microsoft SQL Server 2019のエディションです。
エディションごと機能に違いはなく、コア数、メモリ、パフォーマンス、セキュリティについて下位エディションは制限されています。
「Web」というエディションもあるのですが、これはホスティング事業者への卸のみ、ユーザーはクラウドサービスでのみ利用可能なエディションなので、下表には記載しませんでした。
|
Enterprise |
Standard |
Developer |
Express |
スケール |
コアの最大数 |
無制限 |
24コア |
無制限 |
4コア |
メモリ:インスタンスあたりの最大バッファー プール サイズ |
オペレーティング システムの最大値 |
128 GB |
オペレーティング システムの最大値 |
1410 MB |
インスタンスあたりの最大 Columnstore セグメント キャッシュ サイズ |
オペレーティング システムの最大値 |
32 GB |
オペレーティング システムの最大値 |
352 MB |
メモリ: データベースあたりの最大メモリ最適化データ容量 |
オペレーティング システムの最大値 |
32 GB |
オペレーティング システムの最大値 |
352 MB |
最大データベース サイズ |
524 PB |
524 PB |
524 PB |
10 GB |
運用環境での使用権 |
○ |
○ |
× |
○ |
無制限の仮想化 |
○ |
× |
× |
× |
プログラミング |
プログラミングと開発者ツール: T-SQL、SQL CLR、Service Broker、JSON、XML、グラフ データ サポート |
○ |
○ |
○ |
○ |
OLTPのパフォーマンス |
高度なOLTP: インメモリ OLTP、運用分析 |
○ |
○ |
○ |
○ |
管理のしやすさ: Management Studio、ポリシー ベースの管理 |
○ |
○ |
○ |
○ |
基本的な高可用性: 2 ノードの単一データベースのフェールオーバー、セカンダリの読み取り不可 |
○ |
○ |
○ |
× |
高度な高可用性: Always On 可用性グループ、複数データベースのフェールオーバー、セカンダリの読み取り可能 |
○ |
× |
○ |
× |
セキュリティ |
セキュリティの強化: Always Encrypted、行レベルのセキュリティ、データ マスキング、詳細な監査 |
○ |
○ |
○ |
○ |
透過的なデータ暗号化 |
○ |
× |
○ |
× |
SQL Server の監査によるコンプライアンス レポート |
○ |
× |
○ |
× |
~ エディションと価格 ~
Enterprise |
Standard |
Developer |
Express |
Web |
コア単位
¥1,610,928※ |
コア単位 |
無料 |
無料 |
ホスティングへの卸のみ |
\420,021※ |
サーバー+CAL |
\107,065※+\10,509※ |
※推定小売価格。1ドル113円で換算。
「Enterprise」はコア数で購入。
「Standard」はコア数で購入するか、サーバー+CALで購入するかどちらか選ぶことができます。
~ コア数で購入する場合 ~
「Enterprize」は無制限、「Standard」は24コアが上限になりますが、2コア単位で購入できます。この場合CALは必要ありません。
以下の通り、仮想マシンを作成する場合もその分のコアライセンス購入を求められます。ただし、「Enterprize」の場合のみ、無制限の仮想化 (ソフトウェア アシュアランス特典)が現在付与されているため、物理コア数のコアライセンスのみで購入できます。
~ サーバー+CALで購入する場合 ~
サーバー数もしくは仮想マシン数とCALを購入します。
CALは、ユーザー単位もしくはPC単位で購入できます。このCALについては非常に難しいのですが、Microsoftの見解はSQL Serverを利用するユーザーまたはデバイスごと購入が必要と言われます。一方で企業側からすると全社員分CALが必要なのかという話になり、1000人社員がいれば1000CAL必要なのかという話になります。結論は1000CAL必要ということになります。しかし、同時接続数という解釈をしたり、開発人数分で良いという方もいるのですが、どうもそういった解釈の裏付けとなる規定が見つかりません。1000CAL必要と解釈される場合は、コアライセンス購入の検討になると思います。
尚SQLServerをWEBサービスにて不特定多数に提供する場合はコアライセンスで購入することをMicrosoftは勧めています。
クラウドサービスで提供される Microsoft SQL Server
Microsoft SQL Serverのデータベースクラウドサービスは、Microsoft Azure及びAWSの2社で提供されています。
Microsoft AzureはMicrosoftが運営するクラウドサービスです。この中でAzure SQL というデータベースクラウドサービスを提供していますが、このAzure SQLはバージョンレスのMicrosoft SQL Serverです。
AWSはRDSにおいてクラウドデータベースを提供しています。
どちらもライセンス料は利用料に含まれます。データベースクラウドサービスなのでOSの運用を気にする必要はありません。Management Studio等各種IDEから利用できます。バックアップも自動です。
~ AWSでMicrosoft SQL ServerのRDSを作成する画面 ~
3.MySQL
OSSのDBMSです。
Javaと同じくサンマイクロシステムズからオラクルに移管されました。
多くのWEBサービスのDBMSに採用されており、この分野のデファクトスタンダードと呼べます。
~ MySQL公式サイト ~
MySQL公式サイト(https://www.mysql.com/jp/)
クラウドサービスで提供される MySQL
Microsoft SQL Serverのデータベースクラウドサービスは、Oracle Cloud及びAWSの2社で提供されています。
4.MariaDB
OSSのDBMSです。
MySQL5.5からフォーク(派生)したDBMSです。MySQLがオラクルで管理されているのに対し、MariaDBは公平性の高い財団によって管理されています。
機能的にはMySQLとほとんど違いはありません。
Googleは自社検索サービスのDBMSにMySQLを利用していましたが、現在MariaDBを採用しています。
オラクルがMySQLを開発中止したり、保守料金を徴収したりするリスクがあるからです。
~ MariaDB公式サイト ~
MariaDB(https://mariadb.org/)
5.PostgreSQL
OSSのDBMSです。
OSSのDBMSではMySQLとPostgreSQLの2強でしたが、現在ではMySQLの1/3のシェアで、少しトレンドから外れてきていると言えます。
今から新規でOSSのDBMSを導入するという場合は、MySQLの方が良いと思います。ネットで情報を探す場合もMySQL方が圧倒的に情報量が多いです。
~ PostgreSQL公式サイト ~
PostgreSQL公式サイト(https://www.postgresql.org/)
6.SQLite
他のDBMSと違い、大規模データベースとしての利用は不向きで、主にサーバー側ではなく、アプリケーション側、特に、組込みシステムおいて良く利用される軽量のデータベースです。無償。パブリックドメイン(著作権切れ又は放棄)です。
~ SQLite公式サイト ~
SQLite公式サイト(https://www.sqlite.org/index.html)
7.MongoDB
MongoDB Inc.が販売するDBMSです。SSPLというライセンスで運用されており、商用利用しない場合は無償、ソース改変可。商用利用する場合はライセンス購入が必要という実質有償のDBMSです。
RDBMSではなくドキュメント指向DBMSと呼ばれるDBMSです。各レコードをJSONで作成します。レコードごと項目数、項目名が違っても構いません。
RDBならレコードの全項目分の列を作成する必要があるためデータによっては1レコードにしかデータが入っていないような空列が発生しますが、このドキュメント指向データベースでは効率よくDBに格納できる利点があります。いわゆるスケーラビリティに優れたDBです。
クラウドサービスでは、AWSがAmazon DocumentDBとしてMongoDBを利用できるようにしています。
~ MongoDB公式サイト ~
MongoDB公式サイト(https://www.mongodb.com/)