Comments
Description
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