TiDB 6.2.0 リリースノート

発売日: 2022年8月23日

TiDB バージョン: 6.2.0-DMR

注記:

TiDB 6.2.0-DMR のドキュメントはアーカイブ済みになりました。PingCAP では、TiDB データベースの最新のLTSバージョンを使用することを推奨しています。

v6.2.0-DMR の主な新機能と改善点は次のとおりです。

新機能

構文

  • 物理データ圧縮機能はGAです

    TiFlashバックエンドは、特定の条件に基づいて物理データを自動的に圧縮し、無駄なデータのバックログを削減し、データstorage構造を最適化します。

    多くの場合、データ圧縮が自動的にトリガーされる前に、 TiFlashテーブルに一定量の無駄なデータがあります。この機能を使用すると、適切なタイミングを選択して SQL ステートメントを手動で実行し、 TiFlash内の物理データを即座に圧縮できるため、storage領域の使用量が削減され、クエリのパフォーマンスが向上します。この機能は TiDB v6.1 では実験的であり、現在 TiDB v6.2.0 で一般提供 (GA) されています。

    ユーザードキュメント #4145 @ そよ風のような

可観測性

  • TiDBダッシュボードをPDから分離する

    TiDB ダッシュボードは PD から監視ノードに移動されました。これにより、TiDB ダッシュボードの PD への影響が軽減され、PD がより安定します。

    @ ホークソンジー

  • TiDBダッシュボードに監視ページが追加されました

    新しい「監視」ページには、パフォーマンス チューニングに必要な主要な指標が表示され、それに基づいてデータベース時間によるパフォーマンスチューニングを参照してパフォーマンスを分析およびチューニングできます。

    具体的には、ユーザー応答時間とデータベース時間をグローバルかつトップダウンの観点から分析し、ユーザー応答時間のボトルネックの原因がデータベースの問題であるかどうかを確認できます。ボトルネックの原因がデータベースにある場合は、データベース時間の概要と SQLレイテンシーの内訳を使用してボトルネックを特定し、パフォーマンスを調整できます。

    ユーザードキュメント #1381 @ 宜尼Xu9506

  • TiDBダッシュボードは視覚的な実行計画をサポートします

    TiDB ダッシュボードは、SQL ステートメントと監視ページを通じて、視覚的な実行プランと基本的な診断サービスを提供します。この機能は、クエリ プランの各ステップを識別するための新しい視点を提供します。そのため、クエリ実行プランのすべてのトレースをより直感的に把握できます。

    この機能は、複雑で大規模なクエリの実行方法を学習する場合に特に便利です。一方、TiDB ダッシュボードは、各クエリ実行プランの実行の詳細を自動的に分析し、潜在的な問題を特定し、特定のクエリ プランの実行に必要な時間を短縮するための最適化の提案を提供します。

    ユーザードキュメント #1224 @ 時間と運命

  • ロックビューは、楽観的トランザクションの待機情報の表示をサポートします。

    ロック競合が多すぎると、重大なパフォーマンス問題が発生する可能性があり、ロック競合を検出することは、このような問題のトラブルシューティングに必要な方法です。v6.2.0 より前の TiDB では、 INFORMATION_SCHEMA.DATA_LOCK_WAITSシステム ビューを使用してロック競合関係を表示できましたが、楽観的トランザクションの待機情報は表示されませんでした。TiDB v6.2.0 ではDATA_LOCK_WAITSビューが拡張され、悲観的ロックによってブロックされた楽観的トランザクションがビューにリストされます。この機能により、ユーザーはロック競合を迅速に検出でき、アプリケーションを改善するための基盤が提供されるため、ロック競合の頻度が減り、全体的なパフォーマンスが向上します。

    ユーザードキュメント #34609 @ ロングファングソン

パフォーマンス

  • LEADINGオプティマイザヒントを改善して外部結合順序をサポートする

    v6.1.0 では、テーブルの結合順序を変更するためにオプティマイザ ヒントLEADINGが導入されました。ただし、このヒントは外部結合を含むクエリには適用できませんでした。詳細については、 LEADING文書を参照してください。v6.2.0 では、TiDB はこの制限を解除しました。外部結合を含むクエリでは、このヒントを使用してテーブルの結合順序を指定し、SQL 実行パフォーマンスを向上させ、実行プランの突然の変更を回避できるようになりました。

    ユーザードキュメント #29932 @ 思い出させる

  • EXISTSのクエリのパフォーマンスを向上させるために新しいオプティマイザSEMI_JOIN_REWRITEを追加します

    シナリオによっては、 EXISTSクエリでは最適な実行プランを作成できず、実行に時間がかかりすぎる可能性があります。v6.2.0 では、オプティマイザーがこのようなシナリオの書き換えルールを追加し、クエリでSEMI_JOIN_REWRITE使用してオプティマイザーに強制的にクエリを書き換えさせ、クエリのパフォーマンスを向上させることができます。

    ユーザードキュメント #35323 @ ウィノロス

  • 分析クエリのパフォーマンスを向上させるために、新しいオプティマイザヒントMERGEを追加します。

    共通テーブル式 (CTE) は、クエリ ロジックを簡素化する効果的な方法です。複雑なクエリの作成に広く使用されています。v6.2.0 より前のバージョンでは、 TiFlash環境では CTE を自動的に拡張することができず、MPP の実行効率がある程度制限されていました。v6.2.0 では、MySQL 互換のオプティマイザー ヒントMERGEが導入されました。このヒントにより、オプティマイザーは CTE インラインの拡張を許可し、CTE クエリ結果のコンシューマーがTiFlashでクエリを同時に実行できるようになり、一部の分析クエリのパフォーマンスが向上しました。

    ユーザードキュメント #36122 @ デイックルプ

  • いくつかの分析シナリオにおける集計操作のパフォーマンスを最適化します

    OLAP シナリオでTiFlashを使用して列の集計操作を実行する場合、集計列の不均一な分布により深刻なデータ スキューが存在し、集計列に多くの異なる値がある場合、列に対するCOUNT(DISTINCT)のクエリの実行効率は低くなります。v6.2.0 では、新しい書き換えルールが導入され、1 つの列に対するCOUNT(DISTINCT)のクエリのパフォーマンスが向上しました。

    ユーザードキュメント #36169 @ 修正DB

  • TiDBは同時DDL操作をサポート

    TiDB v6.2.0 では、新しい同時実行 DDL フレームワークが導入され、異なるテーブル オブジェクトで DDL ステートメントを同時に実行できるようになり、他のテーブルでの DDL 操作によって DDL 操作がブロックされる問題が修正されました。さらに、TiDB は、複数のテーブルにインデックスを追加したり、列の型を変更したりするときに、同時実行 DDL 実行をサポートします。これにより、DDL 実行の効率が向上します。

    #32031 @ 翻訳:

  • オプティマイザーは文字列マッチングの推定を強化します

    文字列マッチングのシナリオでは、オプティマイザが行数を正確に推定できない場合、最適な実行プランの生成に影響します。たとえば、条件がlike '%xyz'場合や、正規表現regex ()を使用している場合などです。このようなシナリオでの推定精度を向上させるために、TiDB v6.2.0 では推定方法が強化されています。新しい方法では、統計の TopN 情報とシステム変数を組み合わせて精度を向上させ、一致選択性を手動で変更できるようにすることで、SQL パフォーマンスが向上します。

    ユーザードキュメント #36209 @ 時間と運命

  • TiFlashにプッシュダウンされたウィンドウ関数は複数のスレッドで実行できます

    細粒度シャッフル機能を有効にすると、ウィンドウ関数を単一のスレッドではなく複数のスレッドで実行できるようになります。この機能により、ユーザーの動作を変えずにクエリの応答時間が大幅に短縮されます。変数の値を調整することで、シャッフルの粒度を制御できます。

    ユーザードキュメント #4631 @ グオシャオゲ

  • TiFlashは新しいバージョンのstorageフォーマットをサポートしています

    新しいstorage形式により、同時実行性が高く、ワークロードが重いシナリオで GC によって発生する CPU 使用率の上昇が軽減されます。これにより、バックグラウンド タスクの IO トラフィックが大幅に削減され、同時実行性が高く、ワークロードが重い状況でも安定性が向上します。同時に、スペースの増大とディスクの無駄も大幅に削減されます。

    TiDB v6.2.0 では、データはデフォルトで新しいstorage形式で保存されます。TiFlashを以前のバージョンから v6.2.0 にアップグレードする場合、以前のバージョンのTiFlashでは新しいstorage形式を認識できないため、 TiFlashでインプレース ダウングレードを実行できないことに注意してください。

    TiFlash のアップグレードの詳細については、 TiFlashアップグレード ガイド参照してください。

    ユーザードキュメント #3594 @ ジェイソン・ファン @ リデズ @ ジアキゾ

  • TiFlash は、複数の同時実行シナリオでのデータ スキャン パフォーマンスを最適化します (実験的)

    TiFlash は、同じデータの読み取り操作をマージすることで、同じデータの重複読み取りを減らし、複数の同時タスクの場合にリソース オーバーヘッドを最適化して、データ スキャンのパフォーマンスを向上させます。これにより、同じデータが複数の同時タスクに関係している場合、各タスクで同じデータを個別に読み取る必要がある状況や、同じデータが同時に複数回読み取られる状況を回避できます。

    ユーザードキュメント #5376 @ ジンヘリン

  • TiFlash は、データの一貫性を犠牲にして読み取りと書き込みの速度を向上させるために、データスキャン用の FastScan を追加しました (実験的)

    TiDB は、v6.2.0 で FastScan を導入しました。これは、一貫性チェックのスキップをサポートし、速度を大幅に向上させます。FastScan は、オフライン分析タスクなど、データの高精度と一貫性を必要としないシナリオに適しています。以前は、データの一貫性を確保するために、 TiFlash はデータ スキャン プロセス中にデータ一貫性チェックを実行し、複数の異なるバージョンから必要なデータを見つける必要がありました。

    以前のバージョンから TiDB v6.2.0 にアップグレードすると、データの一貫性を確保するために、すべてのテーブルで FastScan がデフォルトで有効になりません。各テーブルに対して個別に FastScan を有効にすることができます。TiDB v6.2.0 でテーブルが FastScan に設定されている場合、下位バージョンにダウングレードすると無効になりますが、通常のデータ読み取りには影響しません。この場合、強力な一貫性読み取りに相当します。

    ユーザードキュメント #5252 @ ホンユンヤン

安定性

  • TiKV は CPU 使用率の自動調整をサポートします (実験的)

    データベースには通常、内部操作を実行するためのバックグラウンド プロセスがあります。統計情報を収集することで、パフォーマンスの問題を特定し、より適切な実行プランを生成し、データベースの安定性とパフォーマンスを向上させることができます。ただし、より効率的に情報を収集する方法、日常的な使用に影響を与えずにバックグラウンド操作とフォアグラウンド操作のリソース オーバーヘッドのバランスをとる方法は、常にデータベース業界の悩みの種となっています。

    v6.2.0 以降、TiDB は TiKV 構成ファイルを使用してバックグラウンド リクエストの CPU 使用率を設定することをサポートし、これにより、TiKV での統計の自動収集などのバックグラウンド操作の CPU 使用率を制限し、極端なケースでバックグラウンド操作によるユーザー操作のリソースのプリエンプションを回避します。これにより、データベースの操作が安定して効率的になります。

    同時に、TiDB は CPU 使用率の自動調整もサポートしています。その後、TiKV はインスタンスの CPU 使用率に応じて、バックグラウンド リクエストによって占有される CPU リソースを適応的に調整します。この機能はデフォルトでは無効になっています。

    ユーザードキュメント #12503 @ ボーンチェンジャー

使いやすさ

  • TiKVはコマンドラインフラグを使用して詳細な構成情報の一覧表示をサポートします

    TiKV 構成ファイルを使用して、TiKV インスタンスを管理できます。ただし、長期間実行され、異なるユーザーによって管理されているインスタンスの場合、どの構成項目が変更されたか、デフォルト値が何であるかを把握することは困難です。これにより、クラスターのアップグレードやデータの移行時に混乱が生じる可能性があります。TiDB v6.2.0 以降、tikv-server は、すべての TiKV 構成項目のデフォルト値と現在の値を一覧表示する新しいコマンドライン フラグ—-config-infoをサポートし、ユーザーが TiKV プロセスの起動パラメータをすばやく確認できるようにし、使いやすさを向上させます。

    ユーザードキュメント #12492 @ 栄光

MySQL 互換性

  • TiDBは、 ALTER TABLEつのステートメントで複数の列またはインデックスの変更をサポートします。

    v6.2.0 より前の TiDB では、単一の DDL 変更のみがサポートされていたため、異種データベースの移行時に互換性のない DDL 操作が発生し、複雑な DDL ステートメントを TiDB がサポートする複数の単純な DDL ステートメントに変更するには余分な労力がかかります。さらに、一部のユーザーは ORM フレームワークに依存して SQL でアセンブリを作成するため、SQL の非互換性が発生します。v6.2.0 以降、TiDB では単一の SQL ステートメントで複数のスキーマ オブジェクトを変更できるようになりました。これにより、ユーザーが SQL を実装しやすくなり、使いやすさが向上します。

    ユーザードキュメント #14766 @ タンジェンタ

  • トランザクションでのセーブポイントの設定をサポート

    トランザクションとは、データベースがACIDプロパティを保証する一連の連続した操作の論理的な集合です。複雑なアプリケーション シナリオでは、トランザクション内で多くの操作を管理する必要があり、場合によってはトランザクション内で一部の操作をロールバックする必要があることもあります。「セーブポイント」は、トランザクションの内部実装のための名前を付けられるメカニズムです。このメカニズムを使用すると、トランザクション内のロールバック ポイントを柔軟に制御できるため、より複雑なトランザクションを管理し、さまざまなアプリケーションをより自由に設計できます。

    ユーザードキュメント #6840 @ クレイジーcs520

データ移行

  • BRはユーザーと権限データの復元をサポートします

    BR は、通常の復元を実行するときに、ユーザーと権限のデータの復元をサポートします。ユーザーと権限のデータを復元するために追加の復元プランは必要ありません。この機能を有効にするには、 BRを使用してデータを復元するときに--with-sys-tableパラメータを指定します。

    ユーザードキュメント #35395 @ D3ハンター

  • ログとスナップショットのバックアップと復元に基づくポイントインタイムリカバリ(PITR)をサポート

    PITR は、ログとスナップショットのバックアップと復元に基づいて実装されています。これにより、履歴の任意の時点でのクラスターのスナップショットを新しいクラスターに復元できます。この機能は、次のニーズを満たします。

    • 災害復旧における RPO を 20 分未満に短縮します。
    • たとえば、データをエラー イベント前の状態にロールバックするなどして、アプリケーションからの不正な書き込みのケースを処理します。
    • 法令の要件を満たすために履歴データ監査を実行します。

    この機能には使用制限があります。詳細については、ユーザードキュメントを参照してください。

    ユーザードキュメント #29501 @ ジョッカウ

  • DM は継続的なデータ検証をサポートします (実験的)

    継続的なデータ検証は、データ移行中に上流のbinlogと下流に書き込まれたデータを継続的に比較するために使用されます。検証ツールは、不整合なデータや欠落したレコードなどのデータ例外を識別します。

    この機能は、一般的な完全なデータ検証スキームにおける検証の遅れと過剰なリソース消費の問題を解決します。

    ユーザードキュメント #4426 @ D3ハンター @ ブチュイトウデゴウ

  • Amazon S3 バケットのリージョンを自動的に識別する

    データ移行タスクは、Amazon S3 バケットのリージョンを自動的に識別できます。リージョンパラメータを明示的に渡す必要はありません。

    #34275 @ ワンレ1321

  • TiDB Lightningのディスク クォータ設定のサポート (実験的)

    TiDB Lightning が物理インポート モード (backend='local') でデータをインポートする場合、sorted-kv-dir にはソース データを格納するのに十分なスペースが必要です。ディスク スペースが不足すると、インポート タスクが失敗する可能性があります。新しいdisk_quota構成を使用して、 TiDB Lightningが使用するディスク スペースの合計量を制限できるようになりました。これにより、sorted-kv-dir に十分なstorageスペースがない場合でも、インポート タスクを正常に完了できます。

    ユーザードキュメント #446 @ ブチュイトウデゴウ

  • TiDB Lightningは物理インポートモードでの本番クラスタへのデータのインポートをサポートします。

    以前は、 TiDB Lightning (backend='local') の物理インポート モードは、ターゲット クラスターに大きな影響を与えていました。たとえば、移行中は PD グローバル スケジューリングが一時停止されます。そのため、以前の物理インポート モードは、初期データ インポートにのみ適しています。

    TiDB Lightning は、既存の物理インポート モードを改良します。テーブルのスケジュールを一時停止できるようにすることで、インポートの影響がクラスター レベルからテーブル レベルまで軽減されます。つまり、インポートされていないテーブルを読み書きできます。

    この機能は手動で構成する必要はありません。TiDB クラスターが v6.1.0 以降で、 TiDB Lightningが v6.2.0 以降の場合、新しい物理インポート モードが自動的に有効になります。

    ユーザードキュメント #35148 @ 眠いモグラ

  • TiDB Lightningのユーザードキュメントをリファクタリングして、構造をより合理的かつ明確にします。また、「バックエンド」の用語も変更され、新しいユーザーの理解の障壁が低くなります。

    • 「ローカル バックエンド」を「物理インポート モード」に置き換えます。
    • 「tidb backend」を「logical import mode」に置き換えます。

TiDBデータ共有サブスクリプション

  • クラスタ間の RawKV レプリケーションをサポート (実験的)

    新しいコンポーネントTiKV-CDC を使用して、RawKV のデータ変更をサブスクライブし、データ変更を下流の TiKV クラスターにリアルタイムで複製することをサポートし、クラスター間のレプリケーションを可能にします。

    ユーザードキュメント #11965 @ ピンギュ

  • DDLおよびDMLイベントのフィルタリングをサポート

    特別な場合には、増分データ変更ログのフィルター ルールを設定する必要があります。たとえば、DROP TABLE などの高リスクの DDL イベントをフィルターします。v6.2.0 以降、TiCDC は指定されたタイプの DDL イベントのフィルターと、SQL 式に基づく DML イベントのフィルターをサポートします。これにより、TiCDC はより多くのデータ レプリケーション シナリオに適用できます。

    ユーザードキュメント #6160 @ アズドンメン

互換性の変更

システム変数

変数名タイプを変更説明
tidb_enable_new_cost_interface新しく追加されたこの変数は、 コストモデルの実装をリファクタリング有効にするかどうかを制御します。
tidbコストモデル_バージョン新しく追加されたTiDB は、物理的な最適化中にコスト モデルを使用してインデックスと演算子を選択します。この変数は、コスト モデル バージョンを選択するために使用されます。TiDB v6.2.0 では、内部テストで以前のバージョンよりも精度の高いコスト モデル バージョン 2 が導入されています。
tidb_enable_concurrent_ddl新しく追加されたこの変数は、TiDB が同時 DDL ステートメントを使用できるようにするかどうかを制御します。この変数を変更しないでください。この変数を無効にするリスクは不明であり、クラスターのメタデータが破損する可能性があります。
tiflash_fine_grained_shuffle_stream_count新しく追加されたこの変数は、ウィンドウ関数が実行のためにTiFlashにプッシュダウンされるときのウィンドウ関数実行の同時実行レベルを制御します。
tiflash_fine_grained_shuffle_batch_size新しく追加されたFine Grained Shuffle を有効にすると、 TiFlashにプッシュダウンされたウィンドウ関数を並列で実行できます。この変数は、送信者が送信するデータのバッチ サイズを制御します。送信者は、累積行数がこの値を超えるとデータを送信します。
tidb_default_string_match_selectivity新しく追加されたこの変数は、行数を推定するときに、フィルター条件でlikerlike 、およびregexp関数のデフォルトの選択性を設定するために使用されます。この変数は、これらの関数の推定を支援するために TopN を有効にするかどうかも制御します。
tidb_enable_analyze_snapshot新しく追加されたこの変数は、 ANALYZE実行するときに履歴データを読み取るか、最新のデータを読み取るかを制御します。
tidb_generate_binary_plan新しく追加されたこの変数は、スロー ログとステートメントの概要にバイナリ エンコードされた実行プランを生成するかどうかを制御します。
tidb_opt_skew_distinct_agg新しく追加されたこの変数は、オプティマイザがDISTINCTを含む集計関数を 2 レベルの集計関数に書き換えるかどうか (たとえば、 SELECT b, COUNT(DISTINCT a) FROM t GROUP BY bSELECT b, COUNT(a) FROM (SELECT b, a FROM t GROUP BY b, a) t GROUP BY bに書き換える) を設定します。
tidb_enable_noop_variables新しく追加されたこの変数は、 SHOW [GLOBAL] VARIABLESの結果にnoop変数を表示するかどうかを制御します。
tidb_min_paging_size新しく追加されたこの変数は、コプロセッサ ページング要求プロセス中の最大行数を設定するために使用されます。
tidb_txn_commit_batch_size新しく追加されたこの変数は、TiDB が TiKV に送信するトランザクション コミット要求のバッチ サイズを制御するために使用されます。
tidb_enable_change_multi_schema削除されましたこの変数は、1 つALTER TABLEステートメントで複数の列またはインデックスを変更できるかどうかを制御するために使用されます。
tidb_enable_outer_join_reorder修正済みこの変数は、TiDB の結合したテーブルの再配置アルゴリズムが外部結合をサポートするかどうかを制御します。v6.1.0 では、デフォルト値はONで、結合順序の外部結合のサポートがデフォルトで有効になっていることを意味します。v6.2.0 以降では、デフォルト値はOFFで、サポートがデフォルトで無効になっていることを意味します。

コンフィグレーションファイルのパラメータ

コンフィグレーションファイルコンフィグレーションタイプを変更説明
ティビフィードバック確率削除されましたこの構成はもはや有効ではなく、推奨されません。
ティビクエリフィードバック制限削除されましたこの構成はもはや有効ではなく、推奨されません。
ティクヴサーバー.simplify-metrics新しく追加されたこの構成は、返される監視メトリックを簡素化するかどうかを指定します。
ティクヴクォータ.バックグラウンドCPU時間新しく追加されたこの構成は、読み取りおよび書き込み要求を処理するために TiKV バックグラウンドで使用される CPU リソースのソフト制限を指定します。
ティクヴクォータ.バックグラウンド書き込み帯域幅新しく追加されたこの構成は、バックグラウンド トランザクションがデータを書き込む帯域幅のソフト制限を指定します (現在は有効ではありません)。
ティクヴクォータ.バックグラウンド読み取り帯域幅新しく追加されたこの構成は、バックグラウンド トランザクションとコプロセッサーがデータを読み取る帯域幅のソフト制限を指定します (現在は有効ではありません)。
ティクヴクォータの自動調整を有効にする新しく追加されたこの構成では、クォータの自動調整を有効にするかどうかを指定します。この構成項目を有効にすると、TiKV は TiKV インスタンスの負荷に基づいてバックグラウンド要求のクォータを動的に調整します。
ティクヴrocksdb.パイプラインコミットを有効にする削除されましたこの構成はもう有効ではありません。
ティクヴgc-マージ-書き換え削除されましたこの構成はもう有効ではありません。
ティクヴログバックアップを有効にする新しく追加されたこの構成は、TiKV でログ バックアップを有効にするかどうかを制御します。
ティクヴログバックアップのファイルサイズ制限新しく追加されたこの構成は、ログ バックアップ データのサイズ制限を指定します。この制限に達すると、データは自動的に外部storageにフラッシュされます。
ティクヴログバックアップ.初期スキャン保留中のメモリクォータ新しく追加されたこの構成は、増分スキャン データを格納するために使用されるキャッシュの割り当てを指定します。
ティクヴログバックアップの最大フラッシュ間隔新しく追加されたこの構成は、ログ バックアップでバックアップ データを外部storageに書き込む最大間隔を指定します。
ティクヴログバックアップ初期スキャンレート制限新しく追加されたこの構成は、ログ バックアップの増分データ スキャンにおけるスループットのレート制限を指定します。
ティクヴログバックアップ.スレッド数新しく追加されたこの構成は、ログ バックアップで使用されるスレッドの数を指定します。
ティクヴログバックアップ.temp-path新しく追加されたこの構成は、ログ ファイルが外部storageにフラッシュされる前に書き込まれる一時パスを指定します。
ティクヴrocksdb.defaultcf.フォーマットバージョン新しく追加されたSST ファイルの形式バージョン。
ティクヴrocksdb.writecf.フォーマットバージョン新しく追加されたSST ファイルの形式バージョン。
ティクヴrocksdb.lockcf.フォーマットバージョン新しく追加されたSST ファイルの形式バージョン。
PDレプリケーション モード.dr-auto-sync.wait-async-timeout削除されましたこの設定は有効にならず、削除されます。
PDレプリケーション モード.dr-auto-sync.wait-sync-timeout削除されましたこの設定は有効にならず、削除されます。
TiFlashstorage.format_version修正済みデフォルト値format_versionは、v6.2.0 以降のバージョンのデフォルト形式である4に変更され、書き込み増幅とバックグラウンド タスクのリソース消費が削減されます。
TiFlashプロファイル.default.dt_enable_read_thread新しく追加されたこの構成は、storageエンジンからの読み取り要求を処理するためにスレッド プールを使用するかどうかを制御します。デフォルト値はfalseです。
TiFlashプロファイル.default.dt_page_gc_threshold新しく追加されたこの構成は、PageStorage データ ファイル内の有効なデータの最小比率を指定します。
ティCDC--overwrite-checkpoint-ts新しく追加されたこの設定はcdc cli changefeed resumeサブコマンドに追加されます。
ティCDC--確認しない新しく追加されたこの設定はcdc cli changefeed resumeサブコマンドに追加されます。
DMモード新しく追加されたこの設定は検証パラメータです。オプションの値はfullfastnoneです。デフォルト値はnoneで、データは検証されません。
DM労働者数新しく追加されたこの設定はバリデータパラメータであり、バックグラウンドでの検証ワーカーの数を指定します。デフォルト値は4です。
DM行エラー遅延新しく追加されたこの設定は検証パラメータです。指定された時間内に行が検証されない場合、エラー行としてマークされます。デフォルト値は 30m で、これは 30 分を意味します。
TiDB Lightningtikv-importer.store-write-bwlimit新しく追加されたこの設定は、TiDB Lightning が各 TiKV ストアにデータを書き込むときの書き込み帯域幅を決定します。デフォルト値は0で、帯域幅が制限されていないことを示します。
TiDB Lightningtikv-importer.ディスククォータ新しく追加されたこの構成により、 TiDB Lightningが使用するstorageスペースが制限されます。

その他

  • TiFlash format_version 4から3にダウングレードできません。詳細についてはTiFlashアップグレード ガイドを参照してください。
  • v6.2.0 以降のバージョンでは、デフォルト値false dt_enable_logical_splitのままにして、 trueに変更しないことを強くお勧めします。詳細については、既知の問題#5576を参照してください。
  • バックアップ クラスターにTiFlashレプリカがある場合、PITR を実行すると、復元クラスターにはTiFlashレプリカのデータが含まれなくなります。TiFlash レプリカからデータを復元するには、 TiFlashレプリカを手動で構成する必要があります。1 DDL ステートメントを実行すると、PITR が失敗する可能性があります。アップストリーム データベースが TiDB Lightning の物理インポート モードを使用してデータexchange partitionインポートする場合、ログ バックアップでデータをバックアップすることはできません。データのインポート後に完全バックアップを実行することをお勧めします。PITR のその他の互換性の問題については、 PITRの制限を参照してください。
  • TiDB v6.2.0 以降では、データの復元時にパラメータ--with-sys-table=trueを指定することで、 mysqlスキーマでテーブルを復元できます。
  • ALTER TABLEステートメントを実行して複数の列またはインデックスを追加、削除、または変更する場合、TiDB は、同じ DDL ステートメントの変更に関係なく、ステートメントの実行前と実行後のテーブルを比較してテーブルの一貫性をチェックします。一部のシナリオでは、DDL の実行順序は MySQL と完全に互換性がありません。
  • TiDBコンポーネントが v6.2.0 以降の場合、TiKVコンポーネントはv6.2.0 より前のバージョンであってはなりません。
  • TiKV は動的構成サポートする構成項目split.region-cpu-overload-threshold-ratioを追加します。
  • スロークエリログinformation_schema.statements_summaryおよびinformation_schema.slow_query 、バイナリ形式でエンコードされたbinary_planまたは実行プランをエクスポートできます。
  • SHOW TABLE ... REGIONSステートメントにSCHEDULING_CONSTRAINTSSCHEDULING_STATE 2 つの列が追加されました。これらはそれぞれ、SQL の配置におけるリージョンスケジュール制約と現在のスケジュール状態を示します。
  • TiDB v6.2.0 以降では、 ティKV-CDCを介して RawKV のデータ変更をキャプチャできます。
  • ROLLBACK TO SAVEPOINT使用してトランザクションを指定されたセーブポイントまでロールバックすると、MySQL は指定されたセーブポイント後にのみ保持されたロックを解放しますが、TiDB悲観的トランザクションでは、TiDB は指定されたセーブポイント後に保持されたロックをすぐには解放しません。代わりに、TiDB はトランザクションがコミットまたはロールバックされたときにすべてのロックを解放します。
  • TiDB v6.2.0 以降、 SELECT tidb_version()ステートメントはストア タイプ (tikv または unistore) も返します。
  • TiDB には隠しシステム変数がなくなりました。
  • TiDB v6.2.0 では、2 つの新しいシステム テーブルが導入されました。
    • INFORMATION_SCHEMA.VARIABLES_INFO : TiDB システム変数に関する情報を表示するために使用されます。
    • PERFORMANCE_SCHEMA.SESSION_VARIABLES : TiDB セッション レベルのシステム変数に関する情報を表示するために使用されます。

削除された機能

TiDB v6.2.0 以降、 BRを使用した RawKV のバックアップと復元は非推奨になりました。

改善点

  • ティビ

    • SHOW COUNT(*) WARNINGSSHOW COUNT(*) ERRORS#25068 @ いいねを支持する

    • いくつかのシステム変数の検証チェックを追加#35048 @ モルゴ

    • いくつかの型変換のエラーメッセージを最適化#32744 @ ファンレンフー

    • KILLコマンドは DDL 操作#24144 @ モルゴをサポートするようになりました

    • SHOW TABLES/DATABASES LIKE …の出力をMySQL互換にします。出力の列名にはLIKE#35116 @ いいねが含まれます。

    • JSON関連関数のパフォーマンスを向上#35859 @ 翻訳:

    • SHA-2 #35998 @ ウイルスディフェンダーを使用したパスワードログインの検証速度を向上

    • いくつかのログ出力を簡素化する#36011 @ ドヴェーデン

    • コプロセッサー通信プロトコルを最適化します。これにより、データ読み取り時の TiDB プロセスのメモリ消費量が大幅に削減され、テーブルをスキャンしてDumplingでデータをエクスポートするシナリオで OOM の問題がさらに軽減されます。システム変数tidb_enable_pagingは、この通信プロトコルを有効にするかどうかを制御するために使用されます (SESSION または GLOBAL のスコープ)。このプロトコルはデフォルトでは無効になっています。有効にするには、変数値をtrue #35633 @ 天菜あま @ うわーに設定します。

    • 一部の演算子(HashJoin、HashAgg、Update、Delete)のメモリ追跡の精度#35631 エキシウム化( #35634 @ #35635 )( #34096 @ うわー

    • システムテーブルINFORMATION_SCHEMA.DATA_LOCK_WAITは、楽観的トランザクション#34609 @ ロングファンソンのロック情報の記録をサポートします。

    • トランザクション#34456 @ ロングファングソンの監視メトリックを追加します。

  • ティクヴ

    • HTTP 本体のサイズを縮小するために、gzip を使用してメトリック応答を圧縮することをサポートします#12355 @ 栄光
    • Grafana ダッシュボード#12007 @ ケビン・シアンリウの TiKV パネルの読みやすさを向上
    • Apply演算子#12898 @ イーサフローのコミットパイプラインのパフォーマンスを最適化する
    • RocksDBで同時に実行されるサブコンパクション操作の数を動的に変更する機能をサポート ( rocksdb.max-sub-compactions ) #13145 @ イーサフロー
  • PD

    • リージョンのCPU使用率の統計ディメンションをサポートし、Load Base Split #12063 @ じゃんぽーとの使用シナリオを強化します。
  • TiFlash

  • ツール

    • バックアップと復元 (BR)

      • 大規模クラスタ バックアップ#30087 @ モクイシュル28での S3 レート制限によって発生するバックアップ障害を修正するために、バックアップ データ ディレクトリ構造を調整します。
    • ティCDC

    • TiDB Lightning

      • EOF、読み取りインデックスの準備ができていない、コプロセッサーのタイムアウトなどの再試行可能なエラーを追加します#36674#36566 @ D3ハンター
    • TiUP

      • TiUPを使用して新しいクラスタがデプロイされると、node-exporterはバージョン1.3.1を使用し、blackbox-exporterはバージョン0.21.1を使用します。これにより、さまざまなシステムや環境でのデプロイが確実に成功します。

バグの修正

  • ティビ

    • クエリ条件でパーティション キーが使用され、照合がクエリ パーティション テーブル#32749 @ ミョンスの照合と異なる場合にパーティションが誤ってプルーニングされる問題を修正しました。
    • ホスト#33061 @ モルゴに大文字が含まれている場合、 SET ROLE付与されたロールと一致しない問題を修正しました。
    • auto_increment列を#34891 @ 定義2014でドロップできない問題を修正
    • SHOW CONFIG削除された構成項目がいくつか表示される問題を修正#34867 @ モルゴ
    • SHOW DATABASES LIKE …が大文字と小文字を区別する問題を修正#34766 @ エ1イヤ1
    • SHOW TABLE STATUS LIKE ...が大文字と小文字を区別する問題を修正#7518 @ いいね
    • max-index-length非厳密モードでエラーを報告する問題を修正#34931 @ エ1イヤ1
    • ALTER COLUMN ... DROP DEFAULT機能しない問題を修正#35018 @ 定義2014
    • テーブルを作成するときに、列のデフォルト値とタイプが一致せず、自動的に修正されない問題を修正#34881 @ ロイド・ポティガー
    • DROP USER #35059 @ lcwangchaoを実行した後、 mysql.columns_privテーブルのデータが同期的に削除されない問題を修正しました。
    • 一部のシステムのスキーマ内でのテーブル作成を禁止することで、DDL ジャムの問題を修正しました#35205 @ タンジェンタ
    • パーティション化されたテーブルをクエリすると、場合によっては「インデックス範囲外」および「未使用のインデックス」エラーが報告される問題を修正#35181 @ ミョンス
    • INTERVAL expr unit + exprエラー#30253 @ ミョンスを報告する可能性がある問題を修正
    • トランザクション#35644 @ 翻訳者で作成された後に一時テーブルが見つからないバグを修正
    • 照合順序をENUM#31637 @ 翻訳:に設定すると発生するpanic問題を修正
    • 1 つの PD ノードがダウンすると、他の PD ノード#35708 @ タンジェンタを再試行しないため、 information_schema.TIKV_REGION_STATUSのクエリが失敗する問題を修正しました。
    • SHOW CREATE TABLE …セットまたはSET character_set_results = GBK #31338 @ タンジェンタの後のENUM列が正しく表示されない問題を修正しました
    • システム変数tidb_log_file_max_daystidb_config #35190 @ モルゴの誤ったスコープを修正
    • SHOW CREATE TABLEの出力が MySQL のENUMまたはSET列目#36317 @ 定義2014と互換性がない問題を修正しました。
    • テーブル作成時にLONG BYTE列の動作がMySQL #36239 @ 定義2014と互換性がない問題を修正
    • auto_increment = x一時テーブル#36224 @ 翻訳者に反映されない問題を修正
    • 列を同時に変更する際の誤ったデフォルト値を修正#35846 @ 翻訳:
    • 可用性を向上させるために、不健全な TiKV ノードにリクエストを送信しないようにする#34906 @ スティクナーフ
    • LOAD DATA ステートメント#35198 @ スペードA-タンで列リストが機能しない問題を修正
    • いくつかのシナリオで、悲観的ロックが非一意のセカンダリインデックス#36235 @ エキシウムに誤って追加される問題を修正しました。
  • ティクヴ

    • 悲観的トランザクション#11612 @ スティクナーフWriteConflictエラーを報告しないようにする
    • 非同期コミットが有効な場合の悲観的トランザクションにおけるコミットレコードの重複の可能性を修正#12615 @ スティクナーフ
    • storage.api-version1から2 #12600 @ ピンギュに変更するときに TiKV がパニックになる問題を修正しました
    • TiKVとPD #12518 @ 5kbpsの間のリージョンサイズ設定が一致しない問題を修正
    • TiKVがPDクライアント#12506 @ コナー1996 #12827再接続し続ける問題を修正
    • 空の文字列#12673 @ うわーの型変換を実行するときに TiKV がパニックになる問題を修正
    • DATETIME値に小数点が含まれる場合やZ #12739 @ ゲンリキ場合に発生する時間解析エラーの問題を修正しました。
    • Apply 演算子によって TiKV RocksDB に書き込まれるパフォーマンス コンテキストが粗粒度#11044 @ リクササシネーターになる問題を修正しました
    • バックアップ / 輸入 / CDCの設定が無効な場合に TiKV が起動に失敗する問題を修正#12771 @ 3ポインター
    • ピアが同時に分割され、破棄されたときに発生する可能性のあるpanic問題を修正#12825 @ ビジージェイ
    • リージョンマージプロセス#12663 @ ビジージェイでソースピアがスナップショットによってログをキャッチアップするときに発生する可能性のあるpanic問題を修正しました。
    • max_sample_size0 #11192 @ リクササシネーターに設定されている場合に統計を分析すると発生するpanicの問題を修正しました
    • Raft Engineが有効になっているときに暗号化キーがクリーンアップされない問題を修正#12890 @ タボキ
    • get_valid_int_prefix関数が TiDB と互換性がない問題を修正しました。たとえば、 FLOAT型が誤ってINT #13045 @ グオシャオゲに変換されていました。
    • 新しいリージョンのコミットログ期間が長すぎるため、QPS が#13077 @ コナー1996低下する問題を修正しました。
    • リージョンハートビートが中断された後にPDがTiKVに再接続しない問題を修正#12934 @ バッファフライ
  • ツール

    • バックアップと復元 (BR)

      • レート制限されたバックアップタスク#31722 @ モクイシュル28を終了した後、 BR がレート制限をリセットしない問題を修正しました

寄稿者

TiDB コミュニティの以下の貢献者に感謝いたします。

このページは役に立ちましたか?