1
データベース
第 9 回 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 11g
4
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 2008R2
出典: Wikipedia 5
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 版
( 以降は省略 )
出典: Wikipedia 6
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 が買収
出典: Wikipedia 17
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.1
18
INGRES
カリフォルニア大学バークレイ校のプロジェクト
(Stonebraker 教授 )
もっとも古い RDBMS の一つ
おもに学生が開発にあたった
Sybase や PostgreSQL 、その他多くの商用・オープンの RDBMS の基になった
Postgres は Illustra として商用になり、やはり買収を繰り返 して現在は IBM が保有。
商用化を経て、現在ではソースコードを公開
沿革
1970 年代:最初のリリース
1980 年:商用化
1989 年:クエリの並列実行
1990 年: ASK が買収
1994 年: CA が買収
2004 年:オープンソースとしてソースコードを公開
19
どの DBMS を見ても
非常に長い時間をかけて改良を繰り返して
いる
10 年 20 年はあたりまえ
それだけ複雑で簡単には作れないもの
今生き残っている DBMS は貴重なソフトウエ
ア資源
大事に使ってほしい
20