移行原理
Golangベースで開発されたSiphon移行ツールは、SSDBのSlaveに偽装してデータをサブスクライブし、データをTencent Cloud 分散型キャッシュデータベースに同期します。 Siphonは起動時に自動的にSSDB Serverに接続し、Keyアドレッシングを行い、開始位置から同期を開始します。既存データがすべて同期完了した後、増分データを同期します。つまり、ツール起動後に長接続チャネルを確立して動作を維持します。
ツールおよびバージョン説明
移行ツール:Siphonは、すべてのSSDBカーネルバージョンに適用されます。 SSDBに大規模なKeyまたは億単位のKeyが含まれる場合は、チケットを提出して改造済みバージョンSiphon-V2を申請し、データ同期効率を向上させてください。 説明:
改造後のツールは、ネイティブバージョンに存在していた同期効率の低さを解決しました。特に大規模Keyの同期では、hashデータやzsetなどのデータにおいて、同期効率が約12倍向上します。
注意事項
SSDBのシングルインスタンスモードからTencent Cloud 分散型キャッシュデータベースクラスタ版へ移行する際、クロススロットトランザクションやパイプラインなどのロジック互換性の問題が存在します。
移行手順
1. 移行コマンドの実行に必要な設定パラメータを収集します。以下に示します。
-p:同時実行スレッド数を指定します。
-f:SSDBサーバーアドレスを指定します。
-t:Tencent Cloud 分散型キャッシュデータベースサーバーアドレスを指定します。
-T:Tencent Cloud 分散型キャッシュデータベースのパスワードを指定します。
2. siphon_v2 syncを使用して移行ツールを起動し、移行ログを確認してください。
./siphon_v2 sync -p 1 -f X.X.X.X:8888 -t X.X.X.X:6379 -T XXX
コマンド実行後に表示されるステータスは以下の通りです:
Copy Start:全量データ同期の開始を表します。
Copy Stop:全量データ同期の終了を表します。
3. プロセスは終了せず、新しいデータの生成を待機し、Tencent Cloud 分散型キャッシュデータベースへの増分同期を行います。