弹性数据库工具入门
适用于:Azure SQL 数据库
本文档通过帮助你运行示例应用来介绍弹性数据库客户端库的开发人员体验。 此示例应用将创建一个简单的分片应用程序,并探讨 Azure SQL 数据库的弹性数据库工具特性的主要功能。 它重点介绍分片映射管理、数据依赖型路由和多分片查询的用例。 该客户端库可用于 Java 和 .NET。
适用于 Java 的弹性数据库工具
先决条件
- Java 开发人员工具包 (JDK) 1.8 或更高版本
- Maven
- SQL 数据库或本地 SQL Server 实例
下载并运行示例应用
若要生成 JAR 文件并开始使用示例项目,请执行以下操作:
克隆包含客户端库以及示例应用的 GitHub 存储库。
编辑 ./sample/src/main/resources/resource.properties 文件以设置以下内容:
- TEST_CONN_USER
- TEST_CONN_PASSWORD
- TEST_CONN_SERVER_NAME
若要生成示例项目,请在 ./sample 目录中运行以下命令:
mvn install
若要启动示例项目,请在 ./sample 目录中运行以下命令:
mvn -q exec:java "-Dexec.mainClass=com.microsoft.azure.elasticdb.samples.elasticscalestarterkit.Program"
若要详细了解客户端库功能,请试验各种选项。 随意浏览代码以了解示例应用的实现方法。
祝贺! 你已成功使用弹性数据库工具在 Azure SQL 数据库上生成并运行了第一个分片应用程序。 使用 Visual Studio 或 SQL Server Management Studio 连接到数据库,并快速查看一下样本创建的分片。 会看到该示例创建的新示例分片数据库和分片映射管理器数据库。
若要将客户端库添加到自己的 Maven 项目,请在 POM 文件中添加以下依赖项:
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>elastic-db-tools</artifactId>
<version>1.0.0</version>
</dependency>
适用于 .NET 的弹性数据库工具
先决条件
- 使用 C# 的 Visual Studio 2012 或更高版本。 可以从 Visual Studio 下载页面下载免费版本。
- NuGet 2.7 或更高版本。 若要获取最新版本,请参阅安装 NuGet。
下载并运行示例应用
若要安装该库,请转到 Microsoft.Azure.SqlDatabase.ElasticScale.Client。 该库和以下部分中描述的示例应用一起安装。
若要下载并运行该示例,请遵循以下步骤:
下载 Elastic DB Tools for Azure SQL - Getting Started sample(Azure SQL 弹性数据库工具 - 入门示例)。 将示例解压缩到所选位置。
若要创建项目,请从 elastic-db-tools-master 目录打开 ElasticDatabaseTools.sln 解决方案 。
将 ElasticScaleStarterKit 项目设置为“启动项目”。
在 ElasticScaleStarterKit 项目中,打开 App.config 文件 。 然后按照该文件中的说明,添加服务器名称和登录信息(用户名和密码)。
生成并运行应用程序。 出现提示时,请允许 Visual Studio 还原该解决方案的 NuGet 包。 此操作从 NuGet 下载最新版本的弹性数据库客户端库。
若要详细了解客户端库功能,请试验各种选项。 请注意应用程序在控制台输出中执行的步骤,并随意浏览后台代码。
祝贺! 你已成功使用弹性数据库工具在 SQL 数据库上生成并运行了第一个分片应用程序。 使用 Visual Studio 或 SQL Server Management Studio 连接到数据库,并快速查看一下样本创建的分片。 会看到该示例创建的新示例分片数据库和分片映射管理器数据库。
重要
建议始终使用最新版本的 Management Studio,以便与 Azure 和 SQL 数据库的更新保持同步。 更新 SQL Server Management Studio。
重要的代码示例片段
管理分片和分片映射:该代码演示如何在“ShardManagementUtils.cs”文件中处理分片、范围和映射。 有关详细信息,请参阅使用分片映射管理器扩大数据库。
数据依赖型路由:“DataDependentRoutingSample.cs”文件演示了如何向正确的分片路由事务。 有关详细信息,请参阅数据依赖型路由。
跨多个分片进行查询:“MultiShardQuerySample.cs”文件演示了如何跨多个分片进行查询。 有关详细信息,请参阅多分片查询。
添加空分片:“CreateShardSample.cs”文件中的代码以迭代方式添加新的空分片。 有关详细信息,请参阅使用分片映射管理器扩大数据库。
其他弹性缩放操作
拆分现有分片:拆分分片的功能由拆分/合并工具提供。 有关详细信息,请参阅在横向扩展的云数据库之间移动数据。
合并现有分片:分片合并也是使用拆分/合并工具执行的。 有关详细信息,请参阅在横向扩展的云数据库之间移动数据。
成本
弹性数据库工具库免费。 使用弹性数据库工具时,除 Azure 使用费用外,不需支付任何额外费用。
例如,示例应用程序会创建新的数据库。 此功能的费用取决于所选的 SQL 数据库版本以及应用程序的 Azure 使用情况。
有关定价信息,请参阅 SQL 数据库定价详细信息。
后续步骤
有关弹性数据库工具的详细信息,请参阅以下文章:
- 代码示例:
- 弹性数据库工具(.NET、Java)
- Elastic Database Tools for Azure SQL - Entity Framework Integration(Azure SQL 的弹性数据库工具 - 实体框架集成)
- 博客:弹性缩放公告
- 讨论论坛:Azure SQL 数据库论坛
- 衡量性能:分片映射管理器的性能计数器