適用対象:Azure SQL データベース
この記事では、サンプル アプリの実行に役立つ エラスティック データベース クライアント ライブラリ の開発者エクスペリエンスについて説明します。 サンプル アプリでは単純なシャーディング アプリケーションを作成し、Azure SQL Database の Elastic Database ツールの主な機能について詳しく見て行きます。 シャード マップ管理、データ依存ルーティング、マルチシャード クエリのユース ケースについて説明します。 このクライアント ライブラリは .NET と Java で使用できます。
Java 用 Elastic Database ツール
前提条件
- Java Developer Kit (JDK) バージョン 1.8 以降
- Maven
- SQL Database または 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 Database で Elastic Database ツールを使って、最初のシャーディング アプリケーションを適切にビルドし、実行できました。 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 用 Elastic Database ツール
前提条件
- Visual Studio 2012 以降 (C#)。 「 Visual Studio のダウンロード」で無償評価版をダウンロードしてください。
- NuGet 2.7 以降。 最新版を入手するには、「Installing NuGet(NuGet のインストール)」をご覧ください。
サンプル アプリケーションのダウンロードと実行
ライブラリをインストールするには、 Microsoft.Azure.SqlDatabase.ElasticScale.Clientに移動します。 ライブラリは、次のセクションで説明するサンプル アプリと共にインストールされます。
サンプルをダウンロードして実行するには、次の手順を実行します。
Elastic DB Tools for Azure SQL - Getting Started のサンプルをダウンロードします。 任意の場所にサンプルを解凍します。
プロジェクトを作成するには、
ElasticDatabaseTools.sln
ディレクトリからelastic-db-tools-master
ソリューションを開きます。ElasticScaleStarterKit
プロジェクトをスタートアップ プロジェクトとして設定します。ElasticScaleStarterKit
プロジェクトで、App.config
ファイルを開きます。 ファイルの指示に従って、サーバー名とサインイン情報 (ユーザー名とパスワード) を追加します。アプリケーションをビルドして実行します。 メッセージが表示されたら、Visual Studio によるソリューションの NuGet パッケージの復元を有効にします。 これにより、Elastic Database クライアント ライブラリの最新版が NuGet からダウンロードされます。
クライアント ライブラリの機能をより深く知るには、さまざまなオプションを試してみてください。 アプリケーションで実行されたステップはコンソールに出力されるので、動作していたコードをじっくりと検討することができます。
お疲れさまでした。 これで、SQL Database で Elastic Database ツールを使って、最初のシャーディング アプリケーションを適切にビルドし、実行できました。 Visual Studio または SQL Server Management Studio を使用してデータベースに接続し、サンプルで作成したシャードの内容を簡単に確認してください。 新しいサンプル シャード データベースと、シャード マップ マネージャー データベースがサンプルで作成されていることがわかります。
重要
最新バージョンの Management Studio を常に使用して、Azure と SQL Database の更新プログラムとの同期を維持することをお勧めします。 SQL Server Management Studio を更新します。
コード サンプルの主要部
シャードとシャード マップの管理: コードは、
ShardManagementUtils.cs
ファイル内のシャード、範囲、およびマッピングを操作する方法を示しています。 詳細については、「シャード マップ マネージャーでデータベースをスケールアウトする」をご覧ください。データ依存ルーティング: 適切なシャードへのトランザクションのルーティングは、
DataDependentRoutingSample.cs
ファイルに表示されます。 詳細については、「 データ依存ルーティングを使用してクエリを適切なデータベースにルーティングする」を参照してください。複数のシャードに対するクエリ: シャード間のクエリは、
MultiShardQuerySample.cs
ファイルに示されています。 詳細については、「 エラスティック データベース ツールを使用したマルチシャード クエリ」を参照してください。空のシャードの追加: 新しい空のシャードの反復的な追加は、
CreateShardSample.cs
ファイル内のコードによって実行されます。 詳細については、「シャード マップ マネージャーでデータベースをスケールアウトする」をご覧ください。
他の Elastic Scale の操作
既存のシャードの分割:シャードを分割する機能は、分割/マージ ツールで提供されます。 詳細については、「スケールアウトされたクラウド データベース間のデータ移動」をご覧ください。
既存のシャードのマージ:シャードのマージも分割/マージ ツールを使って行われます。 詳細については、「スケールアウトされたクラウド データベース間のデータ移動」をご覧ください。
コスト
Elastic Database ツール ライブラリは無料です。 Elastic Database ツールを使っても、Azure の利用料以外の追加料金は発生しません。
たとえば、サンプル アプリケーションは新しいデータベースを作成します。 この機能のコストは、選んだ SQL Database のエディションと、アプリケーションによる Azure の使用状況に応じて異なります。
料金情報については、「SQL Database の価格」をご覧ください。