次の方法で共有


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

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

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

ダウンロードするには:

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

ドキュメント

クライアントの機能

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

  • シャード マップの管理: 「シャード マップ マネージャー」と呼ばれる特別なデータベースが作成されます。 シャード マップの管理は、アプリケーションでシャードに関するメタデータを管理する機能です。 開発者は、この機能を使用して、データベースをシャードとして登録したり、個々のシャーディング キーまたはキー範囲の当該データベースへのマッピングを記述したりできます。さらに、このメタデータを管理して、容量の変更に伴ってデータベースの数および構成を発展させることができます。 Elastic Database クライアント ライブラリがないと、シャーディングを実装するにあたり管理コードの記述に多大な時間を費やすことになります。 詳細については、 シャード マップ マネージャーを使用したデータベースのスケールアウトに関するページを参照してください。
  • データ依存ルーティング:アプリケーションに要求が送信されるとします。 アプリケーションでは、要求のシャーディング キー値に基づいて、キーの値に基づく適切なデータベースを特定する必要があります。 その後、要求を処理するデータベースへの接続が開かれます。 データ依存ルーティングでは、アプリケーションのシャード マップへの単一の簡単な呼び出しで接続を開くことができます。 インフラストラクチャ コードのもう 1 つの領域であるデータ依存ルーティングは、現在、Elastic Database クライアント ライブラリの機能でカバーされるようになりました。 詳細については、「 データ依存ルーティングを使用してクエリを適切なデータベースにルーティングする」を参照してください。
  • マルチシャード クエリ (MSQ) :マルチシャード クエリ実行は、要求にいくつか (またはすべて) のシャードが含まれる場合に機能します。 マルチシャード クエリは、同じ T-SQL コードをすべてのシャードまたはシャードのセットで実行します。 参加しているシャードからの結果は、UNION ALL セマンティクスを使用して全体的な結果セットにマージされます。 この機能は、クライアント ライブラリを介して公開され、接続管理、スレッド管理、エラー処理、中間結果処理などの多くのタスクを処理します。 MSQ では、最大で数百個のシャードを照会できます。 詳細については、 エラスティック データベース ツールを使用したマルチシャード クエリを参照してください。

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

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