0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PlanetScaleでリードレプリカに接続できるようになった話

Posted at

PlanetScaleでリードレプリカに接続できるようになった話

概要

PlanetScaleでは、リードレプリカを使用することで、データベースのパフォーマンス向上と可用性の向上を実現できます。リードレプリカは、データベースのクエリを分散し、プライマリノードへの負荷を軽減するための強力なツールです。

リードレプリカの理解

リードレプリカはデータベースの継続的に更新されるコピーです。以下の2つの主要な目的があります:

  • データをクエリするための追加のソースを提供する。
  • メンテナンスや予期しない障害の際に、迅速なフェイルオーバーを可能にすることでデータベースの可用性を高める。

負荷を軽減するためにレプリカを利用する前に、トレードオフを理解することが重要です。

リードレプリカへのクエリ方法

グローバルレプリカクレデンシャルの作成

グローバルレプリカクレデンシャルを使用すると、クエリを自動的にブランチのレプリカやリードオンリーリージョンにルーティングできます。

手順:

  1. PlanetScaleダッシュボードで新しいクレデンシャルを作成し、接続タイプとして「レプリカ」を選択します。
  2. 新しいクレデンシャルの接続文字列を使用して、レプリカ専用のデータベース接続を設定します。

Screenshot 2024-07-09 at 1.14.52.png

高可用性

PlanetScaleのレプリカはデータベースの高可用性を実現するために使用されます。プライマリノードが障害を起こした場合、自動的に利用可能なレプリカから新しいプライマリノードが選出され、トラフィックが新しいプライマリにリルートされます。

複数のアベイラビリティゾーン

クラウドアーキテクチャでは、リージョンはさらにアベイラビリティゾーン(AZ)と呼ばれるデータセンターに分けられます。たとえば、AWSのus-east-1リージョンには6つのデフォルトAZがあります。PlanetScaleのスケーラープロおよびエンタープライズデータベースのインフラは、3つのAZに分散されています。AZ障害が発生した場合、データベースは利用可能なAZに自動フェイルオーバーします。

データの一貫性とレプリケーションラグ

プライマリノードでデータが更新されると、その変更はすぐにレプリカに同期されますが、少しの遅延があります。この遅延をレプリケーションラグと呼びます。レプリカからデータをクエリする際には、レプリケーションラグを考慮することが重要です。

いつレプリカを使用するべきか

レプリカは、読み込みが多いワークロードをプライマリノードからオフロードするのに役立ちます。例えば、スケジュールされたジョブ、分析ジョブ、検索機能、集計クエリなどでレプリカを使用できます。

PlanetScaleでのレプリカの使用

PlanetScaleでは、すべてのプロダクションデータベースブランチにレプリカが使用されています。データベースのプランによってレプリカの数は異なります。

  • Scaler Pro: 各プロダクションブランチに2つのレプリカが含まれ、複数のAZに分散されています。
  • Enter Prise: カスタマイズ可能で、必要に応じて任意の数のレプリカを持つことができます。

開発ブランチにはレプリカがありません。開発ブランチは開発目的のみで使用され、プロダクションブランチと同じレジリエンスを持ちません。

まとめ

PlanetScaleのリードレプリカを使用することで、データベースのパフォーマンスと可用性を大幅に向上させることができます。特に読み込みが多いワークロードに対して有効であり、データの一貫性とレプリケーションラグに注意を払いながら使用することが重要です。ぜひPlanetScaleのリードレプリカを試してみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?