65
XML 数数数数数数 数数数

XML 数据管理技术

  • 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

Page 1: XML 数据管理技术

XML 数据管理技术周军锋

Page 2: XML 数据管理技术

23/4/22 2/65

大纲简介流程内容总结

Page 3: XML 数据管理技术

23/4/22 3/65

大纲简介流程内容总结

Page 4: XML 数据管理技术

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

Page 5: XML 数据管理技术

23/4/22 5/65

综述简介——信息源 要求

全面性 06-08 年各种会议期刊

国际会议 国际期刊 国内会议 国内期刊

Page 6: XML 数据管理技术

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

Page 7: XML 数据管理技术

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

Page 8: XML 数据管理技术

23/4/22 8/65

综述简介——信息源 国内会议

NDBC 国内期刊

计算机学报 软件学报 计算机研究与发展 计算机科学与探索

Page 9: XML 数据管理技术

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计算机科学与探索会议名称

综述简介——内容提炼

Page 10: XML 数据管理技术

23/4/22 10/65

综述简介——内容提炼 如何压缩内容?

06-08 : 200/812 , 2005 年以前的? 已有综述中阐述的内容,直接引用并总结 对所有新内容分类整理,得到需要的类别 对每一类中的文章,去除重复文章

尽量引用大会文章

Page 11: XML 数据管理技术

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

Page 12: XML 数据管理技术

23/4/22 12/65

大纲简介流程内容总结

Page 13: XML 数据管理技术

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

建立数据库导入 / 出文档执行查询

Page 14: XML 数据管理技术

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

建立数据库

Page 15: XML 数据管理技术

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

建立数据库导入 / 出文档

Page 16: XML 数据管理技术

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

Page 17: XML 数据管理技术

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

研究点存储

存储策略编码方案

索引查询

查询改写查询优化查询算法

Page 18: XML 数据管理技术

23/4/22 18/65

大纲简介流程内容总结

Page 19: XML 数据管理技术

23/4/22 19/65

内容介绍存储

存储策略编码方案

索引查询

查询改写查询优化查询算法

Page 20: XML 数据管理技术

23/4/22 20/65

存储策略 关系表

查询 导出文档

Native 方式 混合方式 问题

Benchmark 文档类型

文本 数据

。。。attributesvaluenameid

Page 21: XML 数据管理技术

23/4/22 21/65

内容介绍存储

存储策略编码方案

索引查询

查询改写查询优化查询算法

Page 22: XML 数据管理技术

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的元素,可以减少处理的元素数量

Page 23: XML 数据管理技术

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)

Page 24: XML 数据管理技术

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

Page 25: XML 数据管理技术

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

Page 26: XML 数据管理技术

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

Page 27: XML 数据管理技术

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)

Page 28: XML 数据管理技术

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

Page 29: XML 数据管理技术

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

Page 30: XML 数据管理技术

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)

Page 31: XML 数据管理技术

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

将插入整数变为插入向量

Page 32: XML 数据管理技术

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

Page 33: XML 数据管理技术

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)

Page 34: XML 数据管理技术

23/4/22 34/65

编码方案 为什么使用编码 已有的解决方案 已有更新方法 基于图的编码

不支持更新

Page 35: XML 数据管理技术

23/4/22 35/65

编码方案 为什么使用编码 已有的解决方案 已有更新方法 基于图的编码

不支持更新 支持更新

Page 36: XML 数据管理技术

23/4/22 36/65

编码方案为什么使用编码已有的解决方案实际问题可能的研究点

树上编码的更新什么情况下可在两个值之间插入无穷多个值

图上编码的更新如何将不同区间用一个值表示

a1

d2d1

Page 37: XML 数据管理技术

23/4/22 37/65

内容介绍存储

存储策略编码方案

索引查询

查询改写查询优化查询算法

Page 38: XML 数据管理技术

23/4/22 38/65

索引为什么使用索引 a1

b1 b2 b3 c1

d1 d2 e1 f1

a

d

Query Document

a a1

d d1 d2

Page 39: XML 数据管理技术

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

Page 40: XML 数据管理技术

23/4/22 40/65

索引为什么使用索引索引的类型

结构索引F&B index1-index

Page 41: XML 数据管理技术

23/4/22 41/65

索引为什么使用索引索引的类型

结构索引F&B index1-index

B

D C

B

D

Page 42: XML 数据管理技术

23/4/22 42/65

内容介绍存储

存储策略编码方案

索引查询

查询改写查询优化查询算法

Page 43: XML 数据管理技术

23/4/22 43/65

查询改写什么是查询改写

用户提交查询 Q系统处理 Q’

Page 44: XML 数据管理技术

23/4/22 44/65

查询改写什么是查询改写为什么要查询改写

用户提交的查询表达能力有限:关键字查询用户提交的查询有误

a1

b1 b2 d3 c1

d1 d2 e1 f1

Page 45: XML 数据管理技术

23/4/22 45/65

查询改写什么是查询改写为什么要查询改写查询改写的方式

基于用户反馈结果反馈查询反馈

隐式反馈:无用户参与

Page 46: XML 数据管理技术

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

Page 47: XML 数据管理技术

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“

Page 48: XML 数据管理技术

23/4/22 48/65

用户反馈XML Search

Engine

feedback

Scoring + Reranking

expanded queryquery

results

reranked results

ContentModule

PathModule

DocModule

…Feedback Dimensions

query +results

Page 49: XML 数据管理技术

23/4/22 49/65

查询改写 什么是查询改写 为什么要查询改写 查询改写的方式

基于用户反馈 伪反馈

又称局部反馈、盲反馈 , 它假设初始检索结果的前面若干篇文档是相关的 , 然后利用标准的相关反馈过程进行查询扩展 隐式反馈

用户不主动参与反馈 , 但是系统仍需要从用户的浏览行为中分析得到一些有用的信息用来确定用户兴趣模式 , 从而推理出描述用户查询需求的表达式 ,并据此进行检索 . 查询扩展

黄静的工作

Page 50: XML 数据管理技术

23/4/22 50/65

内容介绍存储

存储策略编码方案

索引查询

查询改写查询优化查询算法

Page 51: XML 数据管理技术

23/4/22 51/65

查询优化种类

逻辑优化物理优化

Page 52: XML 数据管理技术

23/4/22 52/65

查询优化逻辑优化

语法优化 语义优化

Page 53: XML 数据管理技术

23/4/22 53/65

查询优化物理优化

代价估计单步代价估计执行顺序整体代价估计

查询:

a

b c

d e f

d

Page 54: XML 数据管理技术

23/4/22 54/65

内容介绍存储

存储策略编码方案

索引查询

查询改写查询优化查询算法

Page 55: XML 数据管理技术

23/4/22 55/65

查询算法 -Twig 查询处理导航式 a1

b1 b2 b3 c1

d1 d2 e1 f1

a

d

Query Document

Page 56: XML 数据管理技术

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

大量中间结果

Page 57: XML 数据管理技术

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

后代指针回指为什么?

Page 58: XML 数据管理技术

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)

Page 59: XML 数据管理技术

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

Page 60: XML 数据管理技术

23/4/22 60/65

查询算法 -Twig 查询处理 导航式 结构连接

二元 Path 连接 整体匹配

Page 61: XML 数据管理技术

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

Page 62: XML 数据管理技术

23/4/22 62/65

大纲简介流程内容展望总结

Page 63: XML 数据管理技术

23/4/22 63/65

研究展望 编码:图上可更新的编码方案 查询

静态文档:关键字查询,近似查询 数据流:关键字查询,近似查询

数据集成概率 XML 时态 XML 数据仓库 数据挖掘 数据压缩 分布式 XML

√√

与 OrientX 不冲突

Page 64: XML 数据管理技术

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

Page 65: XML 数据管理技术

23/4/22 65/65

Thank you !