
XML 正在成为越来越多企业心中的痛。XML 是一种层次型的数据模型,而传统数据库的基础是关系模型,二者有很大区别,不能直接匹配。
拿什么拯救你,XML?
今天企业在数据层正面临越来越大的挑战,一方面数据日益复杂,另一方面用户、及应用对数据的需求越来越灵活,传统严谨的关系型数据库的架构在经过二十余年发展后,在应对不断变化的外部环境时存在越来越多的限制,尤其体现在对数据复杂性和数据灵活性的管理及赋予数据业务内涵。XML(Extensible Markup Language)作为一种自我描述的层次型数据结构提供了极高的数据灵活度,其可扩展、跨平台、易于交换等特性获得了业界的一致认可。XML 首先在数据交换领域得到广泛应用,为不同系统间信息统一描述和交换提供了很大的灵活性。随着业务和 IT 的进化,整合成 IT 的主旋律,SOA(Service Oriented Architecture,面向服务的架构)应运而生,不同系统不同流程间需要信息的交互,而 XML 以其灵活性和自我描述的能力成为 SOA 得以建立的基础。XML 所带来的不仅是一种格式,他使应用程序或最终用户能够以业务对象(而不是以数据表)的方式访问、使用数据,从而极大地提升了对数据复杂性的管理能力,并提供了极强的数据灵活性。因此,几乎所有著名的 IT 厂商都在想方设法,实现 XML 文档和消息的高效共享、搜索及管理,从而帮助客户减少存储和使用 XML 数据所需的时间和工作量,进而减少开发费用,并提高业务灵活性。
然而,XML 正在成为越来越多企业心中的痛。XML 是一种层次型的数据模型,而传统数据库的基础是关系模型,二者有很大区别,不能直接匹配:后者以关系(表)、属性(列)为基础的,而前者则以节点(元素、属性、备注等)和节点间的相互关系为基础。这就使得目前普遍用于管理和共享XML数据的一般方法都存在一定缺陷,比如:文件系统可以应付简单任务,但在需要处理大量文档时力不从心,难以应付并发、恢复、安全和可用等问题;
传统关系数据库管理系统(DBMS)虽然可以存储 XML 信息,但由于其内核是关系型与 XML 的层次型结构并不匹配,存在很多的缺陷,不能有效发挥 XML 所带来的在数据组织和数据灵活性方面的价值。它们往往提供两种基本的 XML 存储方式,简单的方式是将每个 XML 文档完整地存储为一个大型对象,这种模式处理效率低,而且数据库无法理解 XML 文档中的内容,难以提供灵活的查询。另一种方式是将其拆解存储在多个表的多个列中,这种模式大大限制了 XML 的灵活性,难以体现数据对象的完整性,同时 XML 的拆解和封装需要消耗大量的系统资源。两种方式无论怎样都会导致性能下降、管理困难、查询复杂性增加等问题;
纯粹的 XML DBMS 则在 IT 基础设施中引入了一种新型的环境,但这种环境尚未经过严格考验,其集成能力、所需的人员技能以及未来的生命力还不确定,会造成很多风险因素。
难道就让 XML 技术这么消沉下去吗?世界上就没有一种方法既能充分利用 XML 的各种特性,又能简单、高效地存储 XML 数据吗?
当然不,XML 的“救星”已横空出世。想一睹他的庐山真面目?7月14日,敬请关注!
