# 一、平台概述

## 微软的大数据平台

数据世界正在发生巨大的变化，因此对如何交互和分析数据的期望也在发生变化。微软为内部和云中的结构化、非结构化和流式数据提供了广泛且可扩展的数据存储能力组合。

微软已经通过 SQL Server 平台出现在传统的商业智能领域，该平台可以非常令人满意地扩展到数百千兆字节的范围，而不需要太多的专业硬件或巧妙的配置。大约从 2010 年开始，微软还提供了几个专门的设备来实现更高的扩展:针对高达 100 兆字节的任何数据的 SQL Server 快速跟踪数据仓库，以及针对进入千兆字节规模的任何数据的 SQL Server 并行数据仓库(PDW)。

然而，这些平台只处理关系数据，随着 Hadoop 的出现，开源运动超越了微软(以及许多其他供应商)。微软内部确实有一个类似的平台，叫做得律阿德斯，但是在得律阿德斯即将上线之前，它被放弃了，转而支持与霍顿工程公司联合创建一个 Hadoop 发行版。[<sup>【1】</sup>](12.html#_ftn1)[<sup>【2】</sup>](12.html#_ftn2)

从这个决定点开始，平台的各种预览版以内部版本或云版本提供。2013 年初，预览版采用了 HDInsight 名称(取代了原来的“Azure 上的 Hadoop”名称)，云平台于 2013 年 10 月全面上线。在撰写本文时，内部版本仍处于预览阶段，没有确定的发布日期。

这些技术的一些方面正在回归到关系世界:并行数据仓库的 2.0 版本支持 Hadoop，包括一种称为 PolyBase 的语言，允许查询在相同的语句中包含关系和非关系数据。[<sup>【3】</sup>](12.html#_ftn3)

## 数据管理和存储

数据管理需求已经从传统的关系存储发展到关系和非关系存储，全方位的信息管理平台需要支持所有类型的数据。为了提供对任何数据的洞察，需要一个平台，为跨关系、非关系和流数据的数据管理提供一整套功能。该平台需要能够无缝地将数据从一种类型移动到另一种类型，并且能够监控和管理所有数据，而不管它是什么类型的数据或数据结构。这必须在应用不必担心规模、性能、安全性和可用性的情况下进行。

除了支持所有类型的数据之外，在非关系存储(如 Hadoop)和关系数据仓库之间来回移动数据也是大数据客户的主要使用模式之一。为了支持这种常见的使用模式，微软为存储在 Hadoop 和现有的 SQL Server 数据仓库环境(包括 SQL Server 并行数据仓库)中的数据之间的高速数据移动提供了连接器。

今天市场上有很多关于关系技术和非关系技术的争论。提出这样一个问题:“我应该使用关系型还是非关系型技术来满足我的应用需求？”问错了问题。两者都是为满足不同需求而设计的存储机制，两者应被视为互补。

关系存储适用于模式已知的结构化数据，这使得针对关系存储进行编程需要理解像 SQL 这样的声明性查询语言。这些平台提供了具有高一致性和事务隔离的商店。

相比之下，非关系存储适用于模式不存在的非结构化数据，或者应用模式成本高且查询更程序化的非结构化数据。该平台提供了更大的灵活性和可扩展性，但代价是失去了以 ACID 方式轻松处理数据的能力；然而，并非所有的 NoSQL 数据库都是如此(例如，RavenDB)。

随着这两种类型的商店需求的发展，需要记住的关键点是，现代数据平台必须同样好地支持这两种类型的数据，在两者之间提供统一的数据监控和管理，并且能够轻松地在所有类型的商店之间移动和转换数据。

## HDInsight 和 Hadoop

微软的 Hadoop 发行版旨在为 Hadoop 环境带来 Windows 的健壮性、可管理性和简单性。

对于内部版本，这意味着通过与活动目录集成来强化安全性，通过与系统中心集成来简化可管理性，以及通过简化打包和配置来大幅减少设置和部署时间。这些改进将使信息技术能够在整个 Hadoop 集群中应用一致的安全策略，并从系统中心的单一窗口进行管理。

对于 Windows Azure 上的服务，微软将通过 Azure 管理门户的易用组件实现 Hadoop 集群的无缝设置和配置，从而进一步降低部署障碍。

最后，他们不仅发布了基于开源的 Hadoop 发行版，还承诺将这些更新回馈给 Hadoop 社区。微软致力于提供与 Apache Hadoop 应用编程接口(APIs)100%的兼容性，以便为 Apache Hadoop 编写的应用应该在 Windows 上工作。

微软与 [Hortonworks](http://www.hortonworks.com/) 紧密合作，提交了一份正式提案，作为对 Apache 代码库的更改，在 Windows Azure 和 Windows Server 上贡献基于 Hadoop 的发行版。[<sup>【4】</sup>](12.html#_ftn4)此外，他们还在合作开发其他功能，如 Hive 连接，以及由微软和 Hortonworks 开发的创新 JavaScript 库，将被提议作为对 Apache 软件基金会的贡献。

Hortonworks 专注于加速 Apache Hadoop 的开发和采用。他们与 Apache 社区一起，正在使 Hadoop 变得更加健壮，更易于企业使用，并对解决方案提供商更加开放和可扩展。

随着预览的通过，各种功能来了又去。一个原始的特性是控制台，一个友好的网络用户界面，允许提交作业，访问 Hive，和一个 JavaScript 控制台，允许查询文件系统和提交 Pig 作业。该功能已经消失，但预计将在某个时候迁移到主要的 Azure Portal 中(尽管这对于内部版本意味着什么尚不清楚)。然而，取而代之的是一组功能齐全的 PowerShell cmdlets，允许远程提交作业，甚至创建集群。

剩下的一个特性是通过开放数据库连接( *ODBC* )驱动程序直接从 Excel 访问 Hive 的能力。这使得能够通过许多用户熟悉的界面消费 Hadoop 进程的输出，并将 Hadoop 与 PowerPivot 的数据混搭功能和 PowerView 的丰富可视化联系起来。

平台不断发展，功能不断出现(偶尔也会出现)。这本书将尽最大努力捕捉当前状态，但是，即使在编写时，内容也需要更新以应对正在进行的更改。