XML 和数据模型的扩展性
相对于关系型数据存储模式,通过 XML 存储数据有以下优势:
- XML 是标注型的数据格式,能够让业务人员非常容易理解。
- XML 层次型的数据格式,更能实际的反应出对象和业务的层次关系。
- XML 灵活的数据存储方式,更能反应业务的变化,能够存储相对更广泛的数据。
正是因为 XML 相对于关系型有上述的优势,因此,在数据建模的时候,我们完全可以结合 XML 来进行数据模型的设计,这样,能够保证我们的数据模型的扩展能力。
有两种使用XML的方式:
- 完全XML 化的数据模型设计
- 部分XML 化的数据模型设计
完全采用XML的方式来设计我们的数据模型同样会带来以下的一些问题:
- 完全XML化的数据模型设计虽然简化了很多数据模型的工作,但是要求开发人员必须熟悉 XML 的 Xquery 语言,而且完全抛弃掉已有的SQL规范,给现有的技术体系的延续性带来了一定的难度。
- 完全XML化的数据模型设计虽然节省了模型设计的工作,但是现有的一些开发工具可能还不能很好的支持XML的技术,因此,在某些时候需要手工的进行一些开发的工作,在这个意义上增加了一定的开发工作量。
正是由于有上面的缺点,因此,我们在实际的生产过程中基本上采用关系模型和 XML模型相结合的方式来进行数据模型的设计,通过关系模型来延续现有的体系架构,而通过 XML 模型来帮助我们现有的数据模型的扩展能力。
采用部分 XML 化数据模型的设计,其实是兼容了关系模型和 XML 模型的优点,发挥了两者的长处,规避了两者的短处。可以概括成以下两点:
- 部分 XML 化数据模型的设计,完全延续了现有的关系模型的体系,兼容了现有的开发环境,使得开发人员能够很容易理解和执行。
- 部分 XML 化数据模型的设计,充分考虑了未来业务发展的需要,以及系统整合的需要,能够灵活的针对现有的数据模型进行数据的扩充。
正是因为部分 XML 化数据模型的设计同时兼顾了关系模型和 XML 模型的优点,因此,在目前的数据建模设计的方法中成为越来越流行的一种设计方法。
在完成记录的插入后,我们同样可以通过 SQL 和 Xquery 结合在一起的方式,针对这部分数据进行查询
- 能够同时满足不同层次的业务需求。通过 XML 得分层方式,实现不同层次业务需求的和谐共存。
- 能够更好的响应业务变化的需求。通过扩展的 XML 字段的方式,能够灵活的实现新增业务的需求而不影响整个应用的框架。
- 能够更好的实现不同数据之间的兼容性。通过扩展的 XML 字段的方式,能够兼容其他的系统的数据而不会同当前系统的架构发生冲突。
原文链接:
http://www.ibm.com/developerworks/cn/db2/library/techarticles/dm-0805zhousb/index.html?ca=drs-cn