スケーラブルなクラウド データベースの構築
適用対象: Azure SQL データベース
Azure SQL Database 用のスケーラブルなツールと機能を使用して、データベースのスケール アウトを簡単に実現できます。 具体的には、 Elastic Database クライアント ライブラリ を使用して、スケールアウトされたデータベースを作成および管理できます。 この機能により、数百から数千ものデータベースを Azure SQL Database で使用し、シャード化されたアプリケーションを簡単に開発できます。
ダウンロードの対象:
- Java バージョンのライブラリは、Maven Central Repository をご覧ください。
- .NET バージョンのライブラリは、NuGet をご覧ください。
ドキュメント
- Elastic Database ツールの概要
- Elastic Database の機能
- シャード マップの管理
- 既存のデータベースを移行してスケールアウト
- データ依存ルーティング
- マルチシャード クエリ
- Elastic Database ツールを使用してシャードを追加する
- Elastic Database ツールと行レベルのセキュリティを使用したマルチテナント アプリケーション
- クライアント ライブラリ アプリのアップグレード
- エラスティック クエリの概要
- エラスティック データベース ツールの用語集
- Entity Framework による Elastic Database クライアント ライブラリ
- Dapper を使用した Elastic Database クライアント ライブラリ
- Split-Merge ツール
- シャード マップ マネージャーのパフォーマンス カウンター
- Elastic Database ツールに関する FAQ
クライアントの機能
" シャーディング " を使用したアプリケーションのスケーリングにより、開発者と管理者の双方に課題が生じます。 クライアント ライブラリでは、開発者と管理者の両方がスケールアウトされたデータベースを管理できるツールが提供されることで、管理タスクが簡略化されます。 一般的な例では、「シャード」と呼ばれる多数の管理用データベースがあります。 顧客は同じデータベースに共存し、かつ顧客ごとに 1 つのデータベースが存在します (シングル テナント構成)。 クライアント ライブラリには、次の機能が含まれています。
シャード マップの管理: 「シャード マップ マネージャー」と呼ばれる特別なデータベースが作成されます。 シャード マップの管理は、アプリケーションでシャードに関するメタデータを管理する機能です。 開発者は、この機能を使用して、データベースをシャードとして登録したり、個々のシャーディング キーまたはキー範囲の当該データベースへのマッピングを記述したりできます。さらに、このメタデータを管理して、容量の変更に伴ってデータベースの数および構成を発展させることができます。 Elastic Database クライアント ライブラリがないと、シャーディングを実装するにあたり管理コードの記述に多大な時間を費やすことになります。 詳細については、「 シャード マップの管理に移動します。
データ依存ルーティング:アプリケーションに要求が送信されるとします。 アプリケーションでは、要求のシャーディング キー値に基づいて、キーの値に基づく適切なデータベースを特定する必要があります。 その後、要求を処理するデータベースへの接続が開かれます。 データ依存ルーティングでは、アプリケーションのシャード マップへの単一の簡単な呼び出しで接続を開くことができます。 インフラストラクチャ コードのもう 1 つの領域であるデータ依存ルーティングは、現在、Elastic Database クライアント ライブラリの機能でカバーされるようになりました。 詳細については、「 データ依存ルーティング」を参照してください。
マルチシャード クエリ (MSQ) :マルチシャード クエリ実行は、要求にいくつか (またはすべて) のシャードが含まれる場合に機能します。 マルチシャード クエリは、同じ T-SQL コードをすべてのシャードまたはシャードのセットで実行します。 参加しているシャードからの結果は、UNION ALL セマンティクスを使用して全体的な結果セットにマージされます。 この機能は、クライアント ライブラリを介して公開され、接続管理、スレッド管理、エラー処理、中間結果処理などの多くのタスクを処理します。 MSQ では、最大で数百個のシャードを照会できます。 詳細については、「 マルチシャード クエリ実行」を参照してください。
一般に、独自のセマンティクスを持つシャード間操作とは異なり、Elastic Database ツールを使用するお客様は、シャードにローカルな操作を送信するときに完全な T-SQL 機能を取得することを期待できます。
次のステップ
Elastic Database クライアント ライブラリ (Java、.NET) - ライブラリをダウンロードします。
Elastic Database ツールの概要 - クライアントの機能がわかるサンプル アプリを試します。
Azure SQL Database のエラスティック クエリの概要 - エラスティック クエリを使います。
スケールアウトされたクラウド データベース間のデータ移動 - Split-Merge ツールの使い方です。
関連するコンテンツ
まだ弾力性データベース ツールを使用していない場合は、 ファースト ステップ ガイドを参照してください。 ご質問がある場合は、SQL Database に関する Microsoft Q&A 質問ページを参照してください。機能に関するご要望は、SQL Database に関するフィードバック フォーラムで新しいアイデアを追加したり、既存のアイデアに投票したりしてください。