...

データベース管理システムのOSS動向

by user

on
Category: Documents
23

views

Report

Comments

Transcript

データベース管理システムのOSS動向
オープンソース
オープンソースソフトウェア
データベース管理システム
XMLデータベース
データベース管理システムのOSS動向
ITシステムにおけるオープンソースソフトウェア(OSS)活用の波は現在
こ た に な お や おくむら
まさかず
Linuxを中心に進展しています.DBMS(DataBase Management System:デー
小谷 尚也 /奥村 昌和
タベース管理システム)等のミドルウェアについても商用ITシステムで十分
えのもと
使えるOSSが多数出てきており,商用ソフトウェアに比べて特にコスト削減
榎本 俊文 /坂田 哲夫
効果が大きいことからITシステムにおける次のOSS化の波として注目されて
ほうにし たかし
います.OSSのDBMSである,PostgreSQL,MySQL,Firebird等の動向と,
芳西
崇 /櫻井 紀彦
としふみ さ か た て つ お
さくらい
のりひこ
PostgreSQLをベースにしたXML-DBMSである, Xmics/Postgre SQLの開発動
NTTサイバースペース研究所
向について紹介します.
OSS-DBMSの重要性
OSS-DBMS( DataBase Management System)は,オープンソースソフ
トウェア(OSS)として古くから有名な
UNIX系のツール群やLinux等と同様
えられる実力を秘めており,今後は
のQ L92/SQL99 (1)やその他の最新の
OSS-DBMS活用がITシステムコスト
機能をサポートし,機能的には 商用
削減 のキーになっていくでしょう.
DBMSに引けをとらないものとなってい
ます.
OSS-DBMSの動向
BSD(Berkeley Software Distribution)
現 在 注 目 されている著 名 なO S S -
ライセンス (2) を採用し,個人使用・商
の長い歴史があり,各々が持つ特色
DBMSを紹介します(表1).
用・学術利用など目的を限らず,使
を生かしながら商用DBMSの機能や性
■PostgreSQL
用・変更・配布等にライセンス上の制
能を目指す方向で絶えず開発が続け
られています.
カリフォルニア大学バークレー校で
S t o n e b r e a k e r 教 授 により開 発 が始
約はありません.
■MySQL
また昨今は企業が商用製品として
められた, I n g r e s を起 源 とした
MySQLは 1995年 に TcX Data
開発・販売してきたDBMSをOSS化
POSTGRES Version 4.2をベースに
Konsalt(スウェーデン)のWidenius氏
するケースもあり,OSS-DBMSだか
OSSコミュニティで開発が進められてい
が開発を始め,現在は同国MySQL
らといって商用 ITシステムに使えない
るOSS-DBMSです.ISO(国際標準
A B 社 を中 心 に開 発 が 行 われている
という時代ではありません.むしろ使
化機構)が定めたデータベース言語
OSS-DBMSです.MySQLは高速性
い方によっては商用DBMSを置き換
SQL(Structured Query Language)
を重視して開発が進められているため,
表1 主要なOSS-DBMSの特徴
PostgreSQL
MySQL
Firebird
Ingres
Cloudscape
最新安定バージョン*
Ver7.4.5
Ver4.0.20
Ver1.5.1
Ingres r3
未公開
ライセンス条件
BSDライセンス
GPL/商用
IPL
CA-TOSL
未発表
主な対応
プラットフォーム
特 徴
Linux,Windows,
Linux,Windows,
Linux,Solaris,AIX,
Solaris,AIX,HP-UX, Solaris,HP-UX,
HP-UX,FreeBSD等
FreeBSD等
FreeBSD,MacOS X
SQL92/SQL99の主要
機能を実装し多機能.
性能は主要な商用
DBMSと比較して数割
劣る.
商用DBMSと比較して
機能は劣るが,処理速
度は高速(特に問合せ
処理は高速).
Linux,Windows,
UNIX,OpenVMS
機能はSQL92のエント 機能はSQL92のエント
リレベルに完全準拠. リレベルに準拠.
SQL99もほとんどを実 PostgreSQLと同じ起
装している.
源を持つ.
Javaベース
プログラムサイズが2M
バイト程度と軽量で,
小規模なシステムに適
している.
*本年8月26日現在
14
NTT技術ジャーナル 2004.12
特
集
表2 PostgreSQLのトランザクション対応機能
項 目
意 味
対応する機能
実現度*
原子性
データベースを操作するトランザクションは,そのすべての操作が
BEGIN,COMMIT,ROLLBACKなど,トランザクショ
実行されて記録を残すか,あるいは何の操作の記録も残さないか,
ンの開始・終了を指定するSQL文を実装.
のどちらかでなければならない.
○
一貫性
一貫した(矛盾のない)状態のデータベースを操作するトランザク データベース更新時の一貫性破壊を検出するための,
ションは,それが完了した際にもデータベースを一貫した状態に保つ. ASSERTION等のSQL文を実装.
○
隔離性
複数のトランザクションを並行して実行させても,そのことによる
多数のトランザクションを効率よく実行させるための
異常がなく,それらのトランザクションが順次実行されているかに
MVCC機構を実装.
見える.
○
持続性
いったんトランザクションが完了し,その結果を正しいものとして クラッシュ時にも正常なデータベース内容を復元する
△(7.4)
コミットすると,その結果はあらゆる障害にもかかわらず保存さ WAL機構を実装.次期バージョン(8.0)では,メディ
○(8.0)
れる.
ア障害からの回復も可能.
* ○:商用DBMSに比して遜色なし △:多少の遜色あり
機能的には商用DBMSに比べ多少見
劣りする部分もありますが,特に問合
ち,機能が豊富なPostgreSQ Lを例
SQLは同じ起源に至ります.
ライセンス条件はCA-TOSL(CA(3)
としてどのような機能を実現している
かを紹介します.
せ処理速度の速さには定評が あり,
Trusted Open Source License)
W W W(World Wide Web)サーバの
を採用し,Ingresのソースコードを製
バックエンド用DBMSとして広く利用
品とともに提供することを条件として,
タベースを検索・更新するための問合
されています.
自社製品に組み込むことが可能です.
せ機能,②トランザクション処理を可
■Cloudscape(Derby)
能にするための機能,③ 運用を支援
ライセンス条 件 は G P L ( G N U
(2)
DBMSの持つ多様な機能は,①デー
するための機能,に大別できます.
General Public License) と商用
Cloudscapeは本年8月にIBMが
(有償)ライセンスが選択可能となっ
ASF(Apache Software Foundation)
(1)
ています.
にソースコードを提供することを発表し
S Q L の 現 在 の規 格 は S Q L 9 9 です
■Firebird
たJavaベースのDBMSです.
検索・更新の基本機能
が,機能が膨大であるため,実装すべ
Cloudscapeはプログラムサイズが2M
き基本的な機能として「中核SQL」
OSSとして公開したInterBase6.0の
バイト程度と軽量であることが特徴です.
が推奨されています.PostgreSQL7.4
ソースコードを基にOSSコミュニティで開
現在,I B M から提供されたソース
では利用頻度が低いと見られる機能を
発が進められているOSS-DBMSです.
コードについてライセンスやソースコー
除き,中核 SQLのほぼ9割を実装し
機能的にはSQL92のEntry Level 1に
ドの完全性がASFの基準に適合する
ており,SQLのサポートに関しては商
完全に準拠しており,SQL 99のほと
かどうかのチェック中であり,チェッ
用DBMSに比べ遜色のないものとなっ
んどを実装しています.また軽量で設
クが完了後 OSSになる予定です.
ています.
F i r e b i r d は 2 0 0 0 年 にB o r l a n d が
定や管理が簡単であるという特徴もあ
IngresやCloudscapeはソースコー
またSQL言語の実行機構に関して
ドが最近公開されたばかりですので,
も,効率を高めるための最適化機構と
OSS開発コミュニティが形成されるの
して,データベース内の値の分布に基
Public License) を採用し,商用
か,特定の企業が開発を行うのか等,
づいた処理方式 の選択機構(コスト
目的であっても無料で利用することが
今後の開発体制について,現時点で
ベース最適化)が実装され,この点で
可能です.
は明らかではありません.しかし出所
も十分実用的なレベルに達しています.
■Ingres
がどちらもしっかりとした実績のある
(2)
ところですので,OSS-DBMSの中で
DBMSを利用する目的の1つはト
ります.
ライセンス条件はIPL(InterBase
(2)
I n g r e s は本 年 5 月 にC o m p u t e r
Associates InternationalからOSS化
する方針が発表され,本年8月にソー
スコードが公開された OSS-DBMSで
す.歴史をたどるとIngresとPostgre
一定の地位を築いていくでしょう.
OSS-DBMSの機能概要
ここでは,前述のOSS-DBMSのう
トランザクション関連の機能
ランザクションの実現です.トランザ
クションが満たすべき4つの性質(原
子性,一貫性,隔離性,持続性)を
実現するためのPostgreSQLの機能
NTT技術ジャーナル 2004.12
15
オープンソースソフトウェア
を表2に示します.
表2で注目すべき点として,隔離性
を保証しつつトランザクションの実行
XML
効率を高めるためのMVCC(Multi
RDB
Version Concurrency Control:
多版型同時実行制御)機構や,シス
<book>
<title>OSS-DBMS</title>
テムクラッシュのような障害時にもト
<author>電電太郎</author>
ランザクションの実行結果を保護する
<date>2004/12/10</date>
こ と が で き る WAL( Write Ahead
XML-data
①丸ごと格納
…
</book>
②各要素を各カラムに
Logging:ログ先行書込み)機構の実
title
author
date
現が挙げられます.また現在,βバー
ジョンが公開されている次期バージョ
ノード
ン(8.0)では,ディスク破損のよう
木構造
なメディア障害の際にもバックアップ
リンク
ノード表
③ノードとリンクに分けて
とログを使ってデータベース内容を復
リンク表
元するPITR(Point In Time Recovery)
機構が実現され,この点においても商
用DBMSと比べて大きな差がなくなり
ます.
(3)
図1 XMLデータのRDBへの格納手法
運用支援機能
運 用 を支 援 するための機 能 で は,
データベースのバックアップ作成や,
XMLデータのDBMSへの格納には,
それぞれ表に格納する手法
エラー発生時の報告といった基本的な
X MLデータをその構造のまま格納で
このうち,①と②の手法について説
部分についてはOSS-DBMSでも完備
きるネイティブ XML-DBMSを使う方
明します.まず①の手法は,XMLデー
しています.
法と,信頼性に関してすでに十分な歴
タ全体を格納したり取り出したりする
他方,商用DBMSでは,これらの
史と実績のあるRDBMS(Relational
場合に適しており,そのような用途で
機能に加え昨今特に運用監視等の保
DBMS)にXMLデータの構造を変換
は高速に動作します.また構造の定
守ツールの充実に注力されています.
して格納する方法があります.ここで
まっていないXMLデータの取り扱いが
この方 面 では, O S S - D B M S は商 用
は後者の技術をPostgreSQ Lに適用
可能です.しかしXMLデータの一部
DBMSに一歩及ばずという状況です.
OSS-DBMSを活用した
(4)
した「Xmics/PostgreSQL」 につ
の取出しや更新などの部分的な操作に
いて紹介します.
は時間がかかってしまいます.それに
X M L データをR D B ( R e l a t i o n a l
対し② の手法は,データ全体の入出
DataBase)に格納するには,大きく分
力に対してはXML構造の再構築を行
けて次の3つの手法があります(図1)
.
わなければならないため時間がかかり
おけるメッセージ交換フォーマットとし
① XMLデータを丸ごと1つのカラ
ますが,部分的な操作には適しており
て,XMLをベースとした規格が主流に
ムに格納し,検索のキーとする要
高速に動作します.またデータ格納後
なりつつあります.通信されるX M L
素にだけインデクスを作成する手法
はSQ L 操作が可能で,RDBMSに対
XML-DBMSの開発
インターネット上の企業間取引などに
データをそのまま蓄積・検索したいと
②
XMLデータの各要素をそれぞ
いう要求の高まりを見越し,NT Tサ
れ表のカラムにマッピングして格
イバースペース研究所では,従来より
納する手法
XML -DBMSに関する研究開発を行っ
てきました.
16
NTT技術ジャーナル 2004.12
する機能追加部分も少なくてすむとい
うメリットがあります.
どちらの手法がよいかは,適用する
③ XMLの木構造モデルに基づき,
アプリケーションやXMLデータによっ
各要素をノードとリンクに分解し,
て異なりますので,DBMSとしては両
特
集
各種アプリケーション
XML Schema
XQuery
XML-DBMS
として見える
ミドルウェア部
スキーマ
変換ツール
PostgreSQL
機能拡張部
HDD
図2 Xmics/PostgreSQLの構成
方の対応機能を持っておき,選択でき
技術ですが,Po s t gr e SQ L のソース
るようにしておくことが望ましいとい
コードが公 開 されていることにより
えます.
PostgreSQLの内部処理に合わせた
Xmics/PostgreSQ Lでは,この2
処理の最適化を図ることができ,高速
つの手法に対応した機能を持ち,さら
かつ信頼性の高い安価なXML-DBMS
に組み合わせて使うことも可能です.
を実現することができました.
例えば,1つのXMLデータの中で,
部分的に更新がなされる範囲だけを②
の手法で扱い,残りを①の手法で丸
今後の展開
NT Tサイバースペース研究所では,
ごと格納しておく,といったことが可
OSS-DBMS活用のためのノウハウを
能です.
蓄積するとともに,適用範囲の拡大を
Xmics/PostgreSQLの構成は,ア
ねらって,性能・信頼性・可用性・
プリケーションとPostgreSQLの間に
運用性の向上,高付加価値機能化を
入るミドルウェア部分とPostgreSQL
推進します.
の機能拡張部分で実現され(図2),
■参考文献
アプリケーションに対してはRDBを意
(1) “information technology―Database Languages
―SQL,”(JIS X-3005)ISO/IEC 9075-1999.
(2) http://itpro.nikkeibp.co.jp/NIP/license.html
(3) http://www.caj.co.jp/press/2004/05/ingres.htm
(4) 春日・坂田・小谷・芳西:“リレーショナル
データベースを用いたXQuery処理システム
の 実 現 ,” 情 処 学 研 報 2004-DBS-134(II),
pp.293-299,2004.
識することなくXML-DBMSとしての
アクセスを提供します.さらに,XML
の構造情報から対応するR D B の表構
造を自動的に作成するスキーマ変換
ツールも用意しています.
Xmics/PostgreSQLの基本的な
技術は汎用のRDBMSに適用可能な
(後列左から)榎本 俊文/ 坂田 哲夫/
奥村 昌和/ 櫻井 紀彦
(前列左から)芳西
崇/ 小谷 尚也
DBMSはITシステムの中核を担うコア技
術です.OSS-DBMSの活用方法の探究,適
用領域の拡大に取り組み,より経済的なITシ
ステムの構築に貢献します.
◆問い合わせ先
NTTサイバースペース研究所
OSSコンピューティングプロジェクト
データベース管理グループ
TEL 046-859-2628
FAX 046-859-2768
E-mail [email protected]
NTT技術ジャーナル 2004.12
17
Fly UP