大师论道:数据库的未来
在网上找资料的时候,偶然发现这篇文章,觉得很好,特转载过来,出自IBM。
从最早用文件系统存储数据算起,数据库的发展已经有 50 多年了,其间经历了 20 世纪 60 年代的层次数据库(IBM 的 IMS)和网状数据库(GE 的 IDS)的并存,70 年代~80 年代关系数据库的异军突起,90 年代对象技术的影响。50 年后,关系数据库依然处于主流地位。在关系技术之后,在新形势下,数据库应该如何发展?又有哪些重要的趋势呢?最近,《Software Development》杂志举办了一次专家论坛,讨论数据库的未来。论坛由咨询师和作家,《Dr. Dobb's Journal》XML 与 Web Services 技术频道的编辑 Ken North 主持,与会的有六位大师:Rick Cattell, Don Chamberlin ,Daniela Florescu,Jim Gray,和 Jim Melton。
讨论首先从回顾历史开始。North 回忆起当年一辆 IBM 1410 计算机的价格抵得上 300 辆野马跑车,而现在一台双 CPU 带 RAID 的服务器,价格还不到一辆野马跑车的 10%,大家都笑起来。相对硬件的发展速度而言,数据库的功能似乎进展得还不够快。毋庸置疑,今天,信息的存储、组织、管理和访问,依然是计算机技术最重要的领域之一。近年来,随着科学技术、电子商务尤其是 Internet 的迅猛发展,信息的来源、数量、形式和使用方式都发生了很大变化,使传统关系数据库面临着巨大挑战。各位大师面向未来展望了各种重要的趋势。
Jim Gray 认为:"如今,普通使用者也开始有了在桌面电脑上方便地存储和访问任何形式海量信息的需要,比如自己喜欢的一首歌曲、家里拍的一段视频、一幅扫描的图片,这些现在非得保存为文件的东西,就需要能够直接存入数据库。而检索时,既可以通过一些标识文字,也可以通过乐符查询、人脸识别、甚至是 OCR(光学字符识别)等等更自然的方式。微软目前有 3000 人的开发团队,正在致力于将所有这些集成在桌面操作系统中。我的小组里,有三个人在开发类似的但是相对廉价的版本。所以,这样的梦想可能不久后就会变成现实。当然,整个过程难度很大。"
"这的确是一个大趋势,"Jim Melton 表示同意。"事实上,和过去数据库处理的结构化信息不同,我们今天首先要解决的是如何处理复杂类型的数据:文本、时间性、空间性、声音、图形和视频数据等等。最有效的方式,显然是数据库本身就支持它们,将它们作为内置数据类型中的一等公民。"
来自对象数据库技术阵营的代表人物 Rick Cattell 三句不离本行:"对象数据库或者对象-关系数据库已经很好地实现了对这些扩展数据类型的支持。目前的数据库已经同时支持对文本和结构化数据的查询了,但是在同时支持信息检索的概率推理方面还有差距。"他还谈到了数据库中对编程的支持,毕竟他是 Sun公 司 J2EE 的技术掌门人,是 JDBC、JDO 背后的力量。"数据库如今已经加入了用户定义过程的功能,允许添加带有一定行为的数据类型。但是,过程以及其他可执行代码实现方式比如触发器,都还只是数据库中的二等公民,这一点需要做出改变。"
而来自 BEA 的 Florescu 则提到了目前比较热门的传感器网络计划,将在很大的地理范围内部署巨量节点的传感器,监控一定区域内各种物体的状态和位置。这个项目本身蕴含着巨大的潜力,有可能掀开军事情报和指挥、环境监测、资源勘察、气象预报、交通控制等等领域的新篇章,甚至改变我们的日常生活:如果家里的每个物体上都有一个传感器的话,找不到或者丢失东西,都将成为历史。这对数据库技术当然提出了极高要求。想象一下,成千上万,甚至数以十万、百万计的传感器实时发送的流信息,该是何等景象?
对于 P2P 计算能否取代客户端- 服务器模型成为主要数据库存储方案,专家们取得了一致。Chamberlin 说: "P2P 可能更适用于更新较少的应用场合。"而 Jim Gray 认为,如果没有任何网络带宽限制的话,P2P 模式才是有可能的,因为它需要大量的数据传输。他们对所谓元组空间(tuple space)计算模型都给予了负面评价。
在 Jim Gray 看来,缺乏元数据是目前数据库技术无法解决 Web 中问题的主要原因。举例来说,寻找满足某种条件的一张照片或者一段音乐,就目前而言,是难以解决的。
当听到有人问及"如何在文档中进行查询"时,Don Chamberlin 当仁不让地接过了话筒。他比较了传统数据库中的结构化数据和 Web 上非结构化或者半结构化、异构、稀疏型的数据。他说:"自从上世纪 90 年代以来,似乎一夜之间,所有计算机都连接起来了,信息空前激增。但是这些突然出现的信息并不都是由行和列组成的,有跟顺序无关的,还有流式数据比如股票行情报告系统。"有着数据库查询和文档处理两方面背景的 Chamberlin 深信,XML 在未来的数据库中将处于中心地位:"XML 将成为文档交换的主要格式。它是灵活的,而且能够自我描述。许多程序都需要用交换数据的格式进行查询。其他数据都将映射为 XML,通过接口与外界联系。但是关系数据库和 SQL 不会退出历史舞台,因为它们在数据的无关性方面,在处理关系上有着天然的优势。"当然,Chamberlin 也承认:"还有许多工作要做。比如更新和事务处理问题、XML 数据的索引问题就需要认真解决,这也是 W3C XQuery 工作组目前的重点。我们必须像多年来开发关系数据库那样,围绕 XML 构建健全的基础设施。"
对于数据库未来的发展方向,Cattel 显然有不同的看法:"我可不认为纯 XML 数据库会有美好的未来。人们难道会完全用 XML 格式来存储和查询数据吗?性能肯定是大问题!我在 10 年前就站到了另一边,赞成通过面向对象技术解决问题,实际上目前的主流厂商,都已经在关系数据库中很好地支持了对象。互操作性和兼容性当然重要,XML 作为通用的数据交换模型,因为它的可扩展性,可能会非常适用于各种特殊目的的专门市场,但是绝不会替代关系数据库。"
而作为 Chamberlin 的亲密战友和 XML 查询引擎方面的专家, Daniella Florescu 表明了自己对于 XML 数据库的信心:"我认为 XML 查询的优化潜力是很大的,其性能完全有可能超过 SQL。目前,在 XML 元素、Java 对象和数据库表行之间进行数据编组(marshalling)和解组是性能的瓶颈所在,这也就是所谓'Web 服务阻抗'。凭我的经验,我相信未来如果直接用 XML 编程,就可以克服这种问题。"短短的 1 个小时时间,当然不可能将数据库未来的发展完全涵盖,但是与会者都从中受益匪浅。类似的讨论会,今年 3 月份举行的 SD 大会上还会举行,让我们翘首关注吧。
Rick Cattell 是 Sun 公司杰出工程师。主持了 JDBC API 的设计,他创办了对数据库技术产生了很大影响的 ODMG 组织并担任主席,是对象数据库方面的世界权威。目前,他担任着 Sun 公司 Java 企业级技术集团首席架构师的要职,执掌着自己参与开创的 J2EE 的未来技术方向。
Jim Melton 长期担任 ISO/IEC SQL 标准的编辑,SQL 标准委员会的长期成员,先后供职 DEC、Sybase,现任 Oracle 公司高级工程师。他还是旨在结合 SQL 和 XML 的项目 SQLX 的发起人。
Don Chamberlin 是 IBM 名士,SQL 之父(参见 SQL 之父: Don Chamberlin)。
Jim Gray 是 1998 年图灵奖得主,早年在 IBM 参与过 IMS、System R 和 DB2 的开发,后曾供职于 Tandem 和 DEC 公司。1993 年微软想尽一切办法,甚至为他专门在湾区开设研究院,终于请他加盟。SQL Server 7.0 的成功想来离不开Gray 的强大支持。
Daniela Florescu 是著名的 XML 查询引擎开发商 XQRL 公司的 CTO,在公司被 BEA 购并后进入后者任高级软件工程师。她曾在法国计算机科学研究院(INRIA Rocquencourt)任研究员,是 W3C XML Query 工作组成员,与 Chamberlin 等合作开发了 XQuery 语言。