数据管理:表象之下、有容乃大
openkk 13年前
<p> 如果让数据管理市场的各类产品都凑到一起演奏一场打击乐,那么 NoSQL 无疑是鼓声最强的。</p> <p> 近两年随着消费型数据的急剧膨胀,NoSQL 数据库在媒体和各种技术会议中也是风生水起,以至于参加这些会议时更多听到的是传统关系型数据库的“不是”。尽管我们可以将这些消费型数据称为“金矿”, 但它们毕竟不是铸好的金砖,关键信息还是继续保存在传统的商用数据库中。回忆那些实际关系到我们切身利益最重要的信息,几乎没有保存在 NoSQL 中,并且通过所谓的 OpenAPI 被全世界开发者尽情消费。</p> <p> 因此,NoSQL 热闹的表象下,真正支撑我们这个信息世界的数据管理平台短期内依然是商业关系型数据库产品。</p> <p> 相对计算机技术史而言,关系数据库系统的历史已经“够长”,因此对一些大型企业用户来说,尽管他们不像大型互联网企业那样依赖 NoSQL 数据库,单就是企业里林林总总的关系型数据应用也已难以招架。但面对多出来的这一大块市场“蛋糕”,几大商用数据库厂商似乎都急于瓜分它。</p> <p> Oracle 走的路线是“关系型数据库+开源 +NoSQL”,也就是依托 Oracle 现有的数据库市场优势,凭借一系列兼并,以开源的关系数据库 MySQL 和标准的 NoSQL 延伸产品 Oracle Big Data Application 扩展市场。不过主角依然是 Oracle 的关系数据库,上面的两个“帮手”,一个是为了牢牢把握人气,继续占据“社区”的优势,另一个是为了作为关系型数据库的有益补充,管理现代企业内部越来越 多的 Blog、Email、视频、音频、地理信息和图像信息等。</p> <p> 微软 SQL Server 采用的方式与 Oracle 也非常类似,通过 SQL Azure 平台和空间数据格式的支持,将 SQL Server 从企业数据中心延伸到更大的舞台。不过 SQL Server 对于 NoSQL 标准的支持与 Oracle 不同,微软似乎准备在 SQL Server 这一个数据管理产品内部解决,而不是提供新的独立产品,相信这也与微软这几年一直运营和使用 Azure 平台的实践密不可分,毕竟敢于直接在自己的主干产品上“下手”还是需要一定的积累和自信。</p> <p> 有关 IBM 的广告似乎总是被“智慧”包裹着,在用户眼中 IBM 提供的都是商业解决方案、信息服务,DB2的声音似乎要比 Oracle 和 SQL Server 静谧得多。不过从产品角度看,DB2的兼容性扩张路线似乎更具侵略性,因为它是通过对竞争产品特定 SQL 语言的兼容,实现更快的数据处理业务层面的迁移,而不仅仅停留在将对方数据的导入、导出上,或者即便不把对方迁移到 DB2 自己的数据库,也可以将 DB2 定位为一个“发号施令”的中心,直接操作和管理异构数据库。</p> <p> 如果对三个产品兼容并蓄的思路打个比方的话:Oracle 采取的是“拉帮结伙”的办法,关系型数据库部分继续“一枝独秀”,而新需求则通过新加入的“帮手”顶上去;SQL Server 则是采取“自强”的办法,努力学习处理这些新问题的办法,并将它们内化为自己的功能;DB2除了采用“拉帮结伙”的办法外,还在配合新产品满足新需求的同 时,针对竞争产品的“看家”功能提供近乎全面的支持,确保用户基于另一家数据管理产品开发的内容可以直接迁移到 DB2 中,直接“釜底抽薪”。</p> <p> Oracle 通过收购 RDB 将原有 VAX、VMS 的用户直接收归旗下,而且凭借自己的开发技术优势,不仅为 RDB 提供了新的 JDBC 驱动,同时似乎有将 COBOL 重新唤醒的意思。尽管这 20 多年里,C++、Java、C#语言一直占据企业应用的主力,但 COBOL 在处理这类应用时,也许比那些依靠各种框架、中间件才实现业务逻辑的类C语言更在行。</p> <p> 正是通过不断兼并,Oracle 在凭借关系型数据库进入用户企业并占据绝对份额之后,将围绕数据库的一系列“融合”后的产品也推向用户,如 WebLogic、Java EE、MySQL……</p> <p> 对于 IBM 而言,由于内部产品线分解比较细,因此在兼容过程中多管齐下。</p> <p> 一般在数据迁移过程中,前期最难的就是分析大体需要多少工作量、需要什么技术背景的 DBA 或开发人员配合迁移,这方面 IBM 的 MEET(IBM Migration Enablement Evaluation Tool)工具似乎一上来就有先声夺人的意思,因为它分析的是 Oracle、Sybase 等其他产品中各种数据对象的规模,并且判断这些对象与 DB2 数据库的兼容性。</p> <p> 另外,就是各种数据迁移工具,与以前简单的 ETL 工具不同,IBM 推出的一些免费的迁移工具更多是站在待迁移对象的角度考虑如何方便提取,并让这些迁移后的数据对象更好、改动更少地在 DB2 上运行。</p> <p> 而 DB2 的 Oracle 兼容模式(Oracle Compatibility Mode)则是在 DB2 内部实现了一个准 PL/SQL 语言的运行环境,包括对 PL/SQL 语法、PL/SQL 常用函数、PL/SQL 常用 Native Package 的支持,因此用户自己开发的 PL/SQL 存储过程、触发器、包以及相应的 Java 程序、OCI(Oracle Call Interface)程序几乎可以很少或者不做修改就可以运行在这个模式中。</p> <p> 而且,在几年前 DB2 似乎渐渐淡出 PC 服务器市场时,IBM 也一直在通过联邦数据库确保其大机、小型机数据环境与其他数据库的连通性。相对 Oracle Database Link、SQL Server Link Server 技术而言,IBM 似乎把联邦数据库的出镜率安排得更高,其目标除了解决客户现实技术问题外,相信商业上也是增加其存在感的有效手段。</p> <p> 另外,IBM DB2 数据库在 XML 数据处理方面的“杀手锏”也让 DB2 在一批信息结构复杂、易变的商业情境下大显身手。</p> <p> 而对于“Brand New”的这些 NoSQL 新贵们,相对商用关系型数据库它们还处在“航海大发现”阶段,NoSQL 的版图远没有划分完成,它们都在尽力“圈地”,因此似乎几个主要产品还没有用多少“心思”考虑如何兼容对方,对于这些“老牌”的商用数据库产品似乎只有尽 可能“取而代之”而不是兼容的心思。反过来说,这些“老牌”商用数据库正在极力兼容这些“新贵”们。</p> <p> 当然,现在谈论新老两派数据库谁会在商业上更加成功为时尚早,因为当前 IT 业正是投资的高峰期,等到这轮 IT 业周期再次回到低谷时也许才能看清楚。</p> <p><strong> 作者王翔,软件架构师,主要研究方向为 XML、.NET、领域设计和 PKI 应用。工作之余喜爱旅游、写作和烹饪。</strong></p> <div id="come_from"> 来自: <a id="link_source2" href="/misc/goto?guid=4958331054550787329" target="_blank">www.programmer.com.cn</a> </div>