スケーラブルなクラウド データベースの構築

適用対象: Azure SQL データベース

Azure SQL Database 用のスケーラブルなツールと機能を使用して、データベースのスケール アウトを簡単に実現できます。 具体的には、 Elastic Database クライアント ライブラリ を使用して、スケールアウトされたデータベースを作成および管理できます。 この機能により、数百から数千ものデータベースを Azure SQL Database で使用し、シャード化されたアプリケーションを簡単に開発できます。

ダウンロードの対象:

  • Java バージョンのライブラリは、Maven Central Repository をご覧ください。
  • .NET バージョンのライブラリは、NuGet をご覧ください。

ドキュメント

  1. Elastic Database ツールの概要
  2. Elastic Database の機能
  3. シャード マップの管理
  4. 既存のデータベースを移行してスケールアウト
  5. データ依存ルーティング
  6. マルチシャード クエリ
  7. Elastic Database ツールを使用してシャードを追加する
  8. Elastic Database ツールと行レベルのセキュリティを使用したマルチテナント アプリケーション
  9. クライアント ライブラリ アプリのアップグレード
  10. エラスティック クエリの概要
  11. エラスティック データベース ツールの用語集
  12. Entity Framework による Elastic Database クライアント ライブラリ
  13. Dapper を使用した Elastic Database クライアント ライブラリ
  14. Split-Merge ツール
  15. シャード マップ マネージャーのパフォーマンス カウンター
  16. Elastic Database ツールに関する FAQ

クライアントの機能

" シャーディング " を使用したアプリケーションのスケーリングにより、開発者と管理者の双方に課題が生じます。 クライアント ライブラリでは、開発者と管理者の両方がスケールアウトされたデータベースを管理できるツールが提供されることで、管理タスクが簡略化されます。 一般的な例では、「シャード」と呼ばれる多数の管理用データベースがあります。 顧客は同じデータベースに共存し、かつ顧客ごとに 1 つのデータベースが存在します (シングル テナント構成)。 クライアント ライブラリには、次の機能が含まれています。

  • シャード マップの管理: 「シャード マップ マネージャー」と呼ばれる特別なデータベースが作成されます。 シャード マップの管理は、アプリケーションでシャードに関するメタデータを管理する機能です。 開発者は、この機能を使用して、データベースをシャードとして登録したり、個々のシャーディング キーまたはキー範囲の当該データベースへのマッピングを記述したりできます。さらに、このメタデータを管理して、容量の変更に伴ってデータベースの数および構成を発展させることができます。 Elastic Database クライアント ライブラリがないと、シャーディングを実装するにあたり管理コードの記述に多大な時間を費やすことになります。 詳細については、「 シャード マップの管理に移動します。

  • データ依存ルーティング:アプリケーションに要求が送信されるとします。 アプリケーションでは、要求のシャーディング キー値に基づいて、キーの値に基づく適切なデータベースを特定する必要があります。 その後、要求を処理するデータベースへの接続が開かれます。 データ依存ルーティングでは、アプリケーションのシャード マップへの単一の簡単な呼び出しで接続を開くことができます。 インフラストラクチャ コードのもう 1 つの領域であるデータ依存ルーティングは、現在、Elastic Database クライアント ライブラリの機能でカバーされるようになりました。 詳細については、「 データ依存ルーティング」を参照してください。

  • マルチシャード クエリ (MSQ) :マルチシャード クエリ実行は、要求にいくつか (またはすべて) のシャードが含まれる場合に機能します。 マルチシャード クエリは、同じ T-SQL コードをすべてのシャードまたはシャードのセットで実行します。 参加しているシャードからの結果は、UNION ALL セマンティクスを使用して全体的な結果セットにマージされます。 この機能は、クライアント ライブラリを介して公開され、接続管理、スレッド管理、エラー処理、中間結果処理などの多くのタスクを処理します。 MSQ では、最大で数百個のシャードを照会できます。 詳細については、「 マルチシャード クエリ実行」を参照してください。

一般に、独自のセマンティクスを持つシャード間操作とは異なり、Elastic Database ツールを使用するお客様は、シャードにローカルな操作を送信するときに完全な T-SQL 機能を取得することを期待できます。

次のステップ

まだ弾力性データベース ツールを使用していない場合は、 ファースト ステップ ガイドを参照してください。 ご質問がある場合は、SQL Database に関する Microsoft Q&A 質問ページを参照してください。機能に関するご要望は、SQL Database に関するフィードバック フォーラムで新しいアイデアを追加したり、既存のアイデアに投票したりしてください。