SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
XMLデータベースについて
Report
Koji Kawaguchi
Follow
UZABASE, Inc.
Mar. 25, 2013
•
0 likes
•
8,501 views
1
of
14
XMLデータベースについて
Mar. 25, 2013
•
0 likes
•
8,501 views
Report
Technology
Koji Kawaguchi
Follow
UZABASE, Inc.
Recommended
東京電機大学 ポータルサイトUNIPAからの情報抽出と再利用
Koki Hashimoto
15.8K views
•
35 slides
卒研発表
yayugu
1.6K views
•
47 slides
【第3回初心者勉強会】データベースを使おう
Shuhei Iitsuka
1.1K views
•
25 slides
コマンド実行結果のログ取得について
Koji Kawaguchi
3.8K views
•
7 slides
ネットワークについて
Koji Kawaguchi
4.6K views
•
20 slides
Introduction to Data Science
Christy Abraham Joy
51.4K views
•
51 slides
More Related Content
Recently uploaded
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
93 views
•
24 slides
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
NTT DATA Technology & Innovation
39 views
•
44 slides
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
NTT DATA Technology & Innovation
442 views
•
44 slides
指側面を入力インタフェース化するリング型デバイス
sugiuralab
5 views
•
1 slide
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
83 views
•
1 slide
拡散する画像生成.pdf
NTTDOCOMO-ServiceInnovation
226 views
•
38 slides
Recently uploaded
(11)
遠征ドルヲタのための便利サイトを作ってみた
Kenta Fujimoto
•
93 views
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
NTT DATA Technology & Innovation
•
39 views
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
NTT DATA Technology & Innovation
•
442 views
指側面を入力インタフェース化するリング型デバイス
sugiuralab
•
5 views
ヒアラブルデバイスにおける音漏れ信号を用いた空中ジェスチャ認識
sugiuralab
•
83 views
拡散する画像生成.pdf
NTTDOCOMO-ServiceInnovation
•
226 views
インフラチームとCCoEの関係.pptx
ssuser5c7ee4
•
73 views
磁石内臓イヤリングによる磁力変化を利用したジェスチャ識別
sugiuralab
•
93 views
NoSQL/SQLデュアルインターフェースを備えた IoT向けデータベースGridDB - 強化された時系列データ管理・検索機能について -
griddb
•
7 views
画像生成AIの問題点
iPride Co., Ltd.
•
127 views
MLOps Course Slides_JP(配布用).pdf
Yuya Yamamoto
•
250 views
Featured
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
9.3K views
•
21 slides
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
53.8K views
•
138 slides
12 Ways to Increase Your Influence at Work
GetSmarter
400.6K views
•
64 slides
ChatGPT webinar slides
Alireza Esmikhani
28.2K views
•
36 slides
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
6.3K views
•
51 slides
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference
3.2K views
•
12 slides
Featured
(20)
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
•
9.3K views
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
•
53.8K views
12 Ways to Increase Your Influence at Work
GetSmarter
•
400.6K views
ChatGPT webinar slides
Alireza Esmikhani
•
28.2K views
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
•
6.3K views
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference
•
3.2K views
Barbie - Brand Strategy Presentation
Erica Santiago
•
24K views
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
•
25.1K views
Introduction to C Programming Language
Simplilearn
•
8.2K views
The Pixar Way: 37 Quotes on Developing and Maintaining a Creative Company (fr...
Palo Alto Software
•
88.1K views
9 Tips for a Work-free Vacation
Weekdone.com
•
7K views
I Rock Therefore I Am. 20 Legendary Quotes from Prince
Empowered Presentations
•
142.7K views
How to Map Your Future
SlideShop.com
•
274.9K views
Beyond Pride: Making Digital Marketing & SEO Authentically LGBTQ+ Inclusive -...
AccuraCast
•
3.3K views
Read with Pride | LGBTQ+ Reads
Kayla Martin-Gant
•
1K views
Exploring ChatGPT for Effective Teaching and Learning.pptx
Stan Skrabut, Ed.D.
•
56.3K views
How to train your robot (with Deep Reinforcement Learning)
Lucas García, PhD
•
42.2K views
4 Strategies to Renew Your Career Passion
Daniel Goleman
•
121.8K views
The Student's Guide to LinkedIn
LinkedIn
•
87K views
Different Roles in Machine Learning Career
Intellipaat
•
12.3K views
XMLデータベースについて
1.
XMLデータベースについて
2013/3/21 株式会社ユーザベース 川口浩司
2.
自己紹介 • 川口 浩司(かわぐち
こうじ) • ユーザベースには2011年10月に入社 主にSPEEDA画面の開発(Java)を担当 • 前職は独立系のSIer – Webやインターネット系の中規模システムや、最近では携 帯電話のソフト開発を経験 – 自社製品のXMLデータベースの開発を担当 – XMLコンソーシアムにて、各社のXMLデータベース調査や、 他ベンダーとの普及活動も行う • Facebook http://www.facebook.com/k.kawag – 「今日の青山ランチ」をたまに掲載 1
3.
XMLとは • Extensible Markup
Language(拡張可能なマー ク付け言語) • 1998年2月10日、 World Wide Web Consortium (W3C) より、 XML 1.0 が勧告された。 • 最新版は以下 – XML 1.0 Fifth Edition(2008/11/26) – XML 1.1 Second Edition (2006/8/16) 2
4.
XMLとは • 構造化データを記述するためのデータ形式 –
マークアップ言語 – 親子関係、階層構造 – 順序、繰り返し、省略 – 要素、属性などを自由に定義可能 • システム間のデータ交換での使用を意図 – テキスト形式、エンコーディング宣言 • APIやライブラリなどが整備されている – Parser、DOM、SAX、Validation機能、Data Binding 3
5.
拡張可能とは • 構造の拡張 –
要素や属性の追加 • スキーマの組み合わせ – 複数のスキーマを組み合わせて使用可能 – 名前空間 • 規格の拡張 – XML Schema、XSL、XPath、SOAPなどの周辺規格 – XHTML、RSS、XBRL、WSDL、Open XMLなどの応用 4
6.
XMLをRDBに入れる方法 ①XMLを文字列のまま、カラムに格納する
id time data 1 2013/3/21 13:10 <input> <name>鈴木</name> <lunch> <item>おにぎり</item> <item>からあげ</item> </lunch> </input> 2 2013/3/21 13:20 <input> <name>佐藤</name> <lunch> <item>おにぎり</item> <item>おにぎり</item> <item>おにぎり</item> </lunch> </input> 3 2013/3/21 13:30 <input> <name>田中</name> <lunch> <item>たこやき</item> </lunch> </input> – 部分的な取得、更新が出来ない – 検索時、1件ずつXMLをparse、たどる必要がある 5
7.
XMLをRDBに入れる方法 ②要素や属性をテーブルやカラムにマッピング id
time name lunch1 lunch2 lunch3 1 2013/3/21 13:10 鈴木 おにぎり からあげ 2 2013/3/21 13:20 佐藤 おにぎり おにぎり おにぎり 3 2013/3/21 13:30 田中 たこやき – データ構造が固定される – マッピング用のプログラムが毎回必要 – 要素や属性の値での検索や取得は可能 6
8.
XMLをRDBに入れる方法 ③要素名や属性名、親子・兄弟関係などの情報に分 解して格納する
id time element_id element_name text parent_id sibiling_id 1 2013/3/21 13:10 1 input 1 2013/3/21 13:10 2 name 鈴木 1 1 2013/3/21 13:10 3 lunch 1 2 1 2013/3/21 13:10 4 item おにぎり 3 1 2013/3/21 13:10 5 item からあげ 3 4 2 2013/3/21 13:20 6 input 2 2013/3/21 13:20 7 name 佐藤 6 2 2013/3/21 13:20 8 lunch 6 7 2 2013/3/21 13:20 9 item おにぎり 8 2 2013/3/21 13:20 10 item おにぎり 8 9 2 2013/3/21 13:20 11 item おにぎり 8 10 3 2013/3/21 13:30 12 input 3 2013/3/21 13:30 13 name 田中 12 3 2013/3/21 13:30 14 lunch 12 13 3 2013/3/21 13:30 15 item たこやき 14 – 特定の要素や属性を取得するために、要素ごとにレコー ドをたどっていく必要がある 7
9.
XMLデータベース • XMLデータを直接扱う機能を持つデータベース • ハイブリッドXMLデータベース
– RDBにXMLデータ対応機能を付加 – リレーショナルデータとXMLを同時に扱うことが可能 – DBの構成や操作(API)などはRDBの拡張 • ネイティブXMLデータベース – XMLデータ専用 – DBの構成や操作(API)などもXMLに特化 8
10.
ハイブリッドXMLデータベース • カラムのデータ型にXML型を追加 • SQLの中でXPathやXQueryを使用して、XMLの特定
の要素等を指定した取得、検索、更新などが可能 • XMLの特定の要素にインデックスを指定 • DBMSの機能は基本的にそのまま使用可能 • 製品例 – Oracle「Oracle 9i R2」 – Microsoft「SQL Server」 – IBM「DB2 9」pureXML – 日立「HiRDB V8」XML Extension 9
11.
ネイティブXMLデータベース • RDBのようなテーブルではなく、ファイルシステムに
XMLファイルを格納していくイメージ • XPathやXQueryを使用して、XMLの要素等を指定し た取得や更新を行ったり、検索を行う • JDBCのような標準APIはなく、各製品が独自のAPIを 提供 • 任意のXMLを格納可能で、インデックスを定義しなく ても、任意の条件で高速に検索 • データの格納形式や検索方法など、各製品ごとに 工夫して差別している 10
12.
ネイティブXMLデータベース • 製品例 –
サイバーテック「Cyber Luxeon」(eXcelon) – Software AG「Tamino XML Server」 – メディアフュージョン「EsTerra」(Ygdrasill) – セック「Karearea」 – サイバーテック「NeoCoreXMS」 – 富士通「Interstage Shunsaku Data Manager」 – 東芝ソリューション「TX1」 11
13.
XMLデータベースの課題 • 遅い、難しい、大量データが扱えない(第一世代)
⇒速い、簡単、テラバイト級(第二世代) • XML自体が難しい上に、XMLデータベースも独自仕様であり、 敷居が高い • 情報が十分公開されていない • プログラミングやチューニングなどでノウハウが必要 • DBMSとしての保守機能や安定性、拡張性、実績不足 • RDBとネイティブXMLを両方導入するメリットが少ない • XMLデータを扱う場合でも、RDBで事足りることがほとんど • MySQLやPostgreSQLのような、フリーで高機能、実績もある XMLデータベースが存在しない 12
14.
XMLデータベースの今後 • XMLは完全に普及してはいるが、コンテンツやデータ交換用
のフォーマットとしての利用がほとんどであり、大量の蓄積 データを柔軟に検索する用途は多くない • データベースとしては依然としてRDBが主流であり、XMLを扱 うしてもRDBで事足りることがほとんど • XMLデータベースが大量データに対応していると言っても、 実際に何千万件、何億件というデータを入れようとすると、並 列環境などの複雑な構成になり、価格が跳ね上がったりする • 一見簡単なようだが、機能が不足していて、自分で作り込ん で実現する必要があったり、内部まで熟知していないと十分 チューニングが出来なかったりする • クラウド、NoSQLなどが台頭している中、棲み分けに期待 13