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的全天候实时响应,并遵循隐私、安全的规则。这是巨大的挑战。
伴随着这些需求的变化,还有底层硬件的巨变。越来越大但并非更快的磁盘、更多但不是更快的内存、多核系统、具有直连式储存的廉价向外扩展架构、固态硬盘,这些硬件趋势同样影响着数据库的演变。
由此,组织需要的不仅仅是一个数据库,而是一种工具,这种工具应当是时时运行的、高性能的、具有能处理数据通�