xml与oracle对比,Oracle XML DB和DB2 pure XML在XML文档存储查询性能方面的比较分析

0引言随着互联网和信息化技术的快速发展,医院在逐步完成医院信息数字化建设过程中,它的核心技术之一就是电子病历的数字化管理和应用。电子病历包括病人就诊或治疗的全部临床信息,这些信息一般由数字、文字、图形和图像等数字信息组成。本文仅对纯文本数据电子病例的存储和查询的性能进行分析和比较。电子病历的存储、交换、共享和使用要求电子病历必须以一种统一的格式规范或语法进行定义[1],能够支持高效的查询和更新存储。定义基于语义标记的XML文档格式[2]能够为解决各种类型的数据共享、交换和使用问题提供一种行之有效的技术解决方法。OracleXMLDB[3]和IBMDB2pureXML[4]数据库管理系统都对XML文档提供了强大的支持,是将关系型数据和XML数据进行混合管理的数据库软件[5],但这两种XML文档技术解决方法,在电子病历的应用性能方面是否存在差异成为系统构架师和设计师高度关注的技术要素,本文就该技术要素展开分析和比较。1在存储和查询实现技术上的比较分析OracleXMLDB和IBMDB2pureXML都采用了W3C的XML数据模型,但在物理存储层的设计和实现差异很大。查询虽都是基于XQuery语言,但因采用了不同的存储技术而各自做了不同的封装和扩展。1.1在物理存储层实现方式比较OracleXMLDB11g中针对不同的数据可选用三种不同的存储机制,即以大字符对象(CLOB)方式的非结构化存储、二进制存储和完全结构化的存储机制。针对结构化存储,OracleXMLDB用XMLSchema所含信息派生一个对象模型、该模型可使符合XMLSchema的XML内容得到分解并以对象集的方式存入数据库。注册XMLSchema之后,OracleXMLDB为XMLSchema定义的每个全局元素创建一个默认的XMLType表,即对象表[6]。XMLSchema中的类型如String、Decimal和Date分别被映射成SQL中的Varchar2、Num-ber和Date类型。当XML实例文档被装载进OracleXMLDB知识库时,XML文档内容将被“分解”并保存在对象关系表中。表1是在OracleXMLDB中采用结构存储方式存储XML文档的示例,该XML文档片段如下:1001OracleCorpChina123456…表1XML文档实例在OracleXMLDB中存储为Person关系表ROW_IDPersonIDNameAddressPhone...11001OracleCorpChina123456…DB2V9引入了DB2pureXML支持,是一种高效的大字段存储模式,其性能优于传统CLOB的文本字段处理。因为XML标签元素存有内在的层次结构,所以在DB2pureXML数据库中的物理存储层主要存储单元是节点且以树型形式展现,同时可在保存XML文档层次结构的前提下,在节点的粒度上存储XML文档的片段,而不破坏其层次结构。图1为XML文档在DB2pureXML中存储方式的示例。图1XML文档在DB2pureXML中以节点方式存储示例由于OracleXMLDB把XML文档转换为关系表保存,基此方便XML文档的有效性验证,但插入时开销偏大。DB2pureXML可高效维护XML文档的层次结构和加速对XML文档的检索性能。通过节点与父、子节点的关联有利于遍历。如果待查节点在同一页上,那么遍历速度将比指针遍历还快。1.2在查询方式上的比较DB2提供两种语言规范查询XML数据,即SQL/XML和XQuery。既可以单独使用XQuery和SQL,也可将XQuery嵌入SQL中使用,反之亦然

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433272.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sip配置

sip配置 sip--会话初始协议,通常用于voip电话,进行呼叫建立、呼叫结束以及呼叫进程中的协商。基本上,它帮助二个端点互相通话。sip不处理媒体;当呼叫建立之后,它通过实时传输协议在电话之间直接传输媒体。 SIP使用UDP5060端口进行…

[leetcode]Merge Intervals

整体不难,一开始以为是线段树,后来仔细看来不需要,从左到右扫,判断是否要merge就是了。此题有几个要注意的地方:1.Java的Comparator要会写;2.循环结束后的ans.add(tmp)不要忘记;3.merge的时候&a…

php公交查询系统源代码,基于Smarty公交查询系统的设计与实现(PHP,MySQL)

基于Smarty公交查询系统的设计与实现(,MySQL)(任务书,开题报告,中期报告,毕业论文11000字,程序代码,MySQL数据库,答辩PPT)本系统主要分为前台页面、后台逻辑及数据库三大部分。前台页面主要由首页,各查询页面及管理数据页面等,后台逻辑则分别针对各个页面…

xilinx芯片管脚使用限制_修复焊接BGA芯片过程

我们能够享受现代电子设备小巧玲珑但又功能强大的优点,得益于芯片的小型封装的优势,其中一个最为优秀的封装形式就是锡球阵列封装(BGA)。这种封装形式芯片的管脚是分布于芯片底部的一系列点阵排列的焊盘,通过均匀的锡球与PCB板连接在一起。比…

ajax请求web服务返回json格式

由于.net frameword3.5以上添加了对contenttype的检查,当ajax发送请求时,如果设置了contenttype为json,那么请求webservice时,会自动将返回的内容转为json的格式,json的格式iruxia{"d":"webservice方法…

linux驱动中使用定时器

我的内核是2.4.18的。Linux的内核中定义了一个定时器的结构&#xff1a; #include<linux/timer.h> struct timer_list { structlist_head list; unsigned long expires; //定时器到期时间 unsigned long data; //作为参数被传入定时器处理函数 void (*function)(uns…

matlab表达式部分项求和,matlab如何得到符号表达式中某一部分项的系数

matlab如何得到符号表达式中某一部分项的系数mip版 关注:238 答案:2 悬赏:0解决时间 2021-01-19 05:05已解决2021-01-18 14:17syms t1 t2 t3;y4*sin(t1)*cos(t2)cos(t1)sin(t1)*sin(t2)5*sin(t1)*cos(t2)*sin(t3);如何得到sin(t1)*cos(t2)的系数表达式(45*sin(t3))&#xff…

bizhubc226说明书_让打印文件不再单调 柯尼卡美能达 bizhub C226为你服务

柯尼卡美能达作为一个复合机品牌&#xff0c;除了在黑白复合机上有很大的市场&#xff0c;在彩色数码多功能复合机上也有很大的优势。这款柯尼卡美能达 bizhub C226 A3彩色数码多功能复合机可以说是彩色复合机的代表&#xff0c;在性能和打印质量方面都很不错&#xff0c;并且售…

log4net在WinForm和ASP.net下的设置

下载log4net.dll&#xff0c;放到bin目录下&#xff0c;然后引用到工程。下面说明配置和调用方法。 1、AssemblyInfo.cs末尾添加  [assembly: log4net.Config.XmlConfigurator(ConfigFileExtension "config", Watch true)] 2、App.config&#xff08;WinForm&…

A20 GPIO

1. A20的bsp给应用程序封装了gpio接口&#xff0c;其源码在bsp的位置如下&#xff1a; frameworks/base/core/java/android/os/Gpio.java frameworks/base/core/jni/android_os_Gpio.cpp 使用的时候导入javalib.jar即可 2. 下面介绍如何在驱动层操作gpio 通过搜索驱动代码&…

oracle 判断是否位汉字,js判断字符是否是汉字的两种方法小结

有时需要判断一个字符是不是汉字&#xff0c;比如在用户输入含有中英文的内容时&#xff0c;需要判断是否超过规定长度就要用到。用 Javascript 判断通常有两种方法。1、用正则表达式判断js判断字符是否是汉字.content{width:350px;overflow:hidden;border:1px solid #ddd;}fun…

git远程代码回滚_【GIT】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚...

git branch -D br【git 删除远程分支】git push origin :br (origin 后面有空格)git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id【本地代码库回滚】&#xff1a;git reset --hard commit-id :回滚到commit-id&#xff0c;讲commit-id之后提交的commit都去除gi…

Eclipse与github整合完整版

最近朋友都推荐使用github管理自己的项目,而且免费用户可以有5个仓库,恰好我也想了解下git,借此机会学习一下.github官方指南使用独立第三方git工具来进行版本控制,并不借助于eclipse,但我觉得eclipse肯定也有插件来解决这类问题,就像subclipse一样. 安装egit egit目前应该是ec…

A20 看门狗驱动

任务&#xff1a;板子上增加了独立的复位芯片SP706S&#xff0c;为了在设备死机的时候重启系统。 资源&#xff1a;芯片使能管脚 PH13 喂狗管脚 PI16 1. 为了省事&#xff0c;直接在drivers/sunxi_gpio/gpio_sw.c这个文件里加了&#xff0c;这里有现成的操作GPIO管脚的函…

php 5.6连接sqlserver,wamp php5.6连接sqlserver

wamp php5.6连接sqlserver2018-09-28 16:05:36首先PHP5.6并未提供链接sqlserver的扩展,需要到微软下载相应版本的PHP链接sqlserver的驱动扩展,php5.6对应的是Version 3.2 supports PHP 5.6, 5.5, and 5.4 on Windows放到php文件夹下/ext扩展文件夹里.并在php.ini中将扩展启用,我…

airpods版本号_Airpods怎么看是第几代?Airpods型号区分教程

Air pods怎么看是第几代&#xff1f;现在airpods已经有3代产品&#xff0c;那么怎么区分这3代产品呢&#xff0c;一起了解一下&#xff01;Airpods型号区分教程1代2代的硬件区分方法&#xff1a;很多人说盒子上的按钮上移可以区别&#xff0c;但是因为你需要同时有2代对比&…

Srping MVC入门推荐

看了不少大牛们的博客&#xff0c;对Spring MVC心里还是一团迷雾。 看了《Spring in Action》&#xff08;Spring实战&#xff09;&#xff0c;疑惑渐渐明朗。 特推荐此书。 转载于:https://www.cnblogs.com/dview112/p/3259064.html

RGB与YUV格式简介

&#xff08;1&#xff09; RGB格式简介 RGB色彩模式是一种颜色标准&#xff0c;是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的。图像中每一个像素的RGB分量都分配一个0~255范围内的强度值。这个标准几乎包括了人类视力所能感知…

創建oracle用戶及表空間,window,linux下創建oracle用戶及表空間 對比 易於學習

1、window下創建oracle用戶及表空間--創建數據表空間create tablespace oras_data --表空間的名字loggingdatafile D:\oracle\product\10.1.0\oradata\oras_data.dbf --表空間的文件&#xff0c;注意據庫版本&#xff0c;我的是10.1.0size 32mautoextend onnext 32m maxsize…

关于非root用户配置ssh运行环境

第一步&#xff0c;我们创建Linux用户&#xff1a; 用root用户登录 A&#xff0e;增加用户组命令&#xff1a;groupadd –g 500 hadoop //此处500是手动设置groupID Linux保留前500 ID号 &#xff1b; B&#xff0e;增加用户命令&#xff1a;useradd –u 500 –g 5…