第五站 技术的前沿 XML和自动化处理的呼声 在与一些开源数据库使用者的接触中,记者发现管理工具的缺乏是开源数据库比较普遍的一个问题。很多开源数据库缺乏管理工具,需要借助第三方的工具。存储过程一直以来被认为是MySQL缺乏的基本功能,但一些开发人员并不这么认为,一些有经验的开发人员宁愿用函数,他们认为存储过程虽然提高了效率,却牺牲了一些灵活性,而且不一定是他们想要的。 在开源数据库产品不断进化的同时,商业数据库产品近年来在实现XML以及自动化处理等方面再次将数据库技术向前推进,这是开源数据库下一步追赶的目标。 强调XML特性 今年出现的许多新技术可以提供一些特有的能力,能够将原生XML格式的数据存储在关系数据库中。由于法规遵从性的要求,越来越多的企业需要将电子邮件、Web日志,可能有一天还包括办公室中的每一次通话记录存储下来,而这些数据通常都不是以行和列的格式存在的,因此存储这类数据的能力也将是至关重要的。 Oracle下一个版本的软件将支持XML Query语言(XQuery)。这将是一种用于原生XML访问的全新W3C标准。下一个版本的IBM DB2预计于2006年推出,而Microsoft SQL Server 2005也将于2005年下半年发布,它们都将支持XQuery。所有这些数据库都将在数据库内实现混合式的SQL和XML查询。 Burton 集团的高级分析师Peter O'Kelly 认为,如果用户的关系数据库支持原生XML数据,那么就可以享受到XML数据格式带来的出色诚信特质,例如,可以在整个文档中插入电子签名,也可以将采购订单直接存储,无须进行任何的转换,这些特性都可以确保文档不会被篡改。" 据Gartner集团的Feinberg 称,数据库厂商大动干戈的主要原因是,它们都相信,如果谁能控制、支持和存储所有类型的数据,那么这样的厂商也就有能力扩展自己其他产品和服务的市场空间。 增加自动化处理 多数分析师都赞同这样一个观点:降低数据库的支持成本将是促进变革的另外一股巨大动力。IBM公司信息管理软件战略主任Jeff Jones说,IBM正在DB2中投入大量的资源,目的是要实现性能改善的自动化,也就是说在不需要数据库管理员对SQL进行调整的情况下实现性能提升。在DB2 8.2版中就已经包含的自动性能优化、安装和建立数据库时的自动配置。未来的版本将着重自我诊断和自我修复功能。 微软计划在SQL Server 2005中提供一些优化技术,利用所谓的"闭合回路系统"可以对查询进行优化,这种方法可以从查询中归纳出统计信息,并在下次用到这个查询时使用不同的优化方案。到现在为止,Oracle一直都将注意力放在了数据库的管理方面。Oracle 10g中就包含自动备份和恢复、内存管理、统计和存储管理能力。Oracle 公司数据库产品管理高级主任Mark Townsend指出,下一版中还将注重自我诊断、自我调节和自我修复等能力。 第六站 项目的维护该由谁来推动? 与其他开源产品一样,开源数据库产品的升级换代和技术服务是一个有共性的问题,对于这一问题就连开源产品的提供者也有不同的见解。一种观点认为,开源模式本身就是最好的质量保证。开源社区的联合资源可能远远超过一家传统软件厂商的资源。 至少,这是Gluecode公司观点。该公司的产品Gluecode JOE是一种应用服务器的开源平台。虽然Gluecode的员工为该项目做出了重大贡献,但他们并没有做像其他公司(例如MySQL和CA)那样,担任其代码库的惟一管理人。 相反,Gluecode JOE的许多主要组件(包括Geronimo应用服务器、Derby数据库和Pluto门户框架)是由Apache基金会负责维护的。 该公司CTO Boynes说:"用户经常会问:这个产品5年后还能存在下去吗?"而依靠像Apache基金会这样得到广大合作伙伴认可,并拥有辉煌社区支持历史的组织,就意味着Gluecode JOE的技术寿命得到了保障。将开放源代码的开发过程交给Apache后,Gluecode可以将精力集中在如何增加基础产品线的商业价值上,这包括优化用户界面和提供全面的企业支持服务。 当然,并不是所有人都赞同这种作法。JBoss公司创建人、CEO Marc Fleury就是这一观点的反对者。 同Gluecode一样,JBoss也将目标瞄准建立在基于开源的门户和其他复杂的企业应用方面。不过,对于Fleury来说,仅凭社区推动产品开发是不够的。 Fleury认为,JBoss不只是简单的再包装以及为已有的开源项目提供支持。它将明确地在项目中雇佣全职的项目负责人,并作为所有捐赠代码的最终管理人。Fleury说:"我们是自由软件的软件发布者,JBoss和MySQL等公司可以被视作第二代开源厂商。通过掌握更多的代码所有权,我们这些公司比传统开源厂商能够赋予自己的产品更多的可信性。" 两家公司,两种非常类似的产品。虽然同是开源产品,但却采取了不同的方法。您会如何选择呢?我想,最后将取决于您到底信任谁。 旅行提示: 开源≠免费:开放源代码并不意味着完全免费,这里需要注意开源产品所遵守的相关开放协议,例如BSD协议、GPL协议、Apache协议等。但不可否认的是,即使是收费,开源产品的花费仍然极低。例如,MySQL虽然作为开放源代码数据库,但采用的是双重授权策略,对于不愿公开自己源代码的使用者,需要付费使用MySQL, 而对于开放源代码的使用者,可以基于GNU的公共许可协议GPL来使用。 |