Skip to main content

[利用方法] バックエンドデータベースでダウンタイムが発生する場合の ScalarDB Cluster の一時停止要否について

updated: 2024-08-20 13:57:32 JST

対象製品/バージョン

  • ScalarDB Cluster v3.x

質問

バックエンドで使用しているデータベース のバージョンアップ作業中に数分程度のダウンタイムが発生する見込みです。この作業中に ScalarDB Cluster を停止する必要はありますか。

回答

ScalarDB Cluster の停止は、必須ではありません。ただし、場合によっては、性能影響等が発生する可能性がございます。

バックエンドのデータベースとして単体のデータベースを使用している場合には、一時停止をしなくても、ScalarDB Cluster 側でエラーが発生し、基本的にはバックエンドデータベースへの書き込みは実施されません。しかしながら、複数のデータベースをご利用の場合(バージョンアップ作業をしているデータベースとは異なるデータベースが存在する場合)、稼働中のデータベース側でトランザクション内の書き込み処理が(未コミットの状態で)部分的に実行される可能性がございます。

そのような状態になった場合、最終的に ScalarDB Cluster 側で整合性を保つ処理が実行されるため、 ScalarDB Cluster におけるデータの整合性の観点で、問題はございません。

しかしながらこの ”整合性を保つ処理” によって、バックエンドデータベースへの更新処理が発生することになるため、バックエンドデータベース側の性能に影響が出る可能性がございます。

このような場合、バックエンドデータベースのダウンタイム発生時に ScalarDB Cluster を一時停止することで、上記 ”整合性を保つ処理” を可能な限り減らし、この性能影響を減らすことができます。

ScalarDB Cluster の一時停止については、Scalar Admin for Kubernetes というツールを利用することで実施することが可能です。Scalar Admin for Kubernetes のデプロイ方法については、以下のドキュメントをご参照ください。

関連する Scalar ドキュメント

参考情報 (外部ドキュメント)

なし