Upload
tiger
View
92
Download
0
Embed Size (px)
DESCRIPTION
XML 数据管理技术. 周军锋. 大纲. 简介 流程 内容 总结. 大纲. 简介 流程 内容 总结. 综述简介 —— 必要性. XML 数据大量涌现 Gartner[1] 预测, XML 文件的使用率在 2007 年达到 40% , 2008 年将占据 支配地位 IDC (国际数据公司)报告显示,在 500 家受访企业的 IT 部门中,有 29 % 正在大量使用 XML 数据库 XML 研究如火如荼 每年各种学术会议期刊发表 XML 相关论文多达 300 篇 没有系统的总结和比较 发表时间早:大部分出现在 06 年左右 - PowerPoint PPT Presentation
Citation preview
XML 数据管理技术周军锋
23/4/22 2/65
大纲简介流程内容总结
23/4/22 3/65
大纲简介流程内容总结
23/4/22 4/65
综述简介——必要性 XML 数据大量涌现
Gartner[1] 预测, XML 文件的使用率在 2007 年达到 40% , 2008 年将占据支配地位
IDC (国际数据公司)报告显示,在 500 家受访企业的 IT 部门中,有 29 %正在大量使用 XML 数据库 XML 研究如火如荼
每年各种学术会议期刊发表 XML 相关论文多达 300 篇 没有系统的总结和比较
发表时间早:大部分出现在 06 年左右 内容局限性:主要涉及查询,索引[1]http://egovstandards.gov.in/summit/eform/technical-papers/gartneruseofxml.pdf/view
23/4/22 5/65
综述简介——信息源 要求
全面性 06-08 年各种会议期刊
国际会议 国际期刊 国内会议 国内期刊
23/4/22 6/65
综述简介——信息源 国际会议
(ACM) SIGMOD : (Association for Computing Machinery) Special Interest Group on Management of Data VLDB : International Conference on Very Large Data Bases ICDE : International Conference on Data Engineering EDBT : International Conference on Extending Database Technology WWW : International Conference on World Wide Web CIKM : International Conference on Information and Knowledge Management DASFAA : Database Systems for Advanced Applications ER : International Conference on the Entity Relationship Approach PODS : Symposium on Principles of Database Systems SIGIR : International Conference on Research and Development in Information Retrieval ICDT : International Conference on Database Theory DEXA : Database and Expert Systems Applications CIDR : Conference on Innovative Data Systems Research WISE : Web Information Systems Engineering WAIM : International Conference on Web-Age Information Management APWeb : Asia-Pacific Web Conference WebDB : International Workshop on the Web and Databases INEX : INitiative for the Evaluation of XML Retrieval XIME-P : Workshop on XQuery IMplementation, Experience and Perspectives XSym : International XML Database Symposium ( 08 年不存在了) XML Conference : 应用相关的会议
关注的会议
较好的 workshop
23/4/22 7/65
综述简介——信息源 国际期刊
VLDBJ : The VLDB Journal TODS : ACM Transactions on Database Systems TKDE : IEEE Transactions on Knowledge and Data Engineering TOIS : ACM Transactions on Information Systems JACM : Journal of the ACM CACM : Communications of the ACM IS : Information System IR : Information Retrieval KIS : Knowledge and Information System SIGMOD-Record DKE : Data & Knowledge Engineering JDM : Journal of Database Management WWWJ : World Wide Web JCST : Journal of Computer Science and Technology
23/4/22 8/65
综述简介——信息源 国内会议
NDBC 国内期刊
计算机学报 软件学报 计算机研究与发展 计算机科学与探索
23/4/22 9/65
405861
2239
2015141013
4943
11024
8 1816610107 837
10115 5 1 4 6141239
1
165
0
60
120
180
SIGM
ODV
LDB
ICDEEDBTW
WW
CIKMPOD
SSIG
IRICDTER DASFAADEX
ACIDRW
ISEW
AIM
APW
EBIN
EXXIM
E-PXsymW
ebDBV
LDBJ
TODS
TKDE
TOISD
KESIG
MO
D RecordW
WW
JJCSTJD
MCACMJA
CM计算机学报
软件学报
研发
NDBC计算机科学与探索会议名称
综述简介——内容提炼
23/4/22 10/65
综述简介——内容提炼 如何压缩内容?
06-08 : 200/812 , 2005 年以前的? 已有综述中阐述的内容,直接引用并总结 对所有新内容分类整理,得到需要的类别 对每一类中的文章,去除重复文章
尽量引用大会文章
23/4/22 11/65
415
817
3343
4 7 318
77
51
417
44
8 3 9 158 12 15
7 9
32
4 4 5 1 4
25
0
30
60
90
文档解析
存储编码更新索引查询优化
可满足性检测
包含检测
代数查询重写
查询处理
关键字查询
事务存取控制
模式及结构比较
数据模型
系统规范化数据集成
变化检测
发布订阅系统
XML
分布式 XML概率 XML时态数据流数据仓库
数据挖掘
数据压缩
推导文档结构
理论探讨
新应用
综述简介——内容提炼 分类整理,去除重复: 150/360/700/800
23/4/22 12/65
大纲简介流程内容总结
23/4/22 13/65
综述流程
Data
Storage Manager
Data Manager
Schema Manager
Index Manager
XML Data XML Query Query Result
Execute Engine
Data Definition XQuery XPath …Keyword
建立数据库导入 / 出文档执行查询
23/4/22 14/65
综述流程
Data
Storage Manager
Data Manager
Schema Manager
Index Manager
XML Data XML Query Query Result
Execute Engine
Data Definition XQuery XPath …Keyword
建立数据库
23/4/22 15/65
综述流程
Data
Storage Manager
Data Manager
Schema Manager
Index Manager
XML Data XML Query Query Result
Execute Engine
Data Definition XQuery XPath …Keyword
建立数据库导入 / 出文档
23/4/22 16/65
综述流程
Data
Storage Manager
Data Manager
Schema Manager
Index Manager
XML Data XML Query Query Result
Execute Engine
Data Definition XQuery XPath …Keyword
建立数据库导入 / 出文档执行查询
Query Parser
Query Optimizer
Query Evaluator
Execute E
ngine
People/person/profile/gender
23/4/22 17/65
综述流程
Data
Storage Manager
Data Manager
Schema Manager
Index Manager
XML Data XML Query Query Result
Execute Engine
Data Definition XQuery XPath …Keyword
研究点存储
存储策略编码方案
索引查询
查询改写查询优化查询算法
23/4/22 18/65
大纲简介流程内容总结
23/4/22 19/65
内容介绍存储
存储策略编码方案
索引查询
查询改写查询优化查询算法
23/4/22 20/65
存储策略 关系表
查询 导出文档
Native 方式 混合方式 问题
Benchmark 文档类型
文本 数据
。。。attributesvaluenameid
23/4/22 21/65
内容介绍存储
存储策略编码方案
索引查询
查询改写查询优化查询算法
23/4/22 22/65
编码方案为什么使用编码
导航不可行a1
b1 b2 b3 c1
d1 d2 e1 f1
a
d
Query Document
如何判断元素之间的关系?
a a1
d d1 d2
仅处理 tag 名为 a 和 d的元素,可以减少处理的元素数量
23/4/22 23/65
编码方案为什么使用编码已有的解决方案
区间编码
a1
b1 b2 b3 c1
d1 d2 e1 f1
a
d
Query Document
(1, ,1)
(start, end, level)
(2, ,2) 3
(4, ,2)
(5, ,3) 6 (7, ,3) 8
9(10, ,2)11
(12, ,2) 17
(13, ,3) 14 (15, ,3) 16
18
1 18
5 6 7 8
a
d
(1, 18, 1)
(5, 6, 3) (7, 8, 3)
23/4/22 24/65
编码方案为什么使用编码已有的解决方案
区间编码路径编码
a1
b1 b2 b3 c1
d1 d2 e1 f1
a
d
Query Document
a
d
1
1.2.1 1.2.2
1
1.11.2
1.2.1 1.2.2
1.3 1.4
1.4.1 1.4.2
23/4/22 25/65
编码方案为什么使用编码已有的解决方案实际问题
文档更新插入叶子节点插入非叶子节点
节点编码需要更新
a
d
Query Document
a1
b1 b2 b3 c1
d1 d2 e1 f1
(1, ,1)
(2, ,2) 3
(4, ,2)
(5, ,3) 6 (7, ,3) 8
9(10, ,2)11
(12, ,2) 17
(13, ,3) 14 (15, ,3) 16
18
g
a1
b1 b2 b3 c1
d1 d2 e1 f1
1
1.11.2
1.2.1 1.2.2
1.3
1.4
1.4.1 1.4.2
g
g
g
g
23/4/22 26/65
编码方案为什么使用编码已有的解决方案已有更新方法
空间预留无法避免重新编码
a
d
Query Document
a1
b1 b2 b3 c1
d1 d2 e1 f1
(10, ,1)
(20, ,2) 30
(40, ,2)
(50, ,3) 60 (70, ,3) 80
90(100, ,2)110
(120, ,2) 170
(130, ,3) 140 (150, ,3) 160
180
23/4/22 27/65
编码方案为什么使用编码已有的解决方案已有更新方法
空间预留浮点数编码
无法避免重新编码
a
d
Query Document
a1
b1 b2 b3 c1
d1 d2 e1 f1
(1, ,1)
(2, ,2) 3
(4, ,2)
(5, ,3) 6 (7, ,3) 8
9(10, ,2)11
(12, ,2) 17
(13, ,3) 14 (15, ,3) 16
18
g1 g2
(110.01, 110.11, 3)
(101, 110, 3) (111, 1000, 3)
(110.1101, 110.1111, 3)
23/4/22 28/65
编码方案为什么使用编码已有的解决方案已有更新方法
空间预留浮点数编码路径编码 ORDPATH
代价高
a1
b1 b2 b4 c1
d1 d2 e1 f1
a1
b1 b4 c1
e1 f1
1
1.1
1.3
1.5
1.5.1 1.5.3
b21.2.1
d1
1.2.1.1
d2
1.2.1.3
b2
1.2.3
b3
23/4/22 29/65
编码方案 为什么使用编码 已有的解决方案 已有更新方法
空间预留 浮点数编码 路径编码 素数编码
可避免更新编码N值计算代价高
xilabelNilabelNn
i
)(mod])(,0[1
a1
b2 c1
d1 d2 e1 f1
1
2
3 5
7
11 13
1
2=2*1
6=3*2 10=5*2
7=7*1
77=11*7 91=13*7
d117 170=17*10
1153210 N
N1=1523N2=6
N1=1139N2=72
72
N
N
NN
N
34
5
N
N
NN
N
23/4/22 30/65
编码方案 为什么使用编码 已有的解决方案 已有更新方法
空间预留 浮点数编码 路径编码 素数编码 二进制位串
将整数用二进制字符串表示
a1
b1 b2 b3 c1
d1 d2 e1 f1
(1, ,1)
(2, ,2) 3
(4, ,2)
(5, ,3) 6 (7, ,3) 8
9(10, ,2)11
(12, ,2) 17
(13, ,3) 14 (15, ,3) 16
18
将插入整数变为插入字符串
0 size=0
19 size=0
(01, 01001, 001) (0101, 011, 001)
g
(010011, 0100111, 001)
23/4/22 31/65
编码方案 为什么使用编码 已有的解决方案 已有更新方法
空间预留 浮点数编码 路径编码 素数编码 位串编码 向量编码
将整数用向量表示
a1
b1 b2 b3 c1
d1 d2 e1 f1
(1, ,1)
(2, ,2) 3
(4, ,2)
(5, ,3) 6 (7, ,3) 8
9(10, ,2)11
(12, ,2) 17
(13, ,3) 14 (15, ,3) 16
18
将插入整数变为插入向量
23/4/22 32/65
编码方案 为什么使用编码 已有的解决方案 已有更新方法
空间预留 浮点数编码 路径编码 素数编码 位串编码 向量编码
a1
b1 b2 b3 c1
d1 d2 e1 f1
(1, ,1)
(2, ,2) 3
(4, ,2)
(5, ,3) 6 (7, ,3) 8
9(10, ,2)11
(12, ,2) 17
(13, ,3) 14 (15, ,3) 16
18
23/4/22 33/65
编码方案 为什么使用编码 已有的解决方案 已有更新方法
空间预留 浮点数编码 路径编码 素数编码 位串编码 向量编码
a1
b1 b2 b3 c1
d1 d2 e1 f1
(1, ,1)
(2, ,2) 3
(4, ,2)
(5, ,3) 6 (7, ,3) 8
9(10, ,2)11
(12, ,2) 17
(13, ,3) 14 (15, ,3) 16
18
18=(0,1)
1=(1,0)
10=(1,1)6=(2,1)
14=(1,2)
((2,5), (2,1), 3) ((5,3), (3,2), 3)
23/4/22 34/65
编码方案 为什么使用编码 已有的解决方案 已有更新方法 基于图的编码
不支持更新
23/4/22 35/65
编码方案 为什么使用编码 已有的解决方案 已有更新方法 基于图的编码
不支持更新 支持更新
23/4/22 36/65
编码方案为什么使用编码已有的解决方案实际问题可能的研究点
树上编码的更新什么情况下可在两个值之间插入无穷多个值
图上编码的更新如何将不同区间用一个值表示
a1
d2d1
23/4/22 37/65
内容介绍存储
存储策略编码方案
索引查询
查询改写查询优化查询算法
23/4/22 38/65
索引为什么使用索引 a1
b1 b2 b3 c1
d1 d2 e1 f1
a
d
Query Document
a a1
d d1 d2
23/4/22 39/65
索引为什么使用索引索引的类型
结构索引Tag 索引Structural summary
值索引倒排表
a1
b1 b2 d3 c1
d1 d2 e1 f1
b
dQuery Document
b b1
d d1 d2
b2
b b1
d d1 d2
b2
d3
a
b c
d e f
d
23/4/22 40/65
索引为什么使用索引索引的类型
结构索引F&B index1-index
23/4/22 41/65
索引为什么使用索引索引的类型
结构索引F&B index1-index
B
D C
B
D
23/4/22 42/65
内容介绍存储
存储策略编码方案
索引查询
查询改写查询优化查询算法
23/4/22 43/65
查询改写什么是查询改写
用户提交查询 Q系统处理 Q’
23/4/22 44/65
查询改写什么是查询改写为什么要查询改写
用户提交的查询表达能力有限:关键字查询用户提交的查询有误
a1
b1 b2 d3 c1
d1 d2 e1 f1
23/4/22 45/65
查询改写什么是查询改写为什么要查询改写查询改写的方式
基于用户反馈结果反馈查询反馈
隐式反馈:无用户参与
23/4/22 46/65
1234 …
XML
XML
IR
IR
index
indexFagin
IR
index
用户反馈
2. User marks relevant and nonrelevant docs3. System finds best terms to distinguish between relevant and nonrelevant docs4. System submits expanded query
1. User submits query
query evaluationXML not(Fagin)
Feedback for XML IR:• Start with keyword query• Find structural expansions• Create structural query
23/4/22 47/65
Tag+Content of other elements in the document
D: //author[Baeza] //citation[Abiteboul]
User marksrelevant result
Path tothe result
P: article/body/sec/subsec
用户反馈
sec„Semistructured data…“
article
body
sec
subsec„XML has evolved…“
frontmatter backmatter
sec
subsec
p p p„With the advent of XSLT…“
author„Baeza-Yates“
Content ofresult
Possible dimensions:
C: XML
citation„Serge Abiteboul“
23/4/22 48/65
用户反馈XML Search
Engine
feedback
Scoring + Reranking
expanded queryquery
results
reranked results
ContentModule
PathModule
DocModule
…Feedback Dimensions
query +results
23/4/22 49/65
查询改写 什么是查询改写 为什么要查询改写 查询改写的方式
基于用户反馈 伪反馈
又称局部反馈、盲反馈 , 它假设初始检索结果的前面若干篇文档是相关的 , 然后利用标准的相关反馈过程进行查询扩展 隐式反馈
用户不主动参与反馈 , 但是系统仍需要从用户的浏览行为中分析得到一些有用的信息用来确定用户兴趣模式 , 从而推理出描述用户查询需求的表达式 ,并据此进行检索 . 查询扩展
黄静的工作
23/4/22 50/65
内容介绍存储
存储策略编码方案
索引查询
查询改写查询优化查询算法
23/4/22 51/65
查询优化种类
逻辑优化物理优化
23/4/22 52/65
查询优化逻辑优化
语法优化 语义优化
23/4/22 53/65
查询优化物理优化
代价估计单步代价估计执行顺序整体代价估计
查询:
a
b c
d e f
d
√
23/4/22 54/65
内容介绍存储
存储策略编码方案
索引查询
查询改写查询优化查询算法
23/4/22 55/65
查询算法 -Twig 查询处理导航式 a1
b1 b2 b3 c1
d1 d2 e1 f1
a
d
Query Document
23/4/22 56/65
查询算法 -Twig 查询处理导航式结构连接
二元Path连接整体匹配
a
b
d
c
a
b
b
d
a
c
a1
b1 b2 b3 c1
d1 d2 e1 f1
3 2 12
a
b
d
a
c
2 1
大量中间结果
23/4/22 57/65
查询算法 -Twig 查询处理导航式结构连接
二元Path连接整体匹配
a
d
r
d1 a1 a3 a5
a2 a4 f1
d2 d3
a6
d4 d5
d6
a3
a4
d2 d3
a6
d4 d5
cursor
Mark a
d
a1(7,20) a2(14,19) a3(21,28) a4(22,27) a5(29,31) a6(32,40)
d1(2,4) d2(23,24) d3(25,26) d4(33,34) d5(37,38) d6(43,44)
a3d2 a3d3a4d2 a4d3
a6d4a6d5
后代指针回指为什么?
23/4/22 58/65
查询算法 -Twig 查询处理导航式结构连接
二元Path连接整体匹配
a
d
r
d1 a1 a3 a5
a2 a4 f1
d2 d3
a6
d4 d5
d6
a3
a4
d2 d3
a6
d4 d5
a
d
a1(7,20) a2(14,19) a3(21,28) a4(22,27) a5(29,31) a6(32,40)
d1(2,4) d2(23,24) d3(25,26) d4(33,34) d5(37,38) d6(43,44)
a3d2 a3d3a4d2 a4d3
a6d4a6d5
a1(7,20) a2(14,19) a3(21,28) a4(22,27) a5(29,31) a6(32,40)
23/4/22 59/65
查询算法 -Twig 查询处理 导航式 结构连接
二元 Path 连接 整体匹配
A1
B1
A2
B2
C1
A
B
C
XML Doc Query
A1
A2
B1
B2
C1
Result:A1 B1 C1
A1 B2 C1
A2 B2 C1
SC SB SA
23/4/22 60/65
查询算法 -Twig 查询处理 导航式 结构连接
二元 Path 连接 整体匹配
23/4/22 61/65
查询算法 -Twig 查询处理 导航式 结构连接
二元 Path 连接 整体匹配
a1
a3
a2
b1 b2
b3
c 1c 2
c 3
c 4
c 5 c 6
a4b4
c 7 c 9 c 10
c 8
c 12
b5
c 11
a7
a6
a5
a
b c
a7
c12c8b4
a7 c8 a7 b4
c9
a7 c9
c10
a7 c10
c11 a7 c11b5
a7 b5
a7 c12
Stack a
Stack b Stack c
Result of A//C Result of A//B
23/4/22 62/65
大纲简介流程内容展望总结
23/4/22 63/65
研究展望 编码:图上可更新的编码方案 查询
静态文档:关键字查询,近似查询 数据流:关键字查询,近似查询
数据集成概率 XML 时态 XML 数据仓库 数据挖掘 数据压缩 分布式 XML
√√
与 OrientX 不冲突
23/4/22 64/65
总结 动机及准备工作 系统架构 存储
存储策略 编码方案
索引 查询
查询改写 查询优化 查询算法
研究展望 Data
Storage Manager
Data Manager
Schema Manager
Index Manager
XML Data XML Query Query Result
Execute Engine
Data Definition XQuery XPath …Keyword
23/4/22 65/65
Thank you !