## 概要

<!-- markdownlint-disable MD032 -->
> [!NOTE]
> この演習は Chrome ブラウザのみ対応しています。

MySQL から TiDB への移行時には、アプリケーションの SQL の互換性とパフォーマンスを確認することがよく必要になります。TiDB Real Traffic Replay Tool は、MySQL のスロークエリやパケットキャプチャから得られたトラフィックファイルを TiDB クラスタに再適用するために使用できます。このツールは、互換性やパフォーマンスのための実際のトラフィック検証を完了し、データベース移行の成功率を向上させます。

  ![80%](https://lab-static.pingcap.com/quick-demo/demo-302-1-en.png)

### `sql-replay` の基本機能

+ ログのキャプチャと解析
  + `MySQL スローログ`ファイルまたは`parse-tshark captures`によって生成されたファイルには、SQL実行時間とSQLテキストが含まれています。このツールはこれらのログを解析し、SQLステートメント、実行時間、実行コンテキストやクエリを実行したユーザーなどの関連情報を抽出することができます。

+ クエリの再生
  + 抽出されたSQLクエリをTiDBクラスタの制御された環境で再生します。

+ パフォーマンス測定と分析
  + 再生中に、TiDBクラスタでのSQLクエリの実行時間が取得されます。
  + これらのメトリクスはベンチマークや以前の実行と比較され、パフォーマンスの低下や改善を特定するのに役立ちます。特定のクエリやデータベース設定が問題を引き起こす可能性がある箇所を特定するのに役立ちます。

+ レポート生成
  + 最後に、sql-replayはクエリの互換性とパフォーマンスに関する洞察を提供するレポートを生成します。これらのレポートは、データベース管理者や開発者がシステムに対するさまざまなクエリの影響を理解し、情報に基づいた最適化の決定を行うのに役立ちます。

### タスク

+ 上流のMySQLと下流のTiDB環境をセットアップします。
+ `sql-replay`ツールを使ってSQLをキャプチャしてリプレイします。
+ `parse-tshark`ツールでSQLをキャプチャし、それを`sql-replay`ツールでリプレイします。

> [!TIP]
> 演習環境を起動するには、**開始**をクリックしてください。
> 環境の準備が完了すると、ハンズオンセッションに割り当てられたリソースに実際の値が設定されるため、演習ガイドに従って段階的に演習を完了できます。
