関係データベース管理システムの比較

ウィキメディアの一覧記事

関係データベース管理システムの比較(かんけいデータベースかんりシステムのひかく)では、関係データベース管理システムの比較について説明する。特記されていない限り、アドオンや外部プログラムを含まない、最新の安定バージョンに基づいて比較を行っている。

一般的な情報

開発元初回リリース最新リリース最新バージョンライセンス
4th Dimension4D s.a.s19842010-07-0111.7プロプライエタリ
ADABASSoftware AG19708.1プロプライエタリ
Adaptive Server EnterpriseSybase19872010-01-0115.5プロプライエタリ
ALTIBASEALTIBASE Corp.2000-075.1.1プロプライエタリ
Apache DerbyApacheソフトウェア財団20042010-10-0110.6.2.1Apache License
DB2IBM19822009-059.7プロプライエタリ
FileMakerクラリス19842013-12-0113.0v3プロプライエタリ
FirebirdFirebird project2000-072010-10-012.5IPL, IDPL
HSQLDBHSQL Development Group20012010-06-012.0BSD
H2 DatabaseH2 Software20052010-11-011.2.145EPL, 修正MPL
HiRDB日立製作所19942011-01-019.1プロプライエタリ
Informix Dynamic ServerIBM19852010-10-0111.70プロプライエタリ
IngresIngres Corp.19742009-10-019.3GPL, プロプライエタリ
InterBaseエンバカデロ・テクノロジーズ19852010-0910.0プロプライエタリ
MariaDBMonty Program Ab2010-022016-01-0110.1.11GPL
Microsoft Accessマイクロソフト19922010-05-0114プロプライエタリ
Microsoft Visual FoxProマイクロソフト198420059プロプライエタリ
Microsoft SQL Serverマイクロソフト19892016v13.0プロプライエタリ
MySQLオラクル1995-112016-02-015.7.11GPL, プロプライエタリ
Oracle Databaseオラクル1979-112013-0612c Release 1プロプライエタリ
PostgreSQLPostgreSQL Global Development Group1989-062016-02-019.5.1TPL
SQLiteD. Richard Hipp2000-082016-02-013.11.0パブリックドメイン
Symfoware Server富士通1995-102010-0110.0プロプライエタリ

対応オペレーティングシステム

サポートするオペレーティングシステムの比較を以下に示す。

WindowsmacOSLinuxBSDUNIX
4th DimensionYesYesNoNoNo
ADABASYesNoYesNoYes
Adaptive Server EnterpriseYesNoYesYesYes
ALTIBASEYesNoYesYesYes
Apache Derby 1YesYesYesYesYes
DB2YesNoYesNoYes
FirebirdYesYesYesYesYes
HSQLDB 1YesYesYesYesYes
H2 Database 1YesYesYesYesYes
FileMakerYesYesNoNoNo
Informix Dynamic ServerYesYesYesYesYes
IngresYesYesYesYesYes
InterBaseYesYesYesNoYes
Microsoft AccessYesNoNoNoNo
Microsoft Visual FoxProYesNoNoNoNo
Microsoft SQL ServerYesNoNoNoNo
MySQLYesYesYesYesYes
MariaDBYesYesYesYesYes
Oracle DatabaseYesYesYesNoYes
PostgreSQLYesYesYesYesYes
SQLiteYesYesYesYesYes

注記 (1): 利用可能か否かはオペレーティングシステムではなくJava仮想マシンに依存する。

基本機能

基本的な機能の比較を以下に示す。

ACID参照整合性トランザクションMVCC2相コミットUnicode
4th DimensionYesYesYes??Yes
Adaptive Server EnterpriseYesYesYesNoYesYes
ALTIBASEYesYesYesYesYesYes
Apache DerbyYesYesYesNoYesYes
DB2YesYesYesYes 4YesYes
FirebirdYesYesYesYesYesYes
HSQLDBNoYesYesYesYesYes
H2 DatabaseYesYesYesYesYesYes
Informix Dynamic ServerYesYesYesYesYesYes
IngresYesYesYesYes 5YesYes
InterBaseYesYesYesYesYesYes
Microsoft AccessNoYesYes??Yes
Microsoft Visual FoxProNoYesYes??No
Microsoft SQL ServerYesYesYesYes 3YesYes
MySQLYes 1Yes 1Yes 1Yes 1Yes 1Yes 2
Oracle DatabaseYesYesYesYesYesYes
PostgreSQLYesYesYesYesYesYes
SQLiteYesYes [1]Yes[1][2]NoNoYes

注記 (1): InnoDB でのみ利用できる。MyISAM では利用できない。

注記 (2): Unicodeの補助文字 (supplementary character)への対応はMySQL 5.5以降。

注記 (3): SQL Server 2005以降のREAD_COMMITTED_SNAPSHOT。

注記 (4): DB2 9.7以降のCS with CC。

注記 (5): Ingres 10以降のMVCC利用可能にしたDBに対して、システム単位(SYSTEM_LOCK_LEVEL=MVCC)で指定、もしくはセッション(SET LOCKMODE SESSION WHERE LEVEL = MVCC)、テーブル単位(SET LOCKMODE ON テーブル WHERE LEVEL = MVCC)で指定する。

数量制限

数量制限の比較を以下に示す。

全体サイズサイズサイズデータサイズ文字列型数値型識別子サイズ
4th Dimension無制限??65135200GB200GB64bits?
ALTIBASE無制限??10242GB2GB64bits32
DB2512TB512TB32,677B10122GB32KB64bits128
Firebird無制限32TB64KB列構成に依存2GB32,767B64bits31文字
H2 Database256GB  7無制限 8無制限 8無制限 8256GB無制限 864bits無制限 8
Ingres無制限無制限256KB10242GB32,000B64bits?
InterBase無制限32TB64KB列構成に依存2GB32,767B64bits67バイト
Microsoft Access2GB2GB16 MB25564KB255B32bits?
Microsoft Visual FoxPro無制限2GB65,500B2552GB16 MB32bits?
Microsoft SQL Server512PB512PB無制限300002GB2GB 61038128
MySQL無制限16TB8000B or 64KB 31000 or 4096 44GB64KB64bits64
Oracle Database無制限128TB無制限1000無制限4000B126bits30
PostgreSQL無制限32TB約8000B or 1.6TB 5列構成に依存 (250-1600)1GB1GB10100063
SQLite32TB??327671GB1GB64bits?

注記 (3): InnoDB では 8000 バイトまで。(VARBINARY, VARCHAR, BLOB, TEXT 列を除く) [2]

注記 (4): InnoDB では 1000 列まで。[3]

注記 (5): PostgreSQL のサイズは text, bytea, xml 等を除外して約8000バイトが最大。

注記 (6): SQL Server 2005 以降の VARCHAR(MAX) を用いた場合。

注記 (7): H2 Database のサイズは BLOBCLOB を除外して計算する。

注記 (8): Java の配列型の制限 (231) が識別子サイズ、行数、列数、文字数などに影響する。

インデックス

B-/B+木 インデックス以外のインデックスの比較を以下に示す。

R木/GiSTハッシュ部分逆順ビットマップ転置
4th Dimension?Cluster?????
Adaptive Server EnterpriseNoNoNoNoYesNoNo
ALTIBASEYesNoNoNoNoNoNo
Apache DerbyNoNoNoNoNoNoNo
DB2NoNoYesNoYesYesNo
FirebirdNoNoYesNoYes 1NoNo
HSQLDBNoNoNoNoNoNoNo
H2 DatabaseNoYesNoNoNoNoNo
Informix Dynamic ServerYes (GiST)YesYesYesYesYesYes
IngresYesYesYesNoNoYesNo
InterBaseNoNoNoNoNoNoNo
Microsoft AccessNoNoNoNoNoNoNo
Microsoft Visual FoxProNoNoYesYes式で代用YesNo
Microsoft SQL ServerNo 2Non/Cluster & fill factorYes 3Yes 3NoNoNo
MySQLMyISAM のみMEMORY, NDB, InnoDB のみNoNoNoNoMyISAM, Mroonga, InnoDB のみ
Oracle DatabaseEE のみCluster TablesYes式で代用YesYesNo
PostgreSQLYes (GiST)YesYesYes式で代用NoYes
SQLiteYesNoNoNoYesNoNo

注記 (1): freeAdhocUDF ライブラリの関数が必要がある。

注記 (2): SQL Server 2008以降空間インデックスがサポートされたがBツリーを使用して構築される。

注記 (3): 計算列でのインデックス作成 または ビューでのインデックス作成 で代用する。[3]

問い合わせ機能

問い合わせ機能の比較を以下に示す。全てのデータベースでサポートされている以下の機能は省略する。

MERGEIntersectExcept外部結合サブクエリマージ結合ハッシュ結合再帰クエリウィンドウ関数
4th Dimension???YesNoNo???
Adaptive Server Enterprise???YesYesYes???
ALTIBASENoYesYesYesYesYesYesYesNo
Apache Derby?YesYesYes???NoNo
DB2YesYesYesYesYesYesYesYesYes
FirebirdYesNoNoYesYesYesNoYesNo
HSQLDB?YesYesYes?????
H2 Database?YesYesYesYesNo?NoYes
Informix Dynamic Server??MINUSYesYesYes???
Ingres???YesYesYes???
InterBaseNoNoNoYesWHERE句のみYesNoNoNo
Microsoft Access???YesYes????
Microsoft Visual FoxPro???YesYes????
Microsoft SQL ServerYesYesYesYesYesYesYesYesYes
MySQLREPLACENoNoYesYesNoNoNoNo
Oracle DatabaseYesYesMINUSYesYesYesYesCONNECT BYYes
PostgreSQLNoYesYesYesYesYesYesYesYes
SQLiteREPLACEYesYesLEFTのみYes??No3.25+[4]

その他の機能

その他の機能の比較を以下に示す。

ドメインカーソルトリガストアドプロシージャマテリアライズドビュー
4th DimensionYesNoYesYesNo
Adaptive Server EnterpriseYesYesYesYesNo
ALTIBASEYesYesYesYesNo
Apache DerbyNoYesYesYesNo
DB2CHECKのみYesYesSQL/PSM, PL/SQLYes
FirebirdYesYesYesPSQLNo
HSQLDB?NoYesYesNo
H2 DatabaseYesNoYesYesNo
Informix Dynamic Server?YesYesYesYes
IngresYesYesYesYesNo
InterBaseYesYesYesYesNo
Microsoft AccessYesNoNoNoNo
Microsoft Visual FoxProNoYesYesYesYes
Microsoft SQL ServerYesYesYesTransact-SQL, CLRYes 1
MySQLNoYesYesSQL/PSMNo
Oracle DatabaseYesYesYesPL/SQL, JavaYes
PostgreSQLYesYesYesPL/pgSQLNo
SQLiteNoNoYesNoNo

注記 (1): クエリ最適化のサポートは Developer と Enterprise 版のみ。その他の版ではマテリアライズドビューへの直接参照とクエリヒントが必要になる。[4].

パーティショニング

パーティショニングの比較を以下に示す。

範囲ハッシュ複合リスト
Adaptive Server EnterpriseYesYesNoYes
ALTIBASEYesYesNoYes
Apache DerbyNoNoNoNo
IBM DB2YesYesYesYes
FirebirdNoNoNoNo
HSQLDB????
H2 DatabaseNoNoNoNo
Informix Dynamic ServerYesYesYesYes
IngresYesYesYesYes
InterBaseNoNoNoNo
Microsoft AccessNoNoNoNo
Microsoft Visual FoxProNoNoNoNo
Microsoft SQL ServerYesNoNoNo
MySQLYesYesYesYes
Oracle DatabaseYesYesYesYes
PostgreSQLYesNoYesYes
SQLiteNoNoNoNo

セキュリティ

情報セキュリティアクセス制御の比較を以下に示す。

通信暗号総当たり攻撃耐性ディレクトリ・サービス連携パスワードの複雑さの強制 2セキュリティ情報の公開 3非特権ユーザでの実行監査資源制限権限分離 5セキュリティ認証
Adaptive Server EnterpriseYes?YesYesYes [5]YesYesYesYesEAL4+
DB2Yes?YesYesYes [6]YesYesYesYesEAL4+ 6
FirebirdNoYes [7]NoYes部分的 [8]NoNoNoNo 7No
H2 DatabaseYesYes?No?Yes?YesYesNo
IngresNoYesYesYes部分的 [9]YesYesYesYesNo
MySQLYesNoNoNo部分的 [10]YesNoNo?No
Microsoft SQL ServerYes?YesYesYes [11]YesYesYesYesEAL1+ 6
Oracle DatabaseYesYesYesYesYes [12]?YesYes?EAL4+
PostgreSQLYesNoYes [13]Yes [14]Yes [15]YesNoYesNoEAL1
SQLiteNoNoNoNo部分的 [16]YesNoNoNoNo

注記 (2): パスワードの長さの下限や使用する文字の複雑さを強制できるか否か。

注記 (3): セキュリティ情報が公開されており、セキュリティ・アップデートを手に入れられるか否か。リリースノートには記載されていても専用のページを持たない場合は「部分的」とする。

注記 (5): バックアップ、監査、ユーザやデータベースの管理を行う権限を分離できるか否か。

注記 (6): Common Criteria certified product list

注記 (7): Firebird には SYSDBA ユーザと DB 所有者の概念はあるが、バックアップやセキュリティ管理の権限を分離することはできない。

脚注

関連項目

外部リンク