データベース管理システム




Emp Tables (Database).PNG

データベース管理システム(データベースかんりシステム、DBMS; 英: database management system)とは、コンピュータのデータベースを構築するために必要なデータベース運用、管理のためのシステム、およびそのソフトウェアのことである。データベースマネジメントシステムとも呼ばれる。




目次






  • 1 概要


  • 2 DBMSの機能


  • 3 オープンソースソフトウェアのDBMS


  • 4 非オープンソースソフトウェアのDBMS


  • 5 関連項目


  • 6 脚注





概要


かつては、CODASYLが提唱したネットワーク型データモデルのDBMSや、階層型データモデルのDBMS、あるいは初期の非力なパーソナルコンピュータなどではカード型データモデルのDBMS(いわゆる簡易データベースソフト)などが幅広く利用されていたが、近年では関係モデル(関係データモデル)を扱う関係データベース管理システム (RDBMS) が主流である。


また、関係データベース管理システムに、利用者が独自のデータ型や関数を拡張可能なオブジェクト関係データベース (ORDBMS) や、オブジェクト指向プログラミング言語との親和性が高いオブジェクトデータベース (ODBMS)、データモデルにXMLを採用したXMLデータベース (XML DB) などが開発され、利用が広まっている。


ネットワーク型データモデルのDBMSや、階層型データモデルのDBMSは実装の軽量性の利から早くから広まっていたが、アプリケーションソフトウェア、データの論理的構造、データの物理的構造の三者が密接に結びつき、柔軟性に欠けるという欠点があった。また、最適化の方法論がクエリ(検索質問)を作るプログラマの力量に依存することもアプリケーションの開発効率を低下させる一因となった。


関係モデルの最大の功績は、アプリケーション、データの論理的構造、データの物理的構造を三階層に分け(三階層アーキテクチャ)、論理データ独立性と物理データ独立性を実現した点にある。


現在では、主に以下のデータベースが広く使われている。下2つについてはNoSQLも参照。




  • 関係データベース、オブジェクト関係データベース - スキーマがしっかり決まっていて、トランザクションが利用できる

  • オブジェクトデータベース

  • ドキュメント指向データベース - XMLデータベースやJSONを利用した、スキーマレスなもの

  • キー・バリュー・ストア、カラム指向データベース - カラム指向はバリューがハッシュテーブルになっているもの



DBMSの機能


以下に DBMSの、主な機能を示す。



データベース言語


データベース言語は、DBMS に対してさまざまな指示を伝えるための言語である。概念的には、データ定義言語 (DDL)、データ操作言語 (DML)、データ制御言語 (DCL) の構成要素からなる。データ定義言語 (DDL) はデータベースの構造を定義する。データ操作言語 (DML) はデータベースに対する検索や更新などの操作を行う。データ制御言語 (DCL) はデータに対するアクセス制御を行う。DBMS ではそのデータベースモデルに基づいたデータベース言語を備えている。例えば関係データベース管理システム (RDBMS) とされるシステムの多くは、関係データベース言語 SQL を備えている。

物理的データ独立性

データベースを格納する記憶装置を変更する際、それに伴って DBMS にアクセスする方法を変更する必要はない (もしくは変更する労力が少なくて済む) 。DBMS にアクセスする利用者やアプリケーションソフトウェアに対して、DBMS は記憶装置の変更をある程度隠蔽することができる。

論理的データ独立性

いくつかの種類の DBMS では論理的データ独立性を支援する。例えばRDBMSではビューを使うことができる。

データ完全性

不正なデータが登録されることや、不正なデータに更新されることを、防ぐ。例えばRDBMSでは、定義域・データ型・一意性(ユニーク)制約・参照整合性制約・一般制約・トリガ などの機能を備えている。

トランザクション処理


ACID特性に基づいたトランザクション処理を行う。複数のユーザが同時に同一のデータを参照・更新した場合でも、不整合がなく正常に処理をこなす、又は異常を通知する(例:二人のユーザが口座から引き出しをした場合、確実に二人分の引き出しが処理される)。

セキュリティ

多くの DBMS ではセキュリティ (機密保護) に関して任意アクセス制御もしくは強制アクセス制御を提供し、さらに一部の DBMS ではデータの暗号化機能も提供する。任意アクセス制御を採用している DBMS が多い。データ暗号化機能では、DBMS を迂回した不正なデータアクセスに対する対策として、DBMS で管理・送受信するデータを暗号化する。

障害復旧

トランザクション障害、システム障害、記憶媒体の障害からの復旧を行う。

最適化

高水準なデータベースモデルを採用する DBMS では、高水準なデータベース言語で記述されたデータ処理要求を、低水準な手続きに最適化して実行する。

分散データベース


分散データベースは、ネットワークで接続された複数のコンピュータを使い、それぞれのコンピュータ上で DBMS のプロセスを協調させて動かし、全体として仮想的に一つの DBMS を実現する技術である。複数のコンピュータを使うため、可用性や処理性能を向上させることができる。クライアント・サーバのデータベースは、分散データベースの簡単で特殊な形態と位置づけることができる。



オープンソースソフトウェアのDBMS


























































































































名称
データ
モデル
ライセンス
開発者
動作環境

Apache Derby
RDBMS
Apache License Version 2.0
Apache DB プロジェクト(Apacheソフトウェア財団)
Pure Java

Berkeley DB
RDBMS

GPL
Sleepycat Software[1]

Unix系, Windows, Pure Java

Firebird
RDBMS
InterBase Public License
Firebird Project
Unix系, Windows

H2 Database
RDBMS
H2 License 1.0
Thomas Mueller
Pure Java

HSQLDB
RDBMS
BSDライセンス
 
Pure Java

LibreOffice Base
RDBMS
LGPL

The Document Foundation
Unix系, Windows

MariaDB
RDBMS
GPL v2
Maria developers
Linux, Windows, Solaris

MaxDB
 
GPLまたはLGPL
MySQL AB
Unix系, Windows

MongoDB

NoSQL
GNU AGPL v3.0
10gen
Linux, Windows, macOS, Solaris

mSQL
RDBMS
商用ライセンス(教育、非商用の機関に限りフリー)
Minerva Network Management Environment
 

MySQL
RDBMS
GPLまたは商用ライセンス

MySQL AB
Unix系, Windows

OpenOffice.org Base
RDBMS
LGPL

サン・マイクロシステムズ、Apacheソフトウェア財団
Unix系, Windows

PostgreSQL
ORDBMS

BSDライセンス
PostgreSQL Global Development Group
Unix系, Windows 

SQLite
RDBMS

パブリックドメイン
D. Richard Hipp


VoltDB
RDBMS
GPL v3
Michael Stonebraker


Xindice

XML DB
Apache License Version 2.0

Apache XMLプロジェクト
 


非オープンソースソフトウェアのDBMS

































































































































































































































































































































名称
データモデル(特徴)
開発元
主な動作環境

4th Dimension
RDBMS

Macintosh,Windows

ADABAS
RDBMS

ソフトウェアAG
Windows、各種UNIX、Linux、メインフレーム (z/OS, z/VM,z/VSE, MSP, BS2000)

ADBS

ネットワーク型

日本電気
メインフレーム (ACOS-4, ACOS-2)

AIM

ネットワーク型

富士通
メインフレーム (MSP, XSP)

ALTIBASE
ハイブリッドメモリ型RDBMS
ALTIBASE Corporation
Windows、Linux、各種UNIX

Bento
カード型

ファイルメーカー

macOS

Caché
多次元

インターシステムズ
Windows、各種UNIX、macOS、OpenVMS

DayDa.Laboo
インメモリ型RDBMS

ターボデータラボラトリー
Windows、各種UNIX

DB2
ORDBMS

IBM
Windows、各種UNIX,Linux、OS/400、メインフレーム (z/OS)

DBMaker




DL/I VSE

階層型 (DL/I)

IBM

メインフレーム (z/VSE)

FileMaker
カード型、RDBMS

ファイルメーカー


GemStone
ODBMS



HiRDB
RDBMS
日立製作所
Windows、Linux、各種UNIX

IMS DB

階層型 (DL/I)

IBM

メインフレーム (z/OS)

Informix Dynamic Server
ORDBMS

IBM(旧Informix)
Windows、Linux、各種UNIX

Ingres
RDBMS

Ingres Corporation


InterBase
RDBMS

コードギア


Jasmine




Linter(英語版)
RDBMS

組み込み機器(T-Engine等)

Microsoft Access
RDBMS

マイクロソフト
Windows

Microsoft SQL Server
RDBMS
マイクロソフト
Windows

MRDB
RDBMS

TDCソフト


NeoCore XMS

XML DB



Objectivity/DB

ODBMS



ObjectStore

ODBMS



Oracle Database
RDBMS

オラクル
Windows。Linux、各種UNIX、z/OS、macOS

Oracle Times Ten In-memory Database
インメモリ型RDBMS
オラクル
Windows、Linux、各種UNIX

PERCIO




Pervasive.SQL(旧称「Btrieve」)
RDBMS
Pervasive
Windows, Linux

PointBase




RedBrick

IBM
Windows、各種UNIX

SAP IQ(旧称「Sybase IQ」)
RDBMS

SAP
Windows、Linux、商用UNIX(各32ビット/64ビット)

SAP HANA
インメモリ型RDBMS

SAP
Linux
SAP Sybase Adaptive Server Enterprise(旧称「Sybase Adaptive Server Enterprise」)
RDBMS

SAP
Windows、Linux、各種UNIX

SAS Scalable Performance Data Server




solidDB
インメモリ型RDBMS
IBM
Windows、Linux、各種UNIX

Sonic XIS




Sybase SQL Anywhere
RDBMS

Sybase iAnywhere
Windows、Linux、各種UNIX、macOS、iOS、Windows CE

SQLBase
RDBMS



SUPRA




Symfoware Server
RDBMS

富士通
Windows、Solaris、Linux、富士通メインフレーム

Tamino




Teradata
RDBMS

Teradata

Linux, Windows

UniSQL
ORDBMS



VERSANT




XDM/SD

構造型 (NDL)

日立製作所

メインフレーム (VOS3)

XDM/RD
RDBMS
日立製作所
メインフレーム (VOS3)

Yggdrasill





RDBMS

管理工学研究所
MS-DOS, Windows

高速機関
インメモリ型RDBMS

高速屋
Windows

五郎
RDBMS

ジャストシステム
MS-DOS, Windows


関連項目



  • データ管理システム

  • バージョン管理システム

  • パッケージ管理システム

  • データストリーム管理システム



脚注


[ヘルプ]



  1. ^ 2006年にOracle Corporationに買収された。





Popular posts from this blog

浄心駅

カンタス航空