重要
このページは英語版のページを機械翻訳しています。原文はこちらからご覧ください。

RawKVのバックアップと復元

Backup&Restore(BR)は、TiDBなしでRawKV(TiKVおよびPD)を使用する製品のデータのバックアップと復元をサポートします。このドキュメントでは、RawKVをバックアップおよび復元する方法について説明します。

警告

この機能は実験中であり、徹底的にテストされていません。実稼働環境で使用することはお勧めしません

RawKVをバックアップする

一部のシナリオでは、TiKVはTiDBとは独立して実行される場合があります。そのため、BRはTiDBレイヤーのバイパスとTiKVでのデータのバックアップをサポートしています。

br backup raw --pd $PD_ADDR \
    -s "local://$BACKUP_DIR" \
    --start 31 \
    --ratelimit 128 \
    --end 3130303030303030 \
    --format hex \
    --cf default

上記のコマンドは、デフォルトのCFの[0x31, 0x3130303030303030)から$BACKUP_DIRまでのすべてのキーをバックアップします。

このコマンドでは、 --start--endの値は、TiKVに送信される前に、 --formatで指定された形式を使用してデコードされます。現在、次の形式を使用できます。

  • 「raw」:入力文字列は、バイナリ形式のキーとして直接エンコードされます。
  • 「hex」:デフォルトのエンコード形式。入力文字列は16進数として扱われます。
  • "escaped":最初に入力文字列をエスケープ(バックスラッシュ)してから、バイナリ形式(たとえば、 abc\xFF\x00\r\n )にエンコードします。

ノート:

  • ローカルストレージを使用する場合は、すべてのバックアップSSTファイルを--storageで指定されたパス内のすべてのTiKVノードにコピーする必要があります。各TiKVノードが最終的にSSTファイルの一部のみを読み取る必要がある場合でも、次の理由により、すべてのノードが完全なアーカイブへのフルアクセスを必要とします。

    • データは複数のピアに複製されます。 SSTを取り込む場合、これらのファイルはすべてのピアに存在する必要があります。これは、単一ノードからの読み取りで十分なバックアップとは異なります。
    • 復元中に各ピアが分散する場所はランダムです。どのノードがどのファイルを読み取るかは事前にわかりません。
  • これらは、共有ストレージを使用して回避できます。たとえば、ローカルパスにNFSをマウントしたり、S3を使用したりできます。ネットワークストレージを使用すると、すべてのノードがすべてのSSTファイルを自動的に読み取ることができます。この場合、前述の警告は適用されなくなります。

  • また、1つのクラスタに対して同時に実行できる復元操作は1つだけであることに注意してください。そうしないと、予期しない動作が発生する可能性があります。詳細については、 よくある質問を参照してください。

RawKVを復元する

RawKVのバックアップと同様に、次のコマンドを実行してRawKVを復元できます。

br restore raw --pd $PD_ADDR \
    -s "local://$BACKUP_DIR" \
    --start 31 \
    --end 3130303030303030 \
    --ratelimit 128 \
    --format hex \
    --cf default

この例では、範囲[0x31, 0x3130303030303030)のすべてのバックアップされたキーがTiKVクラスタに復元されます。これらのキーのコーディング形式は、バックアッププロセス中のキーのコーディング形式と同じです。