Database Watch 6月版 Page 1/2
蛇と蛙とナメクジ、そしてデータベースは進化する
加山恵美
2007/6/15
「三すくみ」ってご存じですか。三者が互いにけん制し、硬直した状態です。ナメクジは蛙(カエル)を恐れ、蛙は蛇(ヘビ)を恐れ、蛇はナメクジを恐れるという話が由来だそうです。
■大規模で検索に強いネイティブXMLデータベース
XMLコンソーシアムのXMLDB勉強会では昨年からネイティブに限らずハイブリッドも含めXMLデータベースのベンダ訪問を行い、各製品を研究しています。5月のXMLDB勉強会では「ネイティブのXMLデータベース」で「テラバイト級」を特徴としている2つの製品がテーマに取り上げられました。メディアフュージョンの「EsTerra」と、東芝ソリューションの「TX1」です。
どちらもXMLデータをツリー構造のまま格納し、データがテラバイト級まで膨れあがっても検索では引けを取らないことを強みとしています。実はこの特徴、ネイティブXMLデータベースでは貴重なことなのです。なぜなら初期のネイティブXMLデータベースはオブジェクト指向データベースの流れをくんでおり、XMLデータをそのまま格納し更新にはそこそこ強くても、データがある程度まで増えると検索速度が落ちてしまうことがあったからです。
しばらくして先の製品のように「大容量になっても検索に強いネイティブのXMLデータベース」が登場するようになってきました。ただしこれらは従来型のネイティブXMLデータベースに比べると、更新はさほど強みではないようです。そのため「最初のデータ一括登録には多少時間がかかるが、後はあまり更新しないので更新能力はさほど重要ではない。それよりも膨大なデータから即座に検索したい」という状況で強さを発揮します。
■非定型なデータにXMLは強みを発揮する
単に「ネイティブのXMLデータベース」といっても、検索に強いタイプと更新に強いタイプがあります。どちらにも強いネイティブXMLデータベースというのは、なかなか実現困難のようです。しかし両者には共通点があります。XMLデータをそのまま格納できること、いい換えればデータ構造に自由度を持たせることができるということです。
データをXMLのまま持つということは(タグがある分データは冗長化してしまいますが)、1件ごとに必要な項目を好きなだけ持つことができるようになります。XMLなら要素と子要素の組み合わせは自由にできるからです。例えば博物館の所蔵品で考えてみましょう。一般的に所蔵品といっても、動物の骨、木の化石、昆虫の標本とでは、それぞれが持つデータ項目には共通ではない項目も多々あります。これらはある程度は定型ですが、少し非定型なデータです。
こうしたデータ構造に自由度が求められる場面において、ネイティブXMLデータベースは活用の場が広がってきています。実際にEsTerraの導入事例の1つに博物館所蔵品情報管理システムがあります。ほかにも製造業の少量多品種な機械部品でも事例やソリューションが目立ちます。例えばNeoCoreが「製造業におけるXMLデータの活用事例ご紹介セミナー」を開催したり、サイバーテックが製造業向けPDMソリューション「文書工房」をリリースするなどです。
■検索か、更新か、自由度か
さてここまでは2者のにらみ合いですが、少し視点を変えると3者になります。検索と更新の両方に強い存在がいるからです。その3者目はRDBMSです。当然といえば当然ですね。その代わりRDBMSはデータをテーブルに格納するため、ネイティブXMLデータベースのような非定型の強さは持てません。
「これぞまさしく三すくみ!」とXMLDB勉強会リーダーの加藤哲義氏(サイバーテック)がこの状況をこういい表しました。
データベース業界における三すくみの図 ナメクジ(更新型XMLDB)は蛙(高速検索)を恐れ、蛙(大容量検索型XMLDB)はナメクジ(更新)を恐れ、蛇はナメクジと蛙(自由度)を恐れる。 |
RDBMS(蛇)は検索と更新に強いがネイティブXMLデータベースのような自由度は持たず、大規模検索型のネイティブXMLデータベース(蛙)は更新が弱点で、更新型のネイティブXMLデータベース(ナメクジ)は検索が弱点となる傾向があります。メカニズムを考えれば無理もないことなのです。製品の光と影、何かを伸ばすために何かを犠牲にしているともいえましょう。データベースを選択するときにはこうした違いをよく把握しておいた方がよさそうです。
1/2 |
Index | |
連載 Database Watch 6月版 蛇と蛙とナメクジ、そしてデータベースは進化する |
|
Page
1 ・大規模で検索に強いネイティブXMLデータベース ・非定型なデータにXMLは強みを発揮する ・検索か、更新か、自由度か |
|
Page 2 ・蛇の威嚇、蛙とナメクジの抵抗 ・PostgreSQLの成長に日本コミュニティの貢献あり? ・パフォーマンスで首位を目指すPostgreSQL |
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」などを紹介していきます。今回は、「各種ガイドラインが示すコンプライアンス要件に、データベースのセキュリティはどのように記載されているのか」を解説します
|
|