OrientX3.0及其改进之处 XML小组.

Slides:



Advertisements
Similar presentations
DOC 推廣活動 月餅星光大道. 中秋  農曆八月十五日,是中國傳統的中秋節。 古人將一年分成春夏秋冬四季,而一季又 分為孟、仲、季三月,八月是仲秋之月, 而十五又是這個月中間的一天,正處在秋 季的正中,所以把八月十五稱為「中秋」 或「仲秋」。  中秋夜,月亮最圓,月色最美,因此人們 把月圓看成是團圓的象徵,同時也稱八月.
Advertisements

中 五 級中 五 級 戰後國共關係 與 中華人民共和國成立 中國歷史科 1 )認識國共政治協商的概況 2 )認識國共內戰的概略經過及結果 3 )中華人民共和國成立.
应用地球物理卓越人才培养体系构建与实践 吉林大学地球探测科学与技术学院 刘 财 经验交流.
不吃早餐的影響: 體內的葡萄糖無法 足夠供應給大腦與 肌肉,會感覺疲勞, 注意力無法集中。。 營養的早餐:乳品 + 全榖類食品 + 蛋白質 + 水果 早餐你吃了嗎?
河北衡水中学 康新江 高效课堂与激情教育 河北衡水中学 康新江
人文地理專題研究 王志明.
存量房交易纳税评估 系统简介 常州市武进地方税务局 政策法规科 2011 年 7 月.
2014年爱婴医院复核方案解读 省卫生计生委妇幼处 邱灵.
第一章 十六世紀中葉以前的臺灣與原住民 第一節 考古發掘與史前文化.
导言 第四 单元 凡尔赛—华盛顿体系与第二次世界大战
計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構.
党的十八届四中全会 依法治国精神解读. 党的十八届四中全会 依法治国精神解读 一、十八届四中全会概况 中国共产党第十八届中央委员会第四次全体会议,于2014年10月20日至23日在北京举行。 全会审议通过了《中共中央关于全面推进依法治国若干重大问题的决定》。
证券市场法律制度与监督管理 作者:张学亮.
量化vs質性研究分析 量化vs質性研究分析 報告人:王秀民.
社團經費申請 及核銷相關規定 製作:世新大學會計室.
会计实验.
第5章 关系数据库标准语言SQL 主讲:张丽芳.
十一 ASP对数据库的访问.
10-1 資料庫管理系統簡介 10-2 關聯式資料模式和查詢語言 10-3 Access 簡介 10-4 XML 簡介
我怀念的乡村记忆 陈秀华 社会工作0841.
唐宋傳奇、筆記小品和史書、論著中的寓言 中碩二 吳佳樺.
兒童期 7 青春期 兩性圓舞曲 乘客:七年級同學 司機:張立杰老師.
沟通技巧 主讲:涂育俊.
“卓越工程师”培养的质量保障体系构建探索
土地出让转让的政策与实务 岳晓武 国土资源部利用司.
VS 兒童及少年身心發展 幼保三甲 幼兒期 青少年期 4A1I0014 陳佳瑩 4A1I0023 尤秀惠
老師:鍾郁芬 老師 指導 組長:陳欣怡 組員:曾郁雯 倪敏富 王宣化 簡宏倫 黃郁涵
题目回顾 泉水在地下蓄积,一旦有机会,它便骄傲地涌出地面,成为众人瞩目的喷泉,继而汇成溪流,奔向远方。但人们对地下的泉水鲜有关注,其实,正是因为有地下那些默默不语的泉水的不断聚集,才有地上那一股股清泉的不停喷涌。 请根据你对材料的理解和感悟,自选一个角度,写一篇不少于800字的文章,文体自定,标题自拟。要求:立意明确,不要套作,不得抄袭。
星星知我心 談古話今….. ……..觀星望斗 主講人: 陽光青春美少男.
OrientX4.0系统开发报告 XML Group July 25, 2009.
反垃圾掩埋場相關報告 組長:文煊 組員:鄭侃文 李浩暐 胡育睿 李瑞耘 朱祐賢 林承宇.
广 东 技 术 师 范 学 院 美术学院 装潢专业 2012级(3)班 郑可珊
第十九章 散文 教学要求: 了解散文的含义、分类、特点,学习写作抒情散文。 重点: 散文的特点,散文的写作。 难点: 散文的写作训练。
班级安全文化建设的思考与实践 夯实安全基础 规范安全行为 培养安全习惯 训练安全能力 尤 学 文 管 理 学 博 士
"性"不"性"由你 性別平等之探討 北屯國小 張文陵.
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
組員: 洪暐翔、 賴峻毅 侯家豪、 賴琦穎 指導老師: 王惠鈴 老師
教育研究成果的生成与呈现 曾继耘 北京师范大学 博士 山东师范大学 教授.
第6章 資料庫管理系統 6-1 關聯式資料庫管理系統 6-2 SQL Server資料庫管理系統
第7章 行政监督.
公文/檔案管理作業流程 簡 報 總務處 文書組 報告人:田至琴 9 7 年3 月7 日 1 1.
中小学教育科研课题的选择 王典伟.
出口农产品风险管理 企业分类及监督管理表格
DAT301: XML数据和关系性数据的最终结合处 – SQL Server 2005
台中市不動產經紀人職業工會 不動產經紀營業員 複訓班
Chap 10 SQL定義、操作與控制指令.
Basis基本操作、使用者 管理與權限設定
電子商務網站建制技術與實習(II) 助教:江宜政 吳昇洋.
第三章 数据库和表的操作.
第20章 LINQ 資料查詢技術 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或拷貝.
XPath读书报告 杨睿.
MySQL数据库基础与实例教程 之 MySQL表结构的管理 郭水泉.
2017 工作报告 POWERPOINT ANNUAL REPORT POWERPOINT
水陆草木之花,可爱者甚蕃。晋陶渊明独爱菊。自李唐来,世人盛爱牡丹。予独爱莲之出淤泥而不染,濯清涟而不妖,中通外直,不蔓不枝,香远益清,亭亭净植,可远观而不可亵玩焉。予谓菊,花之隐逸者也;牡丹,花之富贵者也;莲,花之君子者也。噫!菊之爱,陶后鲜有闻。莲之爱,同予者何人?牡丹之爱,宜乎众矣! 中国 风 莲说.
SQL Injection (資料隱碼) 學生:a 吳倩瑜 指導教授:梁明章.
EndNote Advanced Advance your Research
B+ Tree.
<title> XML與XQuery ,新一代資料儲存標準 </title>
20 SQL Server全文檢索搜尋 20-1 SQL Server全文檢索搜尋 20-2 全文檢索目錄的建立 20-3 建立全文檢索索引
EBooks 使用手冊 1.
查询与视图 蔡海洋.
兒少保護通報處理流程介紹 臺中市家庭暴力及性侵害防治中心 陳秀婷/張美慧 社工督導員 2012/10/19.
2017 年终工作述职报告 Year-end work reporting on activities report
LOGO 公司介绍企业宣传PPT COMPANY INTRODUCTION PROPAGANDA PPT
单击此处添加您的标题 报告会议 工作总结 工作计划 年终总结
唐常杰 四川大学计算机学院 计算机科学技术系
單元4-2: XPATH 範例 王豐緒 銘傳大學資工系.
第15章 SAX2建立XML應用程式 15-1 SAX2的基礎 15-2 使用VB建立SAX應用程式 15-3 應用實例:顯示XML文件
2017 工作总结汇报PPT模板 适用于述职报告/个人简介/工作总结 汇报人:宝藏PPT.
OrientX暑期工作总结及计划 XML Group
Presentation transcript:

OrientX3.0及其改进之处 XML小组

大纲 OrientX3.0的体系结构 OrientX3.0的主要特征 OrientX3.0的查询处理问题【系统的效率】 基于代数引擎的XQuery/Update实现问题 OrientX3.0需要改进地方的总结

体系结构 OrientX3.0的体系结构图

大纲 OrientX3.0的体系结构 OrientX3.0的主要特征 OrientX3.0的查询处理问题【系统的效率】 基于代数引擎的XQuery/Update实现问题 OrientX3.0需要改进地方的总结

OrientX V3.0的新特征 √ √ New architecture Support W3C XQuery/Update A set of programming API Usable index management Visual tools Application √ √ √

大纲 OrientX3.0的体系结构 OrientX3.0的主要特征 OrientX3.0的查询处理问题【系统的效率】 基于代数引擎的XQuery/Update实现问题 OrientX3.0需要改进地方的总结

查询处理策略 导航查询处理 (OrientX2.0) 代数查询处理 (OrientX2.5, OrientX3.0)

基于导航的查询处理 例子 找到价格最低的书 Element Constructor Path Expression Attribute Constructor FLWR Expression Conditional Expression Built-in-Function

导航处理的操作符 目前有13中操作符: Step EleConstructor CondTreeNode AttrConstructor Path ForVarBind LetVarBind FLWR EleConstructor AttrConstructor BuiltInFun IfThenElse Quanlify SetOpt SortBy

处理XQuery的流程 Parser and Translator optimizer Evaluator Engine XQuery Query Parser and Translator Initial Query plan optimizer optimized Query plan Evaluator Engine

查询计划示例

查询计划的执行示例 文档 查询计划 $doc bib book book book title year 。。。 year title publisher price publisher price 查询计划

查询计划的执行示例 文档 查询计划 $doc $t bib book book book title year 。。。 year title publisher price publisher price 查询计划

查询计划的执行示例 文档 查询计划 $doc $t $p bib book book book title year 。。。 year publisher price $t publisher price 查询计划

查询计划的执行示例 文档 查询计划 $doc $t $p minprice price TCP/IP Illustrated 65.95 bib $doc book 文档 book book title year 。。。 year title publisher price $t $p publisher price minprice 查询计划 price TCP/IP Illustrated 65.95

查询计划的执行示例 文档 查询计划 $doc $t $p minprice repeat price TCP/IP Illustrated bib $doc book 文档 book book title year 。。。 year title publisher price $t $p publisher price minprice 查询计划 repeat price TCP/IP Illustrated 65.95

查询计划的执行示例 文档 查询计划 $doc results minprice minprice … … price price 65.95 bib $doc book 文档 book book title year 。。。 year title publisher price publisher price results 查询计划 minprice minprice … … price price 65.95 70.05

导航查询引擎小结 优点 缺点 简单,直接,而且对简单查询非常有效 符合XQuery的特点: 对复杂的查询需要遍历文档多遍 过程化查询语言 任意的嵌套 缺点 对复杂的查询需要遍历文档多遍 访问了非常多的无用结点 不利于查询优化

代数查询引擎-OrientXA 一次一集合的查询处理策略 XQuery处理的问题 数据抽取操作 结果构造操作 数据处理操作 选择 投影 结构构造 数据处理操作 连接 消除重复 分组

Q1:一个XQuery例子 <bib> { for $b in doc("bib.xml")/bib/book let $a := $b/author where $b//publisher/text() = "Addison-Wesley" and $b/@year > 1991 return <book year="{ $b/@year }"> { $b/author} </book> } </bib>

导航处理 <bib> {for $b in doc("bib.xml")/bib/book let $a := $b/author where $b//publisher/text() = "Addison-Wesley" and $b/@year > 1991 return <book year="{ $b/@year }"> { $b/author} </book>} </bib> construct a <bib> for $bib in doc (“bib.xml”)/bib do for $b in $bib/book do let $a := $b/author for $publisher in $b//publisher do if $publisher/text() = "Addison-Wesley" then for $year in $b/@year do if $year > 1991 then construct a <book> under <bib> construct a attribute year for <book> with value $year append $author’s content under <book> end-if end-for //$year end-for //$publisher end-for //$b end-for //$bib

OrientXA—关于Pattern Tree 观察: XQuery一个变量绑定对应一个XPath Pattern Tree标识和抽取查询感兴趣的结点(√) Pattern Tree实际上是XPath的树状表示(√) 类比关系(?): Pattern Tree vs. 表定义 Instance Tree vs. 元组 Instance Tree集合 vs. 表

Q1对应的Pattern Tree和Algebra Tree Source pattern tree 数据抽取的结果 Construct pattern tree 结点绑定 拷贝绑定 Predicates 灵活的代数处理 <bib> { for $b in doc("bib.xml")/bib/book let $a := $b/author where $b//publisher/text() = "Addison-Wesley" and $b/@year > 1991 return <book year="{ $b/@year }"> { $b/author} </book> } </bib> SPT CPT 强结点绑定 弱结点绑定 序列绑定或序列构造 父子边 祖先后代边 元素属性边 图例: p: 绑定所有后代结点 n: 新建结点 c: 拷贝结点

问题1—数据抽取效率 数据抽取的方法[1]有: Navigation:对文档树进行遍历,找到满足pattern tree 的实例树;效率低下。 Structure Join:利用对XML 数据的编码和Tag Index,快速地找到满足祖先后代关系的结点。 Holistic Twig Join:整体求解 OrientX采用策略 [1] 孟小峰,罗道锋,蒋瑜,王宇,OreintXA:一种有效的XQuery查询代数,软件学报,卷15(11),1648-1660,2004,11

问题1 — V3.0测试报告 查询效率低

数据抽取的效率很大程度上决定了代数系统的效率 问题1分析 <bib> {for $b in doc("bib.xml")/bib/book let $a := $b/author where $b//publisher/text() = "Addison-Wesley" and $b/@year > 1991 return <book year="{ $b/@year }"> { $b/author} </book>} </bib> 结果构造: 内存中的中间结果 结果构造: 内存中的中间结果 数据抽取: 访问磁盘的操作 数据抽取的效率很大程度上决定了代数系统的效率

问题1分析 (2) Navigation处理尚未利用任何索引 <bib> {for $b in doc("bib.xml")/bib/book let $a := $b/author where $b//publisher/text() = "Addison-Wesley" and $b/@year > 1991 return <book year="{ $b/@year }"> { $b/author} </book>} </bib>

问题1的解决办法 物理实现采用Twig查询处理方法 建立索引 利用TwigStack查询处理方法 Tag Index Path Index Sequence Index … 利用TwigStack查询处理方法

问题1的解决办法(2) 索引建立 查询处理 在DEB存储的文档导入时创建索引 代码修改集中在DEB方式的四个SAX接口中 startDocument, endDocument startElement, endElement 查询处理 代数操作的流水线操作 TwigStack操作的输出为Sequence (满足一次一集合操作) 数据抽取操作 添加CTwigPatternMatching类

大纲 OrientX3.0的体系结构 OrientX3.0的主要特征 OrientX3.0的查询处理问题【系统的效率】 基于代数引擎的XQuery/Update实现问题 OrientX3.0需要改进地方的总结

XQuery/Update XQuery1.1包括 XQuery/Update XPath 2.0 Full-Text Search

XQuery/Update (2) Insert, Delete, Replace, Rename, Transform表达式 Insert <price>50</price> after /book/author Delete /book[year = 1994]/author

XQuery/Update (3) Rename(修改结点名字), Replace(替换结点或值) Transform查询 copy $a := //book modify delete $a/author return $a 执行前 执行后 查询结果

Transform查询的应用 修改查询结果 查询: book的信息,但不返回 price信息 安全视图 更新虚拟视图 copy $a := //book modify delete $a/price return $a 访问控制:  用户A不能访问author 为”Rose” 的book结点的price 用户A提交查询: //book 合成Transform查询: copy $a := //book modify delete $a[author = “Rose”]/price return $a

XQuery代数处理 类似关系代数一样,提出了一系列的操作符. FOR $b in //book/price Construct $2 FOR $b in //book/price FOR $y in //book/year WHERE $b/price<50 and $y > 1990 RETURN $b Filter $2 < 50 & $3 > 1990 Select

XQuery/Update代数处理 ? 现有的XML代数能否表达XQuery/Update? where $nb/title = “C++” copy $cb := //book modify delete $cb/price return { let $nb := $cb where $nb/title = “C++” return $nb } Construct $nb Filter $nb/title = “C++” ? Construct $nb 扩展现有XML代数(基于OrientXA):提出新操作符: Copy (拷贝) Insert (插入) Delete (删除) Replace (替换) Rename (重命名) Filter $nb/title = “C++” Delete($2) Copy $1 Select book [$1]

问题2 如何实现Transform查询? 查询编译 Lex、Yacc 查询处理 修改XML代数规则 添加Transform操作符

问题2分析 Transform查询语句分析 Copy Modify FLWR语句 Insert Replace Delete copy $cb := //book modify delete $cb/price return { let $nb := $cb where $nb/title = “C++” return $nb }

问题2分析 (2) 代数操作符的添加 Copy Modify? 几个操作符的组合?

大纲 OrientX3.0的体系结构 OrientX3.0的主要特征 OrientX3.0的查询处理问题【系统的效率】 基于代数引擎的XQuery/Update实现问题 OrientX3.0需要改进地方的总结

需要改进的地方总结 尚未完全支持XQuery/Update 代数引擎中的数据抽取效率低 查询编译解析 基于代数的查询处理引擎 存储 查询 Lex/Yacc的修改 基于代数的查询处理引擎 代数操作符的添加 代数引擎中的数据抽取效率低 存储 在数据导入(DEB方式)时建立索引 查询 执行的物理操作采用Twig查询匹配方法 查询结构的重构问题

Thanks^_^ Q & A