SQL Server中国研发团队总经理问答关系数据库40年

    Prakash Sundaresan微软SQL Server中国研发团队总经理。在微软SQL Server开发团队的12年中担任多个领导职务。曾任职于SQL Server客户顾问委员会,帮助亚洲地区的多个大型企业客户在微软平台上应用大规模、任务关键型系统。Prakash同时担任微软亚太研发集团服务器与开发工具事业部总经理。

 

1.今年是关系型数据库40周年,您觉得这期间数据库领域发生了哪些具有里程碑意义的事件?有哪些重要的技术突破?

 

    在这40年里,关系数据库被证明为拥有强大的功能、灵活和弹性。一开始,其核心突破是基于扎实的“关系模型”和数学的基础。这让用户以查询表达(而不是程序)的形式来查询数据库。当我们把“用户要做什么”与  “如何去做”分隔时, 这让我门把应用程序逻辑于底层的实现解耦 。 因此,当 物理架构(磁盘布局,索引等)改变时,应用程序不需更改。这是革命性的。

    之后又出现了许多突破。查询优化技术开发,改善了查询性能。“Transaction” 和ACID属性的核心概念是一个突破。 这对OLTP领域的迅速发展有很大的帮助。突破性的访问方法(如BTrees,Hash indexes),先进的查询执行,隔离和锁,查询指针,系统出现问题后恢复,备份和恢复,缓存管理,资源管理,对在线系统进行操作,并行和许多其他的突破使关系数据库成为可靠,高性能,可扩展性,可管理和安全的存储数据和应用平台。这也帮用户创建应用程序。

    多年来,其他模型一直试图挑战关系型数据库,但每次关系模式都包容了新技术,并继续向前发展。1990年代发明了“对象数据库”,可以存储相对于数值的对象。但最后,关系数据库采纳了用户定义类型(UDT)的概念,并演变成对象-关系数据库。2000年代,XML数据库由于XML作为一种数据形式的普及而流行。同样,关系型数据库接纳它为一种类型并提供了诸如XQuery和XPath的查询功能。如今许多商业关系型数据库支持多种数据类型,包括空间数据,文件或文档数据,图像、声音、视频等多媒体数据。

    最近, Vertical Stores, Streaming Data, Complex Event Processing (CEP)以及In-Memory databases(IMDB)开始进入我们的视线。商业性数据库已经开始适应这些趋势并包含这些功能。

    相对于40年历史来说,数据库的发展可谓相当快 —— 甚至“数据库“这个词在今天看来有些勉强,正被”数据平台“这个词所取代。可以预见,未来无论发生什么变化和出现何种挑战,关系数据库也将随机应变。

 

 


2. 数据库技术目前面临的主要挑战有哪些?分别有哪些解决方案?

 

    今天许多有趣的趋势正对数据库领域构成重大挑战。首先是全球数据量和数据类型上的激增,并需要对其进行储存和处理。除了源自OLTP的“传统”数据量的增长,来自各种数据源,如电子邮件、文件、图片、音频、视频、社交网络、即时通讯、短信等的数据也呈爆炸式增长。各个组织所希望的不仅仅是储存、管理和处理这些数据,他们也想从这些数据中挖掘价值和深层次的商业信息。

    其次,互联网带来了海量数据并且让这些信息唾手可得。热门网站可能储存着数千万亿字节甚至是百亿亿字节的数据,并期望所有这些数据始终可用,来自世界各地的任何设备都可以得到24x7的全天候实时响应,并遵循隐私、安全的规则。这是巨大的挑战。

    伴随着这些需求的变化,还有底层硬件的巨变。越来越大但并非更快的磁盘、更多但不是更快的内存、多核系统、具有直连式储存的廉价向外扩展架构、固态硬盘,这些硬件趋势同样影响着数据库的演变。

    由此,组织需要的不仅仅是一个数据库,而是一种工具,这种工具应当是时时运行的、高性能的、具有能处理数据通讯峰值的弹性扩展性能的、高性价比的、易管理的,并且非常可靠的。这实质上是一个“云”平台的前景,也显然是今后的巨大趋势。

 

 


3. 目前关系数据库产品有很多,包括开源数据库(例如MySQL、PostgreSQL等)与商业数据库(包括Oracle、SQL Server、DB2、Sybase等),它们各有哪些优点和缺点,请结合自己的经验谈谈在实际产品环境中应该如何选型。

 

    作为SQL Server的一名代表,我的观点显然会有失偏颇。因此,我给读者的唯一建议是理解每个产品的基本理念和方式,并选择一个符合他们自身需求的。例如,一些产品定价极高,不但需要支付每年维护费用,而且必须由许多专业技术人员进行 —— 客户不得不为所谓的 “高端” 全额买单。其他产品尝试专注于最基本的共同需求,提供“足够好”的产品,不过客户可能需要自己做一些手工调整,而且没有清晰的支持与服务的承诺。

    SQL Server一直力图提供一个高质量的任务关键数据库,在功能性、可靠性、可用性、性能、可扩展性、安全性和可管理性等方面不逊色于任何产品,成本效益高、使用管理方便、在它上面开发应用程序也很容易。
SQL Server还提供了越来越多的自带功能,而无需购买额外选项或附加组件 —— 从SQL Server 7.0版本开始加入BI功能便是一个很好的例子。

 

4. NoSQL运动近几年风头正劲,您觉得这场运动最终会对数据库的发展产生什么样的影响?NoSQL会终结关系数据库吗?是否会有基于非关系数据库的厂商异军突起,改变市场的格局呢?

 

    正如我前面提到,每隔10年就会出现一种新的趋势试图取代关系数据库 —— 之前有面向对象数据库、XML数据库,最近的有Column-stores和NoSQL。

通常这些趋势的背后都有一些真正的客户需求。NoSQL的出现是因为多种需求的混合,比如存储非结构化数据(如文件、图片、音频、视频)的需求,比如在某些情境下能够相对简单操作大规模存储数据的需求(如在无须紧凑的事务语义或富查询功能的条件下进行简单的Get或者Put)。

    然而现实却是,尽管NoSQL竭尽全力为上述情景去建立“定制的”数据库解决方案,但是最终大多数客户却不愿意另起炉灶,因为他们已经拥有了一个符合“行业标准”的数据平台,和在此基础之上的由应用,开发者和IT专业人士等组成的生态系统。

目前,成熟的数据库产品能够存储所有非关系型数据,而且我们可以看到它们将不断发展,以满足客户试图在NoSQL中寻找到解决方案的其他需求。


 

5. 随着SSD的价格下降,越来越多的厂商开始准备应对之策。你觉得SSD对数据库会产生什么样的影响?

 

    固态硬盘以及诸如前面提到的内存、多核系统等硬件方面的提升将推动现有数据库产品的内部架构变化。许多底层算法,如缓冲池管理、查询执行、并行处理等,均是另一个时代设计出来的,而当时硬件特性完全不同。你可以期待现有产品大多会努力更新内部构架以适应这些趋势,但并不是所有的产品都会成功。那些无法适应变化的产品可能将在这场竞争中被淘汰。


 

6. 除了以上谈到的这些,您觉得还有哪些因素对数据库的发展产生重要影响?

 

    除了在问题2中提及的趋势,另一个我想谈的趋势是商业智能(BI)。 商业智能对现代企业日常运营来说日益重要 — 如何为客户提供更好的服务、降低成本、杜绝浪费、推动业务细分密,都与企业是否能从所有相关信息中获取价值和洞察力有密切的关系。能提供强大而又易用BI工具的供应商将在这个市场上取得成功。最近推出的SQL Server 2008 R2就是一个很好的例子 - 它通过用户熟悉和易用的工具,Excel和SharePoint,提供了一些突破性的商业智能功能。

 

 


7. 您目前在关注数据库技术的哪些方面?对这些领域的未来趋势怎么看?

 

    云计算无疑是今天名列第一的计算趋势,在数据库领域同样如此。客户越来越喜欢云模式的按需计算、弹性和几乎无限的规模扩展、以及低成本的安装和管理。然而,客户也希望能灵活部署——有些客户可能使用由供应商提供的公有云,另一些客户可能选择搭建自己的私有云。事实上,同一客户在公用云上运行某些应用程序或方案的同时,也可以在私有云上运行其他的方案。目前,微软是唯一一家具有明确战略、规划和产品,为客户提供多种灵活选择的供应商。

    客户今天可以选择用Hyper-V,Windows Server,SQL Server和System Center等微软技术搭建自己的云解决方案。他们也可以使用微软的公有云解决方案 —— Azure服务平台。而其他厂商提供的或者仅仅是一个公有云,或者仅仅是一个私有云。我们相信,为客户提供选择和灵活性 —— 选择将应用程序部署在公有云或私有云上而无需经过重复开发,开发人员和IT管理人员也无须学习新的技术 —— 是微软与众不同的关键所在。

 

 

8. 请为我们的读者推荐您的数据库方面的经典和最新的资源(图书、文章、网站、博客等)。

 

    经典和最新资源太多了,在其中做取舍并不容易。我想还是推荐两位对我个人有着重要影响的作者和实践者。第一位当然是图灵奖得主Jim Gray博士——他对这一领域的贡献不胜枚举。不幸的是他已离开了我们,我永远记得刚踏上工作岗位与他共事的那一年。另一位是我的大学教授David DeWitt博士。在他30多年的职业生涯,David对数据库的贡献同样不计其数,最棒的是他现在是一位微软技术院士。

    此外,我们中国团队会在http://blogs.msdn.com/sqlcrd/上与大家分享最新的数据库技术和趋势。

 

 

9. 请用一句话展望数据库发展趋势。

 

    我们生活在信息时代,数据库将仍是这个时代科技进步的重要支柱之一。

 

 

以上是Prakash对《程序员》6月刊特别策划“圆桌共话数据库”的完整书面答复翻译,有关另三位数据库专家的答复,请阅读六月《程序员》

posted on 2010-06-10 11:11  微软  阅读(3362)  评论(3编辑  收藏  举报

导航