メインコンテンツまでスキップ

リードレプリカの管理

備考

ベータ版

Lakebase Postgres (オートスケール Beta) は、 Lakebase の次のバージョンであり、評価のみに利用できます。 本番運用ワークロードの場合は、 Lakebase Public Previewを使用します。 どのバージョンが適しているかを判断するには、バージョンの選択を参照してください。

このガイドでは、データベース プロジェクトの読み取りレプリカの作成と管理について説明します。リードレプリカは、水平スケーリングからアナリティクス ワークロードに至るまで、アプリケーションの本番運用データベース操作から読み取り専用の作業を分離します。 読み取りレプリカのアーキテクチャとユースケースの詳細については、 「読み取りレプリカ」を参照してください。

読み取りレプリカの作成、構成、接続の手順は、ユースケースに関係なく同じです。 データベース プロジェクト内の任意のブランチに対して 1 つ以上の読み取りレプリカを作成し、それぞれに割り当てられるコンピュート サイズを構成できます。 オートスケールおよびスケール トゥ ゼロ機能もサポートされており、リード レプリカ コンピュートの使用を制御できます。

前提条件

リードレプリカを作成する

読み取りレプリカを作成するには:

  1. Lakebase アプリで、データベース プロジェクト、ブランチ、 [コンピュート] タブに移動します。
  2. [読み取りレプリカの追加] をクリックします。
  3. リードレプリカの名前を入力し、コンピュート設定 (オートスケール範囲とゼロへのスケール動作) を構成し、 [追加] をクリックします。

リードレプリカドロワーを追加

注記

コンピュートのサイズ構成によって、データベースの処理能力が決まります。 詳細:コンピュートの管理

リードレプリカは数秒以内にプロビジョニングされ、ブランチの [コンピュート] タブに表示されます。

地域サポート

Lakebase は、データベース プロジェクトと 同じリージョンでの 読み取りレプリカの作成をサポートしています。クロスリージョン読み取りレプリカはサポートされていません。

リードレプリカに接続する

リードレプリカへの接続は、接続情報を取得するときにリードレプリカ コンピュートを選択することを除いて、プライマリ読み取り/書き込みコンピュートに接続するのと同じプロセスに従います。

読み取りレプリカの接続情報を取得するには:

  1. Lakebase アプリで、データベース プロジェクト ダッシュボードの [接続] をクリックします。
  2. コンピュート ドロップ ダウンからブランチ、データベース、ロール、リード レプリカ コンピュートを選択し、指定された接続文字列をコピーします。

プライマリの読み取り/書き込みコンピュートの場合と同様に、 OAuth Postgres ロールを使用して接続できます。

important

読み取りレプリカ接続では書き込み操作は許可されません。書き込み操作を実行しようとするとエラーが発生します。

認証方法と接続オプションの詳細については、 「データベース プロジェクトへの接続」を参照してください。

リードレプリカを表示する

ブランチのリードレプリカを表示するには、Lakebase アプリでデータベース プロジェクトに移動し、[ ブランチ] ページからブランチを選択して、すべてのリードレプリカ コンピュートがリストされている [コンピュート] タブを表示し ます

リードレプリカを編集する

リードレプリカを編集して、コンピュートのサイズまたはゼロへのスケール構成を変更できます。

リードレプリカを編集するには:

  1. Lakebase アプリでブランチの コンピュート タブに移動します。
  2. リードレプリカを見つけて [編集] をクリックし、コンピュート設定を更新して、 [保存] をクリックします。

詳細:コンピュートの管理

リードレプリカを削除する

リードレプリカの削除は永続的なアクションです。ただし、必要な場合は、新しい読み取りレプリカをすぐに作成できます。

リードレプリカを削除するには:

  1. Lakebase アプリでブランチの コンピュート タブに移動します。
  2. 読み取りレプリカを見つけて、 [編集][削除] の順にクリックし、削除を確認します。

リードレプリカコンピュート設定同期

Lakebase リードレプリカの場合、特定の Postgres 設定の値がプライマリの読み取り/書き込みコンピュートよりも低い値であってはなりません。 このため、リード レプリカ コンピュートの次の設定は、リード レプリカ コンピュートの起動時にプライマリ読み取り/書き込みコンピュートの設定と同期されます。

  • max_connections
  • max_prepared_transactions
  • max_locks_per_transaction
  • max_wal_senders
  • max_worker_processes

ユーザーの操作は必要ありません。読み取りレプリカを作成すると、設定は自動的に同期されます。ただし、プライマリ読み取り/書き込みコンピュートのコンピュート サイズ構成を変更した場合は、設定の同期を確保するためにリード レプリカ コンピュートを再起動する必要があります。 詳細については、 「レプリケーション遅延のトラブルシューティング」を参照してください。

レプリケーション遅延のトラブルシューティング

リードレプリカが遅れている場合は、次のステップに従って問題を診断し、解決してください。

構成の整合性を確認する

レプリケーションの遅延が検出された場合は、プライマリ コンピューティングとリード レプリカ コンピュートの構成が一致していることを確認してください。 具体的には、プライマリ コンピュートとリード レプリカ コンピュートの間で次の点が一致することを確認します。

  • max_connections
  • max_prepared_transactions
  • max_locks_per_transaction
  • max_wal_senders
  • max_worker_processes

Lakebase SQLエディターまたはpsqlのようなSQLクライアントを使用して、プライマリ読み取り/書き込みコンピュートとリードレプリカ コンピュートの両方で次のクエリを実行できます。

SQL
SELECT name, setting
FROM pg_settings
WHERE name IN (
'max_connections',
'max_prepared_transactions',
'max_locks_per_transaction',
'max_wal_senders',
'max_worker_processes'
);

両方のコンピュートの結果を比較して、調整されていない設定を特定します。

リードレプリカコンピュートを再起動します

構成が調整されていない場合は、リードレプリカ コンピュートを再起動して、設定を自動的に更新します。 ブランチの [コンピュート ] タブに移動し、リードレプリカを見つけて、 [編集][再起動] の 順にクリックします。

注記

プライマリ読み取り/書き込みコンピュートのサイズを増やすときは、必ず関連する読み取りレプリカを再起動して、構成が維持されるようにしてください。

次のステップ