从数据库到全面的数据平台

去年我在香港出席了微软技术大会TechED 2007。我和Ron Jacobs为闭幕式做了主题演讲,我们着重介绍了在微软应用平台开发中涌现的新一波技术创新浪潮。当然,我谈到了数据平台这一部分,我很欣喜地为来宾们简要介绍了即将随SQL Server 2008上市的很多创新(SQL Server 2008按计划将在今年发布)。在后续的文章中,我们将进一步探讨SQL Server 2008,但如果你有兴趣了解更多或想现在就体验一下的话,可以点击该链接开始。

除了在技术大会上发言外,我们还会见了香港当地媒体,并向他们简要介绍了SQL Server产品的未来发展方向。我们也会见了该地区的一些贵宾客户——了解它们在微软平台上进行的最新项目,以及他们需要哪些类型的帮助。我们总是能从类似会谈中学到很多。

对我来说,这趟旅行最有意义的方面却可能是我在香港大学(HKU)和香港科技大学(HKUST)举行的两次题为“从数据库到全面的数据平台”的演讲。两所学校的师生们正在一个我们现在宽泛地称作“数据平台”的领域从事研究工作,我们进行了交流——并从产业的角度来看待一些变革,这些变革我们认为是传统“数据库”领域的一个历史性转变。

现代数据库作为一个研究领域已经存在40年了。从早期的层次和网状模型,到Codd所开创的关系模型,再到不同领域的许多创新,包括事务处理、隔离级别、访问方式、声明式查询语言与查询处理、游标、API,等等,数据库技术为构建可靠的企业级关键任务应用提供了基础功能,这些应用在很大程度上带动了今日的“信息经济”。由此,当今日一个普通的大学生想到“数据库”时,他们的印象可能是一个成熟的、甚至有点陈旧的研究领域,其中所有令人兴奋的难题很多年前就已经解决了,剩下的工作无非是一些渐进式的改良——为即将结束的领域画上最后一个句号。

这样的看法大错特错了。

在过去几年中,几种发展趋势的强劲融合——技术趋势、用户和商业趋势、应用趋势——使得数据库领域出现了从未有过的重新界定和扩展,数据库在它的悠长历史上从未有如此多令人兴奋的问题等待解决。

让我们简要地回顾一下这些趋势:

技术趋势:大家都熟悉摩尔定律——处理能力每18个月翻一番,早期体现为不断增长的主频,现在体现为多核。事实上,该趋势在硬盘存储容量(以及价格)中表现更为惊人。举个例子,每G硬盘的价格已从1980年的40,000美元/G下降至今天的约0.5美元/G!!!内存和闪存的容量以指数增长的同时,价格下降曲线则更为陡峭。另外,各种设备在激增——移动电话、掌上电脑、游戏设备、GPS设备等等——所有这些设备都在以一个惊人的速率产生、存储、处理和发送/接收/同步数据。当然,还有无所不在的互联网,它不仅使得新型应用成为可能,也改变了对已有应用特征的期望——还有很多这样的例子,都是在瞬间发生的变化。

用户和商业趋势:有了上述技术发展的支持,涉及数据、信息的用户与商业模式发生了巨大的变化。首先,有了一个彻底的数据爆炸,新生成数据的总量正在按指数规模增长,其中大部分是电子式生成的。(是否注意到,您的硬盘无论多么庞大始终没有多少剩余空间?)。电子邮件、文档、数码照片、音乐、视频、传感器上生成的流数据、卫星图像,都是这个伟大数据爆炸的一部分。问题并不仅仅是存储这些数据——用户和商家希望能从中获取价值——能够搜索、共享、同步、分析、可视化和操纵这些数据,从而让它变成有用的信息——一种“任何时间、任何地点处理你的数据”的想法。而这一切得到满足的同时,我们需要确保数据是安全的,隐私是受到保护的,所有外部和内部监管法规正在实施着。

应用趋势:首先出现的是批处理(Batch Processing)——基本上是一个对存在数百年的人工处理的自动化。紧随其后的是OLTP (Online Transaction Processing,联机事务处理)。在许多情况下,OLTP改变了商业的经营方式,以前需要很多时间才能完成的工作,现在瞬间可得。OLTP的体系结构和底层平台技术经历了几代更迭交替,但其核心概念并未变化。随着公司从这些OLTP系统中积累越来越多的数据,他们发现了一个获得重大竞争优势的机会,他们可以分析这些数据,更好地了解他们的客户。这就诞生了商务智能(Business Intelligence,BI),它包括数据仓库、在线分析处理(Online Analytical Processing,OLAP)、报表、数据挖掘等技术。今天,我们生活在一个Web 2.0的世界,应用通过各种终端展现(富客户端、浏览器、设备、笔记本/台式机……),数据无缝地从各种数据源汇集到一起,并提供了多种丰富的服务,包括查询、检索、分析(日益增长的实时分析)、报表、可视化,等等。同时,它们还运行在具有前所未有的伸缩性、可靠性和安全性的级别上。

一个全面的数据平台

上述变化趋势正在驱动着我们的领域进行根本性的变革——从仅仅“数据库”,到我们现在所称的“全面的数据平台”。该平台建立在数据库概念的基础上,并在如下三个不同维度上进行了扩展:

所有数据:长期以来,数据库都可以存储和操纵文本、数字,但这对一个数据平台来说是不够的。一个全面的数据平台必须能够处理所有类型的数据——包括文本、XML、对象、文档、文件、来自传感器网络的流数据,以及任何用户自定义数据。同时它必须能为每种数据类型提供更适合的服务——存储、索引、查询等。

所有层面:数据库只能运行在“服务器”上的日子一去不返了 。今天,一个全面的数据平台必须要在各个硬件层面上提供数据服务——电话和移动设备、笔记本电脑、台式机、服务器、服务器场,直至最终天文级别的巨大设施。同时,它必须为跨越这些层次的数据和应用提供无缝的互操作性。

所有服务:对数据的服务不再限于存储、查询、备份、恢复和其他少数几个动作。一个全面的数据平台必须提供广泛范围的服务,在涵盖上述服务同时,还包括搜索、缓存、同步、分析、挖掘、集成、报表、可视化、安全、审计、归档……等等。简而言之,它必须能服务于数据的整个生命周期,从产生到归档。

在后续的文章中我们将探讨到更多的细节,这里简明扼要地概括一下我们所称“全面的数据平台”,它所涵盖的范围是:一个可以在所有不同硬件层面上处理所有类型数据,并提供所有与数据相关的服务的平台。与此同时它需要在一些关键的维度上保持一致性——例如数据模型、安全模型、管理模型、数据访问接口、开发工具等。毋庸置疑的是,它还需要同时保证高性能、快速提供解决方案、低的TCO(总拥有成本)。很简单,不是吗?J

我们的机遇

我希望通过以上讨论,你能够了解数据平台领域正面临着前所未有的创新机遇。在现代数据库的历史上,从未有过如此宽泛的技术挑战,一个如此广阔的画布等待绘制。如果你是一个在校大学生——就像我在香港见到的那些聪明头脑一样——这对你来说是一个前所未有的机遇。等待解决的问题范围是如此庞大和多样化,而不仅仅是针对“数据库”专业。几乎计算机科学的任何一个方面,在这个领域里都可以找到有趣的问题——计算机体系结构、网络、编程语言、数据挖掘、XML、搜索、可视化、Web规模计算、语义Web——专业名单可以拉得很长很长。数据库一直是一个让人全心投入的领域,在该领域花费几十年时间的人并不罕见,事实上他们整个职业生涯都在该领域中度过。如果你选择投身该领域的话,现在正是时机。毕竟,我们生活在一个信息时代——这是我们的时代。

下次再聊 加油!

Prakash (孙博凯)