技术开发 频道

★DB2 pureXML与其它数据库XML实现技术对比

   
    下面,我们从技术点和性能两大方面对比DB2 9与Oracle 10g XML技术的差异。前面已经分析过Oracle通过大对象和拆分两种方式来支持XML的存储。我们分别针对两种方式来跟DB2 9的Native XML技术作比较。
(一) Oracle基于大对象CLOB的存储方式 
 
XML操作
DB2 9 Native XML
Oracle非结构化大对象存储
存储方式
预先解析,磁盘上存储类似XML DOM树结构
 CLOB
查询的时候是否需要解析?
 不需要
 需要
支持任意节点或属性上的索引?
 支持
不支持重复出现节点上的索引
XML存储字段允许多个Schema ?
 允许
 允许
XML文档可以没有Schema ?
 允许
 允许
XML的灵活性?
 允许
 允许
子文档更新
 支持
 需要解析 编码
全文索引支持
通过NSE实现,可以支持XPATH路径确定的子文档上的全文检索
通过CTX支持全文索引;但不能够针对XPATH子树检索

(二)
Oracle基于拆分的存储方式
   
 XML技术点
DB2 9
Oracle 10g
结构化存储
存储
Native (层次)
(对象-)关系
XML文档没有Schema
允许 J
不允许 L
每个字段是否支持多个Xml Schema?
允许 J
不允许 L
Schema发生变化 灵活性
支持 J
不支持 L
Native XQuery 查询
支持 J
不支持 L(需要翻译成SQL)
支持任意 XQuery
支持
否 (需转成SQL或借助外部Java引擎)
需要多次Join获取文档内容
不需要 J
需要 L
任意节点属性上创建索引包括重复节点
支持 J
很困难/做不到
子文档更新
9.5版本支持
转化成SQL更新

    注:在 Oracle 数据库 10g 第 2 版中,Oracle 也引入了XQuery 引擎,但存储结构等没有发生变化。
   
0
相关文章