tencent cloud

Tencent Cloud Distributed Cache (Redis OSS-Compatible)

PIKAからRedisへのデータ移行ソリューション

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-20 18:10:51
AI翻訳

移行原理

PIKA内のデータをオンラインでTencent Cloud 分散型キャッシュデータベースに移行し、全量および増分同期をサポートします。pika-migrateツールを使用し、ツールをPIKAのスレーブとして仮想化し、マスターから取得したデータをTencent Cloud 分散型キャッシュデータベースに転送します。同時に増分同期をサポートし、オンラインホットマイグレーション機能を実現します。
1. pika-migrateは、dbsyncを通じてマスターデータベースの全量DBデータ、および現在のDBデータに対応するbinlogポジションを要求して取得します。
2. マスターデータベースの現在の全量DBデータを取得した後、DBをスキャンし、DB内のデータをパッケージ化してTencent Cloud 分散型キャッシュデータベースに転送します。
3. 以前に取得したbinlogのポジションに基づいてマスターデータベースへの増分同期を行います。増分同期の過程で、マスターデータベースから取得したbinlogをRedisコマンドに再構成し、Tencent Cloud 分散型キャッシュデータベースに転送します。

対応バージョン

PIKA 3.2.0以降のバージョンに適用され、スタンドアロンモードで単一DBのみを使用しています。PIKAのバージョンが3.2.0より低い場合、カーネルバージョンを3.2.0にアップグレードする必要があります。詳細については、PIKAカーネルバージョンの3.2.0へのアップグレードを参照してください。

注意事項

PIKAは異なるデータ構造で同じKey名を使用することをサポートしていますが、Redisはサポートしていません。そのため、同じKeyデータが存在するシナリオでは、最初にRedisに移行されたデータ構造が優先され、他の同じKey名のデータ構造は失われます。
このツールは、スタンドアロンモードで、かつ単一DBバージョンのPIKAのホットマイグレーションのみをサポートします。クラスタモードまたは複数DBのシナリオの場合、ツールはエラーを報告して終了します。
マスターデータベースのbinlogがクリーンアップされたことにより、このツールが複数回の全量同期をトリガーしてRedisに不正なデータを書き込むことを防ぐために、ツール自体が保護機能を備えており、2回目の全量同期がトリガーされた時点でエラーを報告して終了します。

移行手順

1. PIKAマスターデータベースで以下のコマンドを実行し、PIKAマスターデータベースに10000個のbinlogファイルを保持させてください。
config set expire-logs-nums 10000
説明:
pika-portが全量データをRedisに書き込む間、時間がかかる可能性があり、その間にマスターデータベースの元のbinlogポジションがクリーンアップされることがあります。PIKAマスターデータベースに10000個のbinlogファイルを保持し、後続の増分同期をリクエストする際に対応するbinlogファイルがまだ存在することを確保する必要があります。
binlogファイルはディスク容量を占有します。実際の状況に応じて、保持するbinlogの数を決定できます。
2. 移行ツールの設定ファイルpika.conf内の以下のパラメータを変更します。


target-redis-host:Tencent Cloud 分散型キャッシュデータベースのIPアドレスを指定します。
target-redis-port:Tencent Cloud 分散型キャッシュデータベースのポート番号を指定します。
target-redis-pwd:Tencent Cloud 分散型キャッシュデータベースのデフォルトアカウントのパスワードを指定します。
sync-batch-num:pika-migrateがマスターデータベースから受信したsync-batch-num個のデータをまとめてパッケージ化してTencent Cloud 分散型キャッシュデータベースに送信することを指定し、転送効率を向上させます。
redis-sender-num:redis-sender-num個のスレッドを指定してデータパケットの転送に使用します。転送コマンドはKeyのハッシュ値に基づいてデータを異なるスレッドに割り当てて送信するため、マルチスレッド送信によるデータの不整合を心配する必要はありません。
3. ツールキットのパスで以下のコマンドを実行し、pika-migrateツールを起動して、表示される情報を確認してください。
pika -c pika.conf
4. 以下のコマンドを実行し、移行ツールをSlaveに偽装してマスターデータベースに同期をリクエストし、エラー情報があるかどうかを確認してください。
slaveof ip port force
5. マスターレプリカ関係の確立が成功したことを確認した後、pika-migrateは同時にターゲットRedisへデータを転送します。以下のコマンドを実行し、マスターレプリカ同期の遅延を確認してください。マスターデータベースに特別なKeyを書き込み、その後Redis側でそのKeyをすぐに取得できるかどうかを確認して、データ同期が完了したかどうかを判断できます。
info Replication

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック