Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ai/ti/reference/ti-configuration-and-credentials.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ TI_TELEMETRY=off ti db list-db-clusters --db-cluster-type starter

TiDB Cloud CLI は、最初の対象イベントに対して `~/.ti/.telemetry-installation-id` を遅延作成し、POSIX 権限が利用可能な場合は現在のユーザーのみに制限します。仮名化された ID をリセットするには、このファイルを削除してください。テレメトリーの配信は損失を伴う可能性があり、コマンド出力、エラー、または終了ステータスを変更することはありません。

統合は、プロファイルやコマンドを変更せずに、明示的なプロセススコープのメタデータを付加できます。`TI_TELEMETRY_TAG` は最大 128 バイトの UTF-8 文字列を受け付けます。`TI_TELEMETRY_EXTRA` は、圧縮後 2 KiB までの完全な JSON 値 1 つを受け付けます。無効なメタデータ、禁止されたメタデータ、深くネストされたメタデータ、またはサイズ超過のメタデータは、コマンドに影響を与えることなく省略されます。どちらの値にも、認証情報、トークン、SQL、パス、個人データ、プロファイル名、またはクラウドリソース ID を含めないでください。
統合は、プロファイルやコマンドを変更せずに、明示的なプロセススコープのメタデータを付加できます。`TI_TELEMETRY_TAG` は最大 128 バイトの UTF-8 文字列を受け付けます。`TI_TELEMETRY_EXTRA` は、JSON をコンパクト化した後のサイズが 2 KiB 以下の完全な JSON 値 1 つを受け付けます。無効なメタデータ、禁止されたメタデータ、深くネストされたメタデータ、またはサイズ超過のメタデータは、コマンドに影響を与えることなく省略されます。どちらの値にも、認証情報、トークン、SQL、パス、個人データ、プロファイル名、またはクラウドリソース ID を含めないでください。

```bash
TI_TELEMETRY_TAG="e2b-preview" \
Expand Down
4 changes: 2 additions & 2 deletions best-practices/best-practices-on-public-cloud.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ aliases: ['/ja/tidb/stable/best-practices-on-public-cloud/']

このドキュメントでは、KV RocksDB におけるコンパクション I/O フローの削減、 Raft Engine専用ディスクの使用、AZ 間トラフィックのコスト最適化、Google Cloud ライブマイグレーションイベントの軽減、大規模クラスタにおける PDサーバーの微調整など、パブリッククラウドへの TiDB の導入に関する様々な重要なベストプラクティスを解説します。これらのベストプラクティスに従うことで、パブリッククラウドにおける TiDB 導入のパフォーマンス、コスト効率、信頼性、スケーラビリティを最大限に高めることができます。

## KV RocksDB の圧縮 I/O フローを削減 {#reduce-compaction-i-o-flow-in-kv-rocksdb}
## KV RocksDB のコンパクション I/O フローを削減 {#reduce-compaction-i-o-flow-in-kv-rocksdb}

TiKVのストレージエンジンである[RocksDB](https://rocksdb.org/)は、ユーザーデータの保存に使用されます。クラウドEBSのプロビジョニングされたIOスループットは通常、コスト上の理由から制限されているため、RocksDBは書き込み増幅率が高くなり、ディスクスループットがワークロードのボトルネックになる可能性があります。その結果、保留中のコンパクションバイトの総数は時間の経過とともに増加し、フロー制御がトリガーされます。これは、TiKVがフォアグラウンド書き込みフローに対応するための十分なディスク帯域幅を欠いていることを示しています。

Expand All @@ -20,7 +20,7 @@ TiKVのストレージエンジンである[RocksDB](https://rocksdb.org/)は、

[Titan](/storage-engine/titan-overview.md)は、キーと値の分離のための高性能な[RocksDB](https://github.com/facebook/rocksdb)プラグインであり、大きな値が使用されるときに RocksDB での書き込み増幅を減らすことができます。

平均行サイズが 512 バイトより大きい場合は、次のように`min-blob-size`を`"512B"`または`"1KB"`に設定し、 `blob-file-compression`を`"zstd"`に設定して、Titan による圧縮 I/O フローの削減を有効にすることができます。
平均行サイズが 512 バイトより大きい場合は、次のように`min-blob-size`を`"512B"`または`"1KB"`に設定し、 `blob-file-compression`を`"zstd"`に設定して、Titan によるコンパクション I/O フローの削減を有効にすることができます。

```toml
[rocksdb.titan]
Expand Down
4 changes: 2 additions & 2 deletions best-practices/three-nodes-hybrid-deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ TiKVはフォアグラウンドタスクに加えて、バックグラウンド

RocksDBスレッドプールは、コンパクションジョブとフラッシュジョブを実行するために使用されます。 `rocksdb.max-background-jobs`のデフォルト値は`8`であり、明らかに必要なリソースを超えています。したがって、リソース使用量を制限するために値を調整する必要があります。

`rocksdb.max-sub-compactions`は、単一の圧縮ジョブで許可される同時サブタスクの数を示します。デフォルトは`3`です。書き込みトラフィックが多くない場合は、この値を下げることができます。
`rocksdb.max-sub-compactions`は、単一のコンパクションジョブで許可される同時サブタスクの数を示します。デフォルトは`3`です。書き込みトラフィックが多くない場合は、この値を下げることができます。

このテストでは、 `rocksdb.max-background-jobs`の値は`3`に、 `rocksdb.max-sub-compactions`の値は`1`に設定されています。TPC-C負荷での12時間テスト中、書き込みストールは発生しませんでした。実際の負荷に応じて2つのパラメータ値を最適化する際には、監視指標に基づいて値を徐々に下げることができます。

Expand All @@ -93,7 +93,7 @@ RocksDBスレッドプールは、コンパクションジョブとフラッシ

#### `rocksdb.rate-bytes-per-sec` {#rocksdb-rate-bytes-per-sec}

このパラメータは、バックグラウンド圧縮ジョブのディスクトラフィックを制限するために使用されます。デフォルト設定では、このパラメータに制限はありません。圧縮ジョブがフォアグラウンドサービスのリソースを占有する状況を回避するには、ディスクのシーケンシャル読み取りおよび書き込み速度に応じてこのパラメータ値を調整し、フォアグラウンドサービスに十分なディスク帯域幅を確保します。
このパラメータは、バックグラウンドコンパクションジョブのディスクトラフィックを制限するために使用されます。デフォルト設定では、このパラメータに制限はありません。コンパクションジョブがフォアグラウンドサービスのリソースを占有する状況を回避するには、ディスクのシーケンシャル読み取りおよび書き込み速度に応じてこのパラメータ値を調整し、フォアグラウンドサービスに十分なディスク帯域幅を確保します。

RocksDBスレッドプールの最適化方法は、コンパクションスレッドプールの最適化方法と似ています。調整した値が適切かどうかは、書き込みストールが発生するかどうかで判断できます。

Expand Down
32 changes: 16 additions & 16 deletions br/br-compact-log-backup.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,42 @@
---
title: Compact Log Backup
summary: ログバックアップを SST 形式に圧縮することで、ポイントインタイムリカバリ (PITR) の効率を向上させる方法を学習します。
summary: ログバックアップを SST 形式にコンパクションすることで、ポイントインタイムリカバリ (PITR) の効率を向上させる方法を学習します。
---

# コンパクトログバックアップ {#compact-log-backup}

このドキュメントでは、ログバックアップを[SST](/glossary.md#static-sorted-table--sorted-string-table-sst)形式に圧縮することで、ポイントインタイムリカバリ ( [PITR](/glossary.md#point-in-time-recovery-pitr) ) の効率を向上させる方法について説明します。
このドキュメントでは、ログバックアップを[SST](/glossary.md#static-sorted-table--sorted-string-table-sst)形式にコンパクションすることで、ポイントインタイムリカバリ ( [PITR](/glossary.md#point-in-time-recovery-pitr) ) の効率を向上させる方法について説明します。

## 概要 {#overview}

従来のログバックアップでは、書き込み操作が極めて非構造化された方法で保存されるため、次のような問題が発生する可能性があります。

- **回復パフォーマンスの低下**: 順序付けられていないデータは、 Raftプロトコルを介してクラスターに 1つずつ書き込む必要があります。
- **書き込み増幅**: すべての書き込みは、L0 から最下レベルまでレベルごとに圧縮する必要があります。
- **書き込み増幅**: すべての書き込みは、L0 から最下レベルまでレベルごとにコンパクションする必要があります。
- **完全バックアップへの依存**: リカバリ データの量を制御するには、頻繁な完全バックアップが必要であり、アプリケーションの操作に影響を及ぼす可能性があります。

バージョン8.5.5以降、コンパクトログバックアップ機能にオフラインコンパクション機能が追加され、非構造化ログバックアップデータを構造化SSTファイルに変換できるようになりました。これにより、以下の改善がもたらされます。

- SST ファイルをクラスターに迅速にインポートできるため、**リカバリ パフォーマンスが向上します**。
- 圧縮中に冗長データが削除され、**ストレージスペースの消費量が削減されます**。
- コンパクション中に冗長データが削除され、**ストレージスペースの消費量が削減されます**。
- リカバリ時間目標 (RTO) を確保しながら、より長い完全バックアップ間隔を設定できるため、**アプリケーションへの影響を軽減できます**。

## 制限事項 {#limitations}

- コンパクトログバックアップは完全バックアップの代替手段ではありません。定期的な完全バックアップと併用する必要があります。PITR機能を確保するため、圧縮プロセスではすべてのMVCCバージョンが保持されます。完全バックアップを長期間実行しないと、ストレージ使用量が過剰になり、後でデータを復元する際に問題が発生する可能性があります。
- 現在、ローカル暗号化を有効にしたバックアップの圧縮はサポートされていません。
- コンパクトログバックアップは完全バックアップの代替手段ではありません。定期的な完全バックアップと併用する必要があります。PITR機能を確保するため、コンパクションプロセスではすべてのMVCCバージョンが保持されます。完全バックアップを長期間実行しないと、ストレージ使用量が過剰になり、後でデータを復元する際に問題が発生する可能性があります。
- 現在、ローカル暗号化を有効にしたバックアップのコンパクションはサポートされていません。

## コンパクトログバックアップを使用する {#use-compact-log-backup}

現在、ログバックアップの圧縮は手動でのみサポートされており、プロセスは複雑です。**本番環境でのログバックアップの圧縮には、今後リリースされるTiDB Operatorソリューションのご利用をお勧めします。**
現在、ログバックアップのコンパクションは手動でのみサポートされており、プロセスは複雑です。**本番環境でのログバックアップのコンパクションには、今後リリースされるTiDB Operatorソリューションのご利用をお勧めします。**

### 手作業による圧縮 {#manual-compaction}
### 手作業によるコンパクション {#manual-compaction}

このセクションでは、ログバックアップを手動で圧縮する手順について説明します。
このセクションでは、ログバックアップを手動でコンパクションする手順について説明します。

#### 前提条件 {#prerequisites}

ログバックアップを手動で圧縮するには、 `tikv-ctl`と`br` 2つのツールが必要です。
ログバックアップを手動でコンパクションするには、 `tikv-ctl`と`br` 2つのツールが必要です。

#### ステップ1:ストレージをBase64でエンコードする {#step-1-encode-storage-to-base64}

Expand All @@ -51,9 +51,9 @@ br operator base64ify --storage "s3://your/log/backup/storage/here" --load-creds
> - 上記のコマンドを実行する際にオプション`--load-creds`を指定した場合、エンコードされたBase64文字列には、現在のBR環境から読み込まれた認証情報が含まれます。適切なセキュリティとアクセス制御を確保するためにご注意ください。
> - `--storage`の値は、ログバックアップタスクの`log status`コマンドの出力と一致させることを推奨します。

#### ステップ2: ログ圧縮を実行する {#step-2-execute-log-compaction}
#### ステップ2: ログコンパクションを実行する {#step-2-execute-log-compaction}

前の手順でBase64エンコードされた文字列を取得したら、`tikv-ctl`を使用して圧縮を開始できます。デフォルトでは、`tikv-ctl`のログレベルは`warning`です。より詳細な情報を取得するには、`--log-level info`を使用してください。
前の手順でBase64エンコードされた文字列を取得したら、`tikv-ctl`を使用してコンパクションを開始できます。デフォルトでは、`tikv-ctl`のログレベルは`warning`です。より詳細な情報を取得するには、`--log-level info`を使用してください。

```shell
tikv-ctl --log-level info compact-log-backup \
Expand All @@ -64,11 +64,11 @@ tikv-ctl --log-level info compact-log-backup \
パラメータの説明:

- `-s` : 前の手順で取得したBase64エンコード文字列。
- `-N` : 同時ログ圧縮タスクの最大数。
- `--from` : 圧縮の開始タイムスタンプ。
- `--until` : 圧縮の終了タイムスタンプ。
- `-N` : 同時ログコンパクションタスクの最大数。
- `--from` : コンパクションの開始タイムスタンプ。
- `--until` : コンパクションの終了タイムスタンプ。

パラメータ`--from`と`--until`は、圧縮操作の時間範囲を定義します。圧縮操作では、指定された時間範囲内の書き込み操作を含むすべてのログファイルが処理されるため、生成されるSSTファイルにはこの範囲外のデータが含まれる場合があります。
パラメータ`--from`と`--until`は、コンパクション操作の時間範囲を定義します。コンパクション操作では、指定された時間範囲内の書き込み操作を含むすべてのログファイルが処理されるため、生成されるSSTファイルにはこの範囲外のデータが含まれる場合があります。

特定の時点のタイムスタンプを取得するには、次のコマンドを実行します。

Expand Down
2 changes: 1 addition & 1 deletion dashboard/dashboard-monitoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ SQL実行フェーズは緑色で、その他のフェーズは全体的に赤
- `TiDB -> TiKV: general` : フォアグラウンドトランザクションが TiDB から TiKV に書き込まれる速度
- `TiDB -> TiKV: internal` : 内部トランザクションが TiDB から TiKV に書き込まれる速度
- `TiKV -> Rocksdb` : TiKVからRocksDBへの書き込み操作の流れ
- `RocksDB Compaction` : RocksDBの圧縮操作によって生成された合計読み取りおよび書き込みI/Oフロー
- `RocksDB Compaction` : RocksDBのコンパクション操作によって生成された合計読み取りおよび書き込みI/Oフロー

### Duration {#duration}

Expand Down
Loading
Loading