XML Database:数据库中数据以XML格式存储,可以被查询、导出、串行化 成预定格式。
两种类型: XML-enabled 把所有XML映射到传统的数据库,XML作为输入 和输出,数据库自己转换格式而不用中间件。
Native XML(NXD) 内部模式依赖于XML,XML文档作为基 本存储单元(关系数据可中表的一行)
普遍使用XML传输数据
从数据库中提取数据再存到XML文档——>以XML格式存储
Native XML Database:
为XML文档定义逻辑模式,至少包括 elements, attributes, , and document order.
没有特别规定的物理存储模式,可以是关系、层次、面向对象数据库结构。
Collections——一组文档的逻辑模式,数据库可同时建立和管理许多collections,collections的层次结构——操作系统的目录结构
查询语法:XPath
文档转换:XSLT
查询:XQuery
XML:DB API ——ODBC、JDBC
XQJ(XQuery API for Java specification)
XML Database Example(open source):
BaseX:专用于存储、查询、可视化大型XML文档和文档集合。
native, light-weight,platform-independent
紧凑的XML存储、高效的XPath/XQuery处理,完全支持W3C升级和XPath Full Text Extension
GUI(Treemap,表,树,散布图)
实时处理XQuery表达式
C/S架构
eXist: XQuery/XPath,支持REST接口与AJAX网页表单交互
WebDAV 接口允许用户把XML文件直接拖进eXist database
使用关键字索引自动索引文档,很容易创建高性能文档检索系统
SOAP XACML XInclude XML-RPC XProc
Sedna:Schema-based clustering storage strategy for xml data
Memory management based on layered address space
跨平台,用c/c++编写
数据组织 主要为了xml查询和更新之间的性能平衡:
Direct pointers表示xml节点关系(parent、child、sibling)
Schema-driven 存储策略 描述性schema由xml文档的集群节 点组成。和DTD、XML Schema不一样,该描述性 schema是从数据中动态产 生,更简洁、精确地概括 数据,使得该存储策略能应用在任何XML文档中
Xindice:查询XPath,更新XML:DB XUpdate
XML:DB API for java development