次の方法で共有


スケーラブルな共有データベースの同期更新の実行

スケーラブルな共有データベース構成を更新するためにレポート ボリュームのセットを交互に使用する場合、ローリング アップデートまたは同期更新のいずれかによってデータベースを更新できます。レポート データベースがクライアントに同一の結果を返すようにする場合は、同期更新を実行します。同期更新では、新しいバージョンのデータベースを任意のサーバー インスタンスにアタッチする前に、すべてのサーバー インスタンスから古いバージョンをデタッチします。

この方法は、次の場合に行います。

  • レポート データベースを常に同期して、すべてのレポート サーバーのクライアントに同一の結果を返す必要がある場合。つまり、古いバージョンのデータベースと新しいバージョンのデータベースが共存できない場合。

  • 重要な期限に間に合うように、できるだけ早く更新を完了する必要があり、そのことが現在実行中のクエリを保持することよりも重要である場合。

すべてのレポート サーバーのデータベースを同期することは、古いバージョンのデータベースのデタッチ フェーズと新しいバージョンのアタッチ フェーズの間、レポート データベースが一時的に使用できなくなることを意味します。データベースのダウンタイムを最小限に抑えるために、すべてのサーバーの新しいデータベースのアタッチ フェーズを開始してから、すべてのサーバーのデタッチ フェーズを完了することができます。最後に、できるだけ早く各レポート サーバーのデータベースをアタッチします。

デタッチ フェーズおよびアタッチ フェーズの同期

すべてのサーバー インスタンスでの更新サイクルを同期し、必要に応じてできるだけ早く更新サイクルを完了するには、次の操作を実行します。

  1. 各レポート サーバーで、新しいデータベースが格納されている別のボリューム セットをレポート サーバーにマウントすることにより、新しいデータベースのアタッチ フェーズを開始します。

  2. すべてのレポート サーバーでデタッチ フェーズを完了します。時間の遵守が必要な更新の場合、実行時間の長いクエリをすべて終了し、その後で古いデータベースをデタッチし、レポート ボリュームのマウントを解除します。

  3. 新しいデータベースを、各レポート サーバーのサーバー インスタンスにアタッチします。データベースが特定のインスタンスにアタッチされるとすぐに、終了したクエリをそのインスタンスで再開可能です。

次の図は、代替のレポート ボリュームのペアを使用して、すべてのサーバー インスタンスで同期されるスケーラブルな単一の共有データベースを保持する方法を示しています。

レポート作成ボリュームを 2 つ使用する、スケーラブルな共有データベース

この図は、代替のレポート ボリュームのペアを使用した、レポート データベースの更新サイクル 2 回半分を示しています。最初は、レポート データベースはありません。

  1. ボリューム A での新しいレポート データベースの構築 : 2 つのレポート ボリュームのうち A が実稼働サーバーにマウントされ、読み取りおよび書き込み可能にマークされます。最初のバージョンのレポート データベースが構築されます。その後、レポート ボリュームは読み取り専用となり、マウントが解除されます。

    注意

    代替ボリュームはまだ使用されていません。

  2. ボリューム A のアタッチ フェーズ : このボリュームは、各レポート サーバーで読み取り専用ボリュームとしてマウントされ、各サーバー インスタンスにアタッチされます。

  3. レポート データベースは、ボリューム A ではスケーラブルな共有データベースとして使用可能ですが、別のレポート ボリューム B は実稼働サーバーにマウントされ、2 番目の更新サイクルで最新バージョンの新しいデータベースを構築するために読み取りおよび書き込み可能としてマークされます。新しいバージョンのレポート データベースがボリューム B で準備完了になると、そのボリュームのマウントは解除されます。

  4. ボリューム A のデタッチ フェーズと、ボリューム B のアタッチ フェーズは同時に行われます。

    • まず、代替ボリューム B がレポート サーバーにマウントされます。

    • 次に、ボリューム A の古いデータベースがデタッチされます。

    • ボリューム B の更新されたレポート データベースが、各レポート サーバーにアタッチされます。

    • 最後に、各レポート サーバーからボリューム A のマウントが解除されます。

  5. レポート データベースは、ボリューム B ではスケーラブルな共有データベースとして使用可能ですが、もう一方のレポート ボリューム A は実稼働サーバーにマウントされ、古いバージョンのレポート データベースの更新に備えて読み取りおよび書き込み可能にマークされます。この処理には、既存のデータベースの更新、またはまったく新しいデータベースの構築が伴う場合があります。