1
データベース
第 10 回 DBMS の事例
鈴木幸市
2
今日の内容
DBMS の事例
商用 RDBMS
階層型の商用 DB
OODB, ORDB
オープンソース DBMS
商用 RDBMS
Oracle
SQL Server
DB2
Sybase
Hi-RDB
Symphoware
Informix
Ingres
System-R
3
Oracle
1978
年依頼一貫して提供されてきたSQL
ベースのRDBMS
もっとも早期に SQL をサポートした DBMS の一つ
実質商用DB
の標準的位置づけ
特に Unix, Linux 市場
沿革
1983 年 : R3
1984 年: Oracle 4, 読取一貫性
1985 年 : Oracle 5, Unix サポート , 分散クエリ
1988 年: Oracle 6, 行レベルロック , PL/SQL, パラレルサーバ
1992 年 : Oracle 7, パラレルクエリー、ストアドプロシージャ、トリガ、データベースリンク、レプリケーション
1997 年: Oracle 8, パーティショニング、 Large Object
1999 年: Oracle 8i, Java 仮想マシン組み込み、 GUI
2001 年: Oracle 9i, XML, RAC
2003 年: Oracle 10g, グリッド機能
2007 年: Oracle 11g4
SQL Server
Microsoft
社がSybase
をもとに展開 Windows
プラットフォーム
Transact SQL という拡張機能を有する
ミラーリング、フェイルオーバ
沿革
1990: SQL Server 1.0 (OS/2)
1994: SQL Server 4.21 (Windows/NT)
1996: SQL Server 6.0
1997: SQL Server 6.5
1998: SQL Server 6.5 Enterprise Edition
1999: SQL Server 7.0, OLTP Services
2000: SQL Server 2000
2003: SQL Server 2000 64-bit Edition
2005: SQL Server 2005
2008: SQL Server 2008
2010: SQL Server 2008R25
出典: Wikipedia
DB2
IBM 社の主力データベース製品
System R などの研究製品の成果を反映している
早期から SQL をサポート
マルチプラットフォーム
z/OS, VSE, VM (メインフレーム)
i シリーズ(中型機)
Linux, Unix, Windows
沿革 ( メインフレーム )
1983: DB2 MVS 版
1986: DB2 R2 MVS 版
1997: OS/390版
2001: z/OS版
沿革 ( マルチプラットフォーム )
1993: AIX版
1994: Solaris, HP-UX 版
1995: Windows版
1999: Linux版
(以降は省略)
6
出典: Wikipedia
Sybase
カリフォルニア大学バークレイ校の Ingres の開発
メンバが設計
Microsoft
との提携後、独自のリリース
金融系など、重要なアプリケーションのプラットフォー ム
近年シェアを落としているが、重要なDBMS
の一つ。 沿革
1984:
設立 1988: Windows
とOS/2
に移植 1993: Microsoft
との提携解消。独自路線。 1995: Adaptive Server Enterprise
に名称変更 2005: Adaptive Server Enterprise 15.0
現在15.5
が最新バージョン 2010
年、ドイツSAP
社に吸収合併7
Hi-RDB
日立製作所が提供
自立並列分散
災害対策、柔軟な HA クラスタ
フェデレーション ( 疎結合の異種分散 DB) 、レプリ
ケーション (DB のコピー ) 、外部データベー
ス、 XML サポートなど
プラットフォーム
HP-UX, AIX, Solaris (Unix)
Linux
Windows
8
Symphoware
富士通が提供する RDBMS 製品
前身はメインフレーム用 RDB II
1995 年に初版リリース
特徴
パーティショニング ( 表を複数の小さな表に分割し
て性能を上げる ) の実装
コネクションプーリング ( 複数のアプリケーションに
対応するスレッドをあらかじめ用意 )
高可用クラスタ
9
Informix
1970 年代に PC 用のデータベースとして出発
1981 年: 最初のリリース。最初は SQL なし
1985 年: SQL ベースのクエリエンジン
1989 年: ストレージ周りを強化、 Informix-OnLine
1994 年: 動的スケーラブルアーキテクチャ
柔軟な並列分散アーキテクチャ(Dynamic Server)
1995 年: Illustra (PostgreSQL の前身の商用版 ) の
買収
2001 年: IBM により買収
10
Ingres
当初 (1970 年代 )
カリフォルニア大学バークレイ校の研究プロジェ
クト
大学を中心に使われていた
その後、いろいろな製品に分岐していった
タンデム社の Non-stop SQL
Sybase, SQL Server
商用 Ingres
買収等々あったが商用のリリースは継続
最終的には CA (Computer Associate) 社 2004
年、CA
社がオープンソースとしてリリース 2006
年、Ingres Corp.
がオープンソースとしてリリース11
System-R
1970 年代に IBM 研究所で行われた研究プロ
ジェクト
SQL 言語の開発と実装
データベースの読み書きアプリケーションで具体的な処理手順を記述しない手法を提唱
(
画期的)
非手続き型言語 Codd
博士の提案した関係モデルを初めて実装 SQL 処理のための基本アルゴリズム
動的計画法アルゴリズムなど
現在の DBMS への影響ははかりしれない12
階層型商用 DBMS
IMS
IBM のメインフレーム用データベース
階層型データモデル
リレーショナルモデルとは大きく異なる
非力なコンピュータでも十分処理できる
レコード全体を読み書き
レコードの絞り込みはアプリケーションで行う 沿革
1968
年に完成
アポロ計画に使う目的だったらしい⇒当時のコンピュータ の能力は非力。それでも動かせるようにした。
以来、改良を重ねて今日に至る13
OODBMS, ORDBMS
Object Store
C++
プログラムとシームレスなデータベース機能
永続オブジェクト 1990
年代に登場
楽観的トランザクション制御
トランザクションの最後で処理が成功したかどうかがわかる 途中で他のトランザクションとの読み書きの衝突は検出しない
失敗したらやり直し
UniSQL/X
1990
年代
オブジェクト指向データベースとSQL
との融合
SQL のオブジェクト、マルチメディア拡張
オブジェクト間の参照関係を使った結合なしの複数テーブル 処理
RDBMS と同等なトランザクション管理14
オープンソースデータベース
PostgreSQL
MySQL
Firebird
INGRES
15
PostgreSQL
Ingres の後継
オブジェクトリレーショナルDB としてUC-Berkeley( カリフォルニア大学バークレイ 校)で誕生
その後種々の変遷を経てリレーショナルデータベースとして提供されている
本格的なエンタープライズユースにも耐えるDB
ISOの標準SQLを実装
MVCC (多版同時実行制御:Multi-version concurrency control)
トランザクション一貫性
データ型、演算子、インデックスなど、柔軟な拡張性
オープンな開発コミュニティ
沿革
1995: Postgres95, ソースコードの整理、SQL サポート
1997: PostgreSQL 6.0
2000: PostgreSQL 7.0
2005: PostgreSQL 8.0, ポイントインタイムリカバリ、セーブポイント、テーブル空間
2005: PostgreSQL 8.1, 二相コミット
2008: PostgreSQL 8.3, XML, 性能向上と安定化
2009: PostgreSQL 8.4,
2010: PostgreSQL 9.0, 現在: ログシッピングによる高可用レプリケーション
(Sync_Rep)、レプリケーションサーバでのデータベース読み込み機能(Hot Standby)
。
16
MySQL
GNU( オープンソース ) ライセンスと商用ライセンスの
2 通り
スウェーデンのMySQL AB
社がソースを保持
その後、サン・マイクロシステムズ社が買収、さらに Oracle が 買収
高速性に定評
軽い Web サイト向け
日本以外では高シェア 沿革
1995
:初版内部リリース 1998
:Windows
版リリース 2001: Version 3.23
2003: Version 4.0
2005: Version 5.0
2008:
サン・マイクロシステムズが買収 2009:
サン・マイクロシステムズをOracle
が買収17
出典: Wikipedia
Firebird
商用のデータベースがベースになっている
履歴型アーキテクチャ PostgreSQL の MVCC と類似
ロックを必要としない読取一貫性
高い並列性
沿革
1984 年頃 DEC (Digital Equipment Corporation, 今は HP に吸収 ) の jrd が起源。作者がスピンアウト。
InterBase で商用展開。
最終的に Borland が買収 (1991) 。 確かボストンでお披露目の会があって出席していた。
2000 年:オープンソース化 (Borland 社 )
その後ビルドできるようにソースコードを整理 Borland 社とは無関係
2002 年 : Firebird 1.0
2004 年: Firebird 1.5
2008 年: Firebird 2.1.118
INGRES
カリフォルニア大学バークレイ校のプロジェクト
(Stonebraker 教授 )
もっとも古いRDBMS
の一つ おもに学生が開発にあたった
SybaseやPostgreSQL 、その他多くの商用・オープンのRDBMS の基 になった
Postgres はIllustra として商用になり、やはり買収を繰り返して現在 はIBM が保有。
商用化を経て、現在ではソースコードを公開
沿革
1970
年代:最初のリリース 1980
年:商用化 1989
年:クエリの並列実行 1990
年:ASK
が買収 1994
年:CA
が買収 2004
年:オープンソースとしてソースコードを公開19
どの DBMS を見ても
非常に長い時間をかけて改良を繰り返してい
る
10 年 20 年はあたりまえ
それだけ複雑で簡単には作れないもの
今生き残っている DBMS は貴重なソフトウエア資
源
大事に使ってほしい20