Database Watch 5月版 Page 1/2
2005年、RDBMSの対抗軸はXMLへ向かう?
加山恵美
2005/5/14
今月はXMLデータベースについて、データの格納方法を中心に比較してみます。システムでXML形式のデータを扱う必要性はますます高くなる中、データベースはただXMLと連携するだけではなくXMLの特性に合わせた進化を迫られています。アプリケーション間を行き交うXMLとデータを収納するデータベース、そのデータ格納方法やXML機能の対応具合はデータベースごとに個性が出ていて興味深いです。
■OracleはLinux 2.6カーネルに対応
まずは最近の主な話題から。オラクル製品のLinux 2.6カーネルへの対応が進んでいます。オラクル製品の「Red Hat Enterprise Linux 4」への対応日程が4月21日に公表されました。それによると、すでに4月中には「Oracle Database 10g Release 1」と「Oracle9i Database Release 2(要パッチ)」が対応済み、「Oracle Collaboration Suite 9.0.4」は5月10日に対応予定、「Oracle Application Server 10g」は準備中となっています。IBMのDB2は先月紹介したとおり「対応済み」で、Linux 2.6カーネルの普及は確実に広まっています。
- (日本オラクルのプレスリリース)
オラクル製品が「Red Hat Enterprise Linux 4」に対応
マイクロソフトからは最新プレビュー版リリースのお知らせです。4月26日から「Visual Studio 2005」および「SQL Server 2005」の最新プレビュー版(日本語版)が提供されるようになりました。また翌日の4月27日からは「Microsoft SQL Server 2000 Reporting Services Service Pack 2」日本語版がダウンロード可能になりました。このSP2は不具合の修正に加え、新たに「SharePoint Webパーツ」が追加提供されポータルサイトとの連携機能が強化されています。
- (マイクロソフトの情報サイト)
SQL Server 2005 April CTP (Community Technology Preview) 日本語版
スウェーデンのオープンソースRDBMSであるMySQLに企業版のコミュニティができたようです。NECシステムテクノロジー、スマートスタイル、住商情報システム、タイムインターメディア、ホットリンクの5社はMySQL普及推進のためのMySQLパートナー会(JMPA:Japan MySQL Partners Association)を設立しました。オープンソースRDBMSのエンタープライズ化が今後ますます進展しそうです。
■RDBMSご三家は年内にはハイブリッドへ
それでは、RDBMSではどうXMLを格納するかを考えてみます。基本的なことですがRDBMSはデータをテーブルに格納するのに対して、XMLのデータはツリー型をしています。この構造の差をどう解決するか、その方法は2005年2月版で解説したネイティブXMLデータベースやXMLが使用可能なデータベースなどに分類できます。
ここで「CLOB型」と「BLOB型」というデータ型を覚えておいてください。これらはSQL99で追加された型です。CLOB型とは「Character Large OBjects」で、大きい容量向けのテキストです。バイナリだとBLOB型です。これらの型ではギガバイト級のデータを格納することができるようになっています。
さて具体的なRDBMS製品で比べます。「IBM DB2 UDB V8」では、XMLのツリーとRDBMSのテーブルの橋渡しをする手段として「XML Extender」があります。これによるXMLデータの保存方法は「XML Column」と「XML Collection」の2種類に分かれます。XML ColumnはXMLのドキュメントをそのままCLOB型のカラムに挿入するイメージです。そのためタグが残ります。ただし検索効率を向上させるために、インデックス用のサイドテーブルを作成します。一方、XML CollectionはXMLの文書構造をテーブルにマップします。ここではXMLドキュメントは分解され、タグなしのデータがテーブルに保管されます。どちらを選ぶかは、XMLドキュメントの性質や更新の頻度などを考慮して使い分けることになります。
「Oracle Database」もCLOB型があるため、先に述べたような2通りの格納が可能です。Oracle Databaseがデータベースに(ネイティブな)XMLをそのまま格納できるようになったのは「Oracle9i Database Release 2」の「Oracle XML DB」からです。Oracle XML DBではCLOB型のほかにDOMのオブジェクト型も格納できるようになっています。このネイティブなXMLの格納は非構造化ともいいます。一方、XMLドキュメントをテーブルにマップする格納方法もあります。こちらが構造化です。構造化だとスキーマ言語は「XML Schema」しか使えません。非構造化なら当然ながら「XML Schema」「DTD」「使用なし」の3通りが選べます。
「Microsoft SQL Server 2000」ではXMLをテーブルにマップして格納します。つまり構造化型の格納方法です。SQL Server 2000ではXMLデータとの相互変換がXML連携の主流だったせいかCLOB型はないようですが、ほかのデータベースとの関係でCLOB型のサポートはあります。しかしネイティブXML対応の重要性が高まり、SQL Server 2005ではXMLのドキュメントをそのまま(またはその断片を)格納できるXMLデータ型が登場します。
ベンダごとに表現や手法に差異はありますが、商用RDBMSは当初はXML連携機能を加えることでXMLを利用可能なデータベースになることから始まり、近年ではネイティブXMLデータベース機能という選択肢も追加するような方向へと進んでいます。すでにOracleとDB2がネイティブ対応しており、残るSQL Serverは2005で追い付きます。2005年中には商用RDBMSご三家はすべてハイブリッドなXMLデータベースになるようです。(次ページへ続く)
1/2 |
Index | |
連載 Database Watch 5月版 2005年、RDBMSの対抗軸はXMLへ向かう? |
|
Page
1 ・OracleはLinux 2.6カーネルに対応 ・RDBMS御三家は年内にはハイブリッドへ |
|
Page 2 ・ネイティブXMLデータベースの定番製品 ・大容量、超高速など、個性派ネイティブXMLデータベース |
Database Watch |
- Oracleライセンス「SE2」検証 CPUスレッド数制限はどんな仕組みで制御されるのか (2017/7/26)
データベース管理システムの運用でトラブルが発生したらどうするか。DBサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、Oracle SE2の「CPUスレッド数制限」がどんな仕組みで行われるのかを検証します - ドメイン参加後、SQL Serverが起動しなくなった (2017/7/24)
本連載では、「SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「ドメイン参加後にSQL Serverが起動しなくなった場合の対処方法」を解説します - さらに高度なSQL実行計画の取得」のために理解しておくべきこと (2017/7/21)
日本オラクルのデータベーススペシャリストが「DBAがすぐ実践できる即効テクニック」を紹介する本連載。今回は「より高度なSQL実行計画を取得するために、理解しておいてほしいこと」を解説します - データベースセキュリティが「各種ガイドライン」に記載され始めている事実 (2017/7/20)
本連載では、「データベースセキュリティに必要な対策」を学び、DBMSでの「具体的な実装方法」や「Tips」などを紹介していきます。今回は、「各種ガイドラインが示すコンプライアンス要件に、データベースのセキュリティはどのように記載されているのか」を解説します
|
|