PolyBase – 整合SQL Server和Hadoop的利器

我们一直强调,大数据和传统的关系数据库并不对立,未来公司的的业务将会是大数据和关系型数据库的整合。微软的PolyBase打响了SQL Server和Hadoop整合的第一枪。

2012年度的SQL Server(PASS)峰会(SQL Server专业人士的技术会议)上,微软公布了代码名为”PolyBase”的新功能。微软鲜明地阐述了未来大数据和传统的关系数据库的紧密联系。微软或许不是第一个试图整合关系型数据库和Hadoop的公司,但毫无疑问将会是最具冲击力的一个。

PolyBase 将于 2013 年上半年中发布,作为SQL 服务器 PDW 的下一个版本的一部分。PDW是SQL Server数据仓库的一体机。Polybase 允许使用SQL (结构化查询语言)直接查询存储在Hadoop的数据,甚至可以和本地的关系型的表进行join的操作(如下图所示)  
  

PolyBase的吸引力在于它的两个特点

  1. 在第一阶段PolyBase支持使用SQL语言对HDFS进行查询, 第二阶段Polybase将引进基于成本的优化器。优化器基于性能分析,可以决定是否利用MapReduce进行查询或者直接使用SQL对HDFS进行查询. 请注意当前类SQL的Hadoop应用象Hive,Pig或着Sqoop都是依赖于MapReduce的分布式计算引擎来抽取数据。直接访问HDFS被认为具有更好的性能和效率。当然这只是总体而言,某些查询用MapReduce可能效率更高些,例如如果源数据的量太大的时候,不用MapReduce来抽取这些数据会导致读取端较大的负担。所以PolyBase必须有较好的优化器来决定最优的查询计划,这是PolyBase第二阶段主要工作
  2. 虽然PolyBase目前首先只在SQL Server PDW出现,但它极有可能也集成到下一个版本的 SQL Server里面.

整合SQL Server和Hadoop将给一些BI应用带来难以想象的广阔前景。试想一下你的报表和分析服务将会是一个数据源独立的应用,可以随心所欲地从Hadoop或者关系数据库里面抽取数据并搭建商业智能应用。商业智能的领域将会变得更广更实用。虽然微软没有正式承诺PolyBase除了PDW也会出现在下个版本的SQL Server里面,但我想不出微软不这么做的理由。在未来的企业里面,大数据将会和关系数据库整合在一起,成为企业数据系统的一部分。PolyBase已经迈出了第一步。