导出 (0) 打印
全部展开

Windows Azure 中的数据管理服务概述

更新时间: 2014年4月

Windows Azure 平台提供了以下数据管理服务:

 

数据管理服务

用途

Windows Azure 表服务

为结构化数据提供持久存储。

Windows Azure Blob 服务

为诸如视频或音频等大型二进制对象提供持久存储。

Microsoft Azure SQL Database

关系数据库管理系统。

这些服务承载于 Windows Azure 数据中心内并可供您的应用程序使用,无论这些应用程序是在本地运行、承载于 Windows Azure 数据中心内,还是承载于竞争对手的云服务中。数据存储服务提供了很多优势,如高可用性、可伸缩性、易管理性、不受限存储和安全性。有关详细信息,请参阅主题 Windows Azure 数据管理

如果您正在 Windows Azure 数据中心运行您的应用程序代码,则承载您的应用程序的虚拟机 (VM) 将显示一个额外的存储选项:Windows Azure 驱动器。Azure 驱动器提供一个由页 blob 作为后盾的持久驱动器。此外,还可以使用 VM 上的本地存储,这可为应用程序实例提供临时存储。

作者:Sreedhar Pelluru
供稿人:James Podgorski、Silvano Coriani
审校:Christian Martinez、Steve Howard、Kun Cheng、Paolo Salvatori、Shawn Hernan

表服务在云中提供了一个高度可伸缩的非关系结构化存储。它提供了一个非关系的键/属性包集合,可用于存储表格数据,如客户信息、订单、新闻源和游戏得分。如果您有结构化数据当前存储在 SQL Server 数据库或任何其他数据存储区中,并且不需要服务器端计算(如联接、排序、视图和排序过程),请考虑在 Windows Azure 表中存储这些数据。有关详细信息,请参阅将数据迁移到 Azure 表存储区

Blob 服务提供了一种方法来存储大量的非结构化的文本或二进制数据,如图片、视频和音频文件。如果您的应用程序将大型二进制对象存储在 SQL Server 数据库中,或将大量非结构化数据存储在文件系统上,请考虑使用 Azure Blob 服务。有关详细信息,请参阅将数据迁移到 Azure Blob 存储区

Microsoft Azure SQL Database 提供基于 SQL Server 技术的关系数据库管理系统。Microsoft Azure SQL Database 公开表格数据流 (TDS) 接口和 Transact-SQL (T-SQL),因此很多用于 SQL Server 的工具和应用程序也可用于 Microsoft Azure SQL Database。编写的使用现有技术(如 ADO.NET 和 ODBC)与 SQL Server 通信的应用程序,只需经过很少的代码更改,即可得到更新以访问 Microsoft Azure SQL Database。Microsoft Azure SQL Database 还提供一些标准 SQL Server 功能,如存储过程、视图、多个索引、联接和聚合。

如果您的应用程序使用 SQL Server 数据库,则可以轻松将数据库迁移到 Microsoft Azure SQL Database。但是,如果应用程序使用 Microsoft Azure SQL Database 不支持的 SQL Server 功能,您将需要修改数据库解决方案的设计。有关详细信息,请参阅将 SQL Server 数据库迁移到 Azure SQL Database 部分。

表存储与 Azure SQL Database 采用相同的方式存储结构化数据。因此,在将应用程序从本地迁移到 Windows Azure 平台时,需要考虑的一个共同问题就是要使用表存储还是使用 Azure SQL Database。

Azure SQL Database 与表存储之间的主要区别是:Azure SQL Database 是关系数据库管理系统,它通过查询、事务以及在服务器端执行的存储过程来提供数据处理能力。而表存储不提供 Azure SQL Database 支持的关系数据存储和数据处理能力。因此,如果您的应用程序存储和检索大型数据集,但不需要服务器端数据处理,则 Windows Azure 表是更好的选择。如果您的应用程序要求对大型数据集进行数据处理,则 Azure SQL Database 是更好的选择。

在 Azure SQL Database 和 Azure 表存储之间做出决定之前,需要考虑若干其他因素。下表比较了 Azure 表存储与 Azure SQL Database 的功能。

 

比较条件 表存储 Azure SQL Database

最大实体大小

表存储中每个实体的大小限于 1 MB,其属性不超过 255 个,其中包括三个必需属性:PartitionKey、RowKey、Timestamp。

行的大小可高达 8 MB,并且可以包含 1024 列。

数据关系

否。表存储不提供任何方式来表示数据之间的关系。

是。Azure SQL Database 允许您通过使用外键来定义不同表中存储的数据之间的关系。

服务器端处理

表存储支持基本操作,如插入、更新、删除和选择。它在存储引擎端上不支持联接、存储过程、触发器或任何处理,但 SQL Database 支持。

Azure SQL Database 提供一些标准 SQL Server 功能,如存储过程、视图、多个索引、联接和聚合。

事务支持

有限支持。表存储对同一个表和同一分区中的实体支持事务。一个事务中支持多达 100 个操作。表存储支持乐观并发。

有关详细信息,请参阅实体组事务

是,Azure SQL Database 支持同一数据库中的典型 ACID 事务。不支持跨数据库的事务。Azure SQL Database 也支持乐观并发。

高可用性/容错

是。存储在 Windows Azure 上的表会复制到同一数据中心内的三个位置,以灵活应对硬件故障。

是。在您选择的数据中心内维护 Azure SQL Database 的三个副本。

地理复制

是。在属于同一大洲的两个不同地理位置的数据中心之间复制 Windows Azure 表,以便在发生重大灾难时提供额外的数据持久性。

否,默认情况下,Azure SQL Database 不复制到其他区域。

最大数据大小

每个存储帐户为 100 TB。允许存储帐户(表、blob 和队列一起)存储 100 TB 的数据。因此,Azure 表的最大大小为 100 TB。

每个数据库 150 GB。有关如何存储更大数据库的其他信息,请参阅向外扩展 Azure SQL Database

管理协议和工具

HTTPS 上的 REST。您可以使用 CodePlex 上的 Azure Storage Explorer 或其他第三方工具,如 Cloud Storage Studio

HTTPS 上的 REST 或 SSL 上的 TDS。您可以使用 或 SQL Server Management Studio 管理 Azure SQL Database。这些工具通过 SSL(安全套接字层)连接使用 TDS(表格数据流)协议来访问 Azure SQL Database。

数据访问

通过使用 HTTP(S) REST API 或用于 WCF Data Services 的 .NET 客户端库,可以访问表存储中存储的数据。请参阅如何使用表存储

编写的使用现有技术(如 ADO.NET 和 ODBC)与 SQL Server 通信的应用程序,只需经过很少的代码更改,即可访问 Azure SQL Database。

在 、本地或非 云平台上运行的应用程序都可以访问 Azure SQL Database。

表的架构

无固定架构。每个实体(行)都可以具有不同的属性。例如,可以在同一个表的一行中存储订单信息,而在另一行中存储客户信息。

在定义表的固定架构之后,可随时进行更改。所有行都必须遵守架构规则。

支持的数据类型

Byte array、Boolean、DateTime、Double、GUID、Int32、Int64、String

请参阅 SQL Database 支持的数据类型

成本

请参阅 Windows Azure 定价详细信息

请参阅 Windows Azure 定价详细信息

Java API 支持

Node.js API 支持

否。目前不支持。

身份验证

256 位对称密钥用于验证用户的身份。

使用 SQL 身份验证对访问 Azure SQL Database 实例的用户进行身份验证。

SQL Azure 门户使用 Windows Live ID 对用户进行身份验证。

与本地使用的现有数据存储区的相似性

否。

类似于具有某些限制的 SQL Server。

可通过本地应用程序或非 Windows Azure 平台中承载的应用程序进行访问

显示:
© 2014 Microsoft