650 likes | 789 Views
XML 数据管理技术. 周军锋. 大纲. 简介 流程 内容 总结. 大纲. 简介 流程 内容 总结. 综述简介 —— 必要性. XML 数据大量涌现 Gartner[1] 预测, XML 文件的使用率在 2007 年达到 40% , 2008 年将占据 支配地位 IDC (国际数据公司)报告显示,在 500 家受访企业的 IT 部门中,有 29 % 正在大量使用 XML 数据库 XML 研究如火如荼 每年各种学术会议期刊发表 XML 相关论文多达 300 篇 没有系统的总结和比较 发表时间早:大部分出现在 06 年左右
E N D
XML数据管理技术 周军锋
大纲 • 简介 • 流程 • 内容 • 总结
大纲 • 简介 • 流程 • 内容 • 总结
综述简介——必要性 • 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
综述简介——信息源 • 要求 • 全面性 • 06-08年各种会议期刊 • 国际会议 • 国际期刊 • 国内会议 • 国内期刊
关注的会议 较好的workshop 综述简介——信息源 • 国际会议 • (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 : 应用相关的会议
综述简介——信息源 • 国际期刊 • 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
综述简介——信息源 • 国内会议 • NDBC • 国内期刊 • 计算机学报 • 软件学报 • 计算机研究与发展 • 计算机科学与探索
综述简介——内容提炼 • 如何压缩内容? • 06-08:200/812,2005年以前的? • 已有综述中阐述的内容,直接引用并总结 • 对所有新内容分类整理,得到需要的类别 • 对每一类中的文章,去除重复文章 • 尽量引用大会文章
综述简介——内容提炼 • 分类整理,去除重复:150/360/700/800
大纲 • 简介 • 流程 • 内容 • 总结
XML Data XML Query Query Result Execute Engine Data Definition XQuery XPath Keyword … Data Manager Schema Manager Index Manager Storage Manager Data 综述流程 • 建立数据库 • 导入/出文档 • 执行查询
XML Data XML Query Query Result Execute Engine Data Definition XQuery XPath Keyword … Data Manager Schema Manager Index Manager Storage Manager Data 综述流程 • 建立数据库
XML Data XML Query Query Result Execute Engine Data Definition XQuery XPath Keyword … Data Manager Schema Manager Index Manager Storage Manager Data 综述流程 • 建立数据库 • 导入/出文档
XML Data XML Query Query Result Execute Engine Data Definition XQuery XPath Keyword … Data Manager Schema Manager Index Manager Execute Engine Query Parser Query Optimizer Storage Manager Query Evaluator Data 综述流程 People/person/profile/gender • 建立数据库 • 导入/出文档 • 执行查询
XML Data XML Query Query Result Execute Engine Data Definition XQuery XPath Keyword … Data Manager Schema Manager Index Manager Storage Manager Data 综述流程 • 研究点 • 存储 • 存储策略 • 编码方案 • 索引 • 查询 • 查询改写 • 查询优化 • 查询算法
大纲 • 简介 • 流程 • 内容 • 总结
内容介绍 • 存储 • 存储策略 • 编码方案 • 索引 • 查询 • 查询改写 • 查询优化 • 查询算法
id name value attributes 。。。 存储策略 • 关系表 • 查询 • 导出文档 • Native 方式 • 混合方式 • 问题 • Benchmark • 文档类型 • 文本 • 数据
内容介绍 • 存储 • 存储策略 • 编码方案 • 索引 • 查询 • 查询改写 • 查询优化 • 查询算法
仅处理tag名为a和d的元素,可以减少处理的元素数量仅处理tag名为a和d的元素,可以减少处理的元素数量 a a1 d d1 d2 编码方案 • 为什么使用编码 • 导航不可行 a1 a b1 c1 b2 b3 d d1 d2 e1 f1 Query Document 如何判断元素之间的关系?
1 18 a (1, 18, 1) d (5, 6, 3) (7, 8, 3) 5 6 7 8 编码方案 • 为什么使用编码 • 已有的解决方案 • 区间编码 (1, 18 ,1) a1 a (12, 17 ,2) (2, 3 ,2) b1 c1 (4, 9 ,2) b2 b3 (10, 11 ,2) d d1 d2 e1 f1 (5, 6 ,3) (7, 8 ,3) (13, 14 ,3) (15, 16 ,3) (start, end, level) Query Document
a 1 d 1.2.1 1.2.2 编码方案 • 为什么使用编码 • 已有的解决方案 • 区间编码 • 路径编码 1 a1 a 1.1 b1 c1 1.2 b2 1.3 b3 1.4 d d1 d2 e1 f1 1.2.1 1.2.2 1.4.1 1.4.2 Query Document
g g g 编码方案 • 为什么使用编码 • 已有的解决方案 • 实际问题 • 文档更新 • 插入叶子节点 • 插入非叶子节点 • 节点编码需要更新 (1, 18 ,1) a1 a (12, 17 ,2) (2, 3 ,2) g b1 c1 (4, 9 ,2) b2 b3 (10, 11 ,2) d d1 d2 e1 f1 (5, 6 ,3) (7, 8 ,3) (13, 14 ,3) (15, 16 ,3) Query Document 1 a1 g 1.1 b1 c1 1.2 b2 b3 1.4 1.3 d1 d2 e1 f1 1.2.1 1.2.2 1.4.1 1.4.2
编码方案 • 为什么使用编码 • 已有的解决方案 • 已有更新方法 • 空间预留 • 无法避免重新编码 (10, 180 ,1) a1 a (120, 170 ,2) (20, 30 ,2) b1 c1 (40, 90 ,2) b2 b3 (100, 110 ,2) d d1 d2 e1 f1 (50, 60 ,3) (70, 80 ,3) (130, 140 ,3) (150, 160 ,3) Query Document
g1 g2 (101, 110, 3) (111, 1000, 3) (110.01, 110.11, 3) (110.1101, 110.1111, 3) 编码方案 • 为什么使用编码 • 已有的解决方案 • 已有更新方法 • 空间预留 • 浮点数编码 • 无法避免重新编码 (1, 18 ,1) a1 a (12, 17 ,2) (2, 3 ,2) b1 c1 (4, 9 ,2) b2 b3 (10, 11 ,2) d d1 d2 e1 f1 (5, 6 ,3) (7, 8 ,3) (13, 14 ,3) (15, 16 ,3) Query Document
b2 b2 1.2.3 d2 d1 1.2.1.1 1.2.1.3 编码方案 • 为什么使用编码 • 已有的解决方案 • 已有更新方法 • 空间预留 • 浮点数编码 • 路径编码ORDPATH • 代价高 a1 b1 c1 b2 b3 b4 d1 d2 e1 f1 1 a1 1.1 b1 c1 b4 1.5 1.2.1 1.3 e1 f1 1.5.1 1.5.3
d1 N N N N 72 3 N N 4 N N N1=1139 5 N N N2=72 编码方案 • 为什么使用编码 • 已有的解决方案 • 已有更新方法 • 空间预留 • 浮点数编码 • 路径编码 • 素数编码 • 可避免更新编码 • N值计算代价高 1 a1 1 c1 2 b2 2=2*1 7 7=7*1 3 d1 5 d2 11 e1 13 f1 6=3*2 10=5*2 77=11*7 91=13*7 17 170=17*10 N1=1523 N2=6
g (010011, 0100111, 001) 将插入整数变为插入字符串 编码方案 • 为什么使用编码 • 已有的解决方案 • 已有更新方法 • 空间预留 • 浮点数编码 • 路径编码 • 素数编码 • 二进制位串 (1, 18 ,1) 0 size=0 a1 (12, 17 ,2) (2, 3 ,2) b1 c1 (4, 9 ,2) b2 b3 (10, 11 ,2) d1 d2 e1 f1 (5, 6 ,3) (7, 8 ,3) (13, 14 ,3) (15, 16 ,3) (01, 01001, 001) (0101, 011, 001) 将整数用二进制字符串表示 19 size=0
将插入整数变为插入向量 编码方案 • 为什么使用编码 • 已有的解决方案 • 已有更新方法 • 空间预留 • 浮点数编码 • 路径编码 • 素数编码 • 位串编码 • 向量编码 (1, 18 ,1) a1 (12, 17 ,2) (2, 3 ,2) b1 c1 (4, 9 ,2) b2 b3 (10, 11 ,2) d1 d2 e1 f1 (5, 6 ,3) (7, 8 ,3) (13, 14 ,3) (15, 16 ,3) 将整数用向量表示
编码方案 • 为什么使用编码 • 已有的解决方案 • 已有更新方法 • 空间预留 • 浮点数编码 • 路径编码 • 素数编码 • 位串编码 • 向量编码 (1, 18 ,1) a1 (12, 17 ,2) (2, 3 ,2) b1 c1 (4, 9 ,2) b2 b3 (10, 11 ,2) d1 d2 e1 f1 (5, 6 ,3) (7, 8 ,3) (13, 14 ,3) (15, 16 ,3)
((2,5), (2,1), 3) ((5,3), (3,2), 3) 14=(1,2) 10=(1,1) 18=(0,1) 6=(2,1) 1=(1,0) 编码方案 • 为什么使用编码 • 已有的解决方案 • 已有更新方法 • 空间预留 • 浮点数编码 • 路径编码 • 素数编码 • 位串编码 • 向量编码 (1, 18 ,1) a1 (12, 17 ,2) (2, 3 ,2) b1 c1 (4, 9 ,2) b2 b3 (10, 11 ,2) d1 d2 e1 f1 (5, 6 ,3) (7, 8 ,3) (13, 14 ,3) (15, 16 ,3)
编码方案 • 为什么使用编码 • 已有的解决方案 • 已有更新方法 • 基于图的编码 • 不支持更新
编码方案 • 为什么使用编码 • 已有的解决方案 • 已有更新方法 • 基于图的编码 • 不支持更新 • 支持更新
a1 d1 d2 编码方案 • 为什么使用编码 • 已有的解决方案 • 实际问题 • 可能的研究点 • 树上编码的更新 • 什么情况下可在两个值之间插入无穷多个值 • 图上编码的更新 • 如何将不同区间用一个值表示
内容介绍 • 存储 • 存储策略 • 编码方案 • 索引 • 查询 • 查询改写 • 查询优化 • 查询算法
索引 • 为什么使用索引 a1 a b1 c1 b2 b3 d d1 d2 e1 f1 Query Document a a1 d d1 d2
b b1 b2 d d1 d2 d3 a c b d d e f b b1 b2 d d1 d2 索引 a1 • 为什么使用索引 • 索引的类型 • 结构索引 • Tag 索引 • Structural summary • 值索引 • 倒排表 b b1 c1 b2 d3 d d1 d2 e1 f1 Query Document
索引 • 为什么使用索引 • 索引的类型 • 结构索引 • F&B index • 1-index
索引 • 为什么使用索引 • 索引的类型 • 结构索引 • F&B index • 1-index B B D D C
内容介绍 • 存储 • 存储策略 • 编码方案 • 索引 • 查询 • 查询改写 • 查询优化 • 查询算法
查询改写 • 什么是查询改写 • 用户提交查询Q • 系统处理Q’
查询改写 a1 • 什么是查询改写 • 为什么要查询改写 • 用户提交的查询表达能力有限:关键字查询 • 用户提交的查询有误 b1 c1 b2 d3 d1 d2 e1 f1
查询改写 • 什么是查询改写 • 为什么要查询改写 • 查询改写的方式 • 基于用户反馈 • 结果反馈 • 查询反馈 • 隐式反馈:无用户参与
XML 1 IR query evaluation XMLnot(Fagin) IR 2 index 3 Fagin index 1. User submits query 4 index XML IR … 用户反馈 2. User marks relevant and nonrelevant docs 3. System finds best terms to distinguish between relevant and nonrelevant docs • Feedback for XML IR: • Start with keyword query • Find structural expansions • Create structural query 4. System submits expanded query
User marksrelevant result Possible dimensions: Tag+Content of other elements in the document Content ofresult Path tothe result D: //author[Baeza] //citation[Abiteboul] C: XML P: article/body/sec/subsec 用户反馈 article frontmatter body backmatter sec sec citation„Serge Abiteboul“ author„Baeza-Yates“ sec „Semistructured data…“ subsec„XML has evolved…“ subsec p p p„With the advent of XSLT…“
用户反馈 query XML SearchEngine results expanded query query + results feedback Feedback Dimensions Content Module Path Module Doc Module … reranked results Scoring + Reranking
查询改写 • 什么是查询改写 • 为什么要查询改写 • 查询改写的方式 • 基于用户反馈 • 伪反馈 • 又称局部反馈、盲反馈,它假设初始检索结果的前面若干篇文档是相关的,然后利用标准的相关反馈过程进行查询扩展 • 隐式反馈 • 用户不主动参与反馈,但是系统仍需要从用户的浏览行为中分析得到一些有用的信息用来确定用户兴趣模式,从而推理出描述用户查询需求的表达式,并据此进行检索. • 查询扩展 • 黄静的工作
内容介绍 • 存储 • 存储策略 • 编码方案 • 索引 • 查询 • 查询改写 • 查询优化 • 查询算法