Elastic Database ツールの概要
適用対象: Azure SQL データベース
このドキュメントでは、サンプル アプリを実行することで、Elastic Database クライアント ライブラリの開発を体験できます。 サンプル アプリでは単純なシャーディング アプリケーションを作成し、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 のサンプルをダウンロードします。 任意の場所にサンプルを解凍します。
プロジェクトを作成するには、elastic-db-tools-master ディレクトリから ElasticDatabaseTools.sln ソリューションを開きます。
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 の価格」をご覧ください。
次のステップ
Elastic Database ツールについて詳しくは、以下の記事をご覧ください。
- コード サンプル
- Elastic Database ツール (.NET、Java)
- Azure SQL 用 Elastic Database ツール - Entity Framework の統合
- ブログ: Elastic Scale の発表
- ディスカッション フォーラム: Azure SQL データベース に関する Microsoft Q&A 質問ページ
- パフォーマンスを測定するには:シャード マップ マネージャーのパフォーマンス カウンター