TiDB 6.2.0 リリースノート

発売日:2022年8月23日

TiDB バージョン: 6.2.0-DMR

注記:

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

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

新機能

SQL

  • 物理データ圧縮機能は一般提供されています

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

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

    ユーザードキュメント #4145 @ ブリーズウィッシュ

可観測性

  • PD から TiDB ダッシュボードを分割

    TiDB ダッシュボードは PD からモニタリング ノードに移動されます。これにより、PD に対する TiDB ダッシュボードの影響が軽減され、PD がより安定します。

    @ ホークソンジー

  • TiDB ダッシュボードにモニタリング ページが追加されました

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

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

    ユーザードキュメント #1381 @ イニシュ9506

  • 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 @ 懐かしい

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

    一部のシナリオでは、 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 @ デイックルプ

  • 一部の分析シナリオで集計操作のパフォーマンスを最適化します。

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

    ユーザードキュメント #36169 @ 修正データベース

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

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

    #32031 @ wjhuang2016

  • オプティマイザーは文字列一致の推定を強化します

    文字列一致シナリオでは、オプティマイザーが行数を正確に推定できない場合、最適な実行プランの生成に影響します。たとえば、条件は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 使用率の自動調整をサポートします (実験的)

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

    TiDB v6.2.0 以降、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 ステートメントに変更するには余分な労力がかかりました。さらに、一部のユーザーは SQL でアセンブリを作成するために ORM フレームワークに依存しているため、SQL の非互換性が発生します。 v6.2.0 以降、TiDB は 1 つの SQL ステートメントでの複数のスキーマ オブジェクトの変更をサポートしています。これは、ユーザーが SQL を実装するのに便利であり、使いやすさが向上します。

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

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

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

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

データ移行

  • 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 バックエンド」を「論理インポート モード」に置き換えます。

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_cost_model_version新しく追加されたTiDB は、物理的な最適化中にコスト モデルを使用してインデックスと演算子を選択します。この変数は、コスト モデルのバージョンを選択するために使用されます。 TiDB v6.2.0 ではコスト モデル バージョン 2 が導入されており、内部テストでは以前のバージョンよりも正確です。
tidb_enable_concurrent_ddl新しく追加されたこの変数は、TiDB が同時 DDL ステートメントを使用できるようにするかどうかを制御します。この変数は変更しないでください。この変数を無効にするリスクは不明ですが、クラスターのメタデータが破損する可能性があります。
tiflash_fine_graned_shuffle_stream_count新しく追加されたこの変数は、ウィンドウ関数が実行のためにTiFlashにプッシュダウンされるときのウィンドウ関数実行の同時実行レベルを制御します。
tiflash_fine_graned_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です。これは、Outer Join に対する Join Reorder のサポートがデフォルトで有効であることを意味します。 v6.2.0 以降、デフォルト値はOFFです。これは、サポートがデフォルトで無効になっていることを意味します。

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

コンフィグレーションファイルコンフィグレーション種類の変更説明
TiDBフィードバック確率削除されましたこの構成はもう有効ではないため、お勧めできません。
TiDBクエリフィードバック制限削除されましたこの構成はもう有効ではないため、お勧めできません。
TiKVサーバーの.simplify-metrics新しく追加されたこの構成では、返される監視メトリックを簡素化するかどうかを指定します。
TiKVクォータ.バックグラウンド CPU 時間新しく追加されたこの構成では、読み取りおよび書き込みリクエストを処理するために TiKV バックグラウンドで使用される CPU リソースのソフト制限を指定します。
TiKVクォータ.バックグラウンド書き込み帯域幅新しく追加されたこの構成では、バックグラウンド トランザクションがデータを書き込む帯域幅のソフト制限を指定します (現在は有効ではありません)。
TiKVクォータ.バックグラウンド読み取り帯域幅新しく追加されたこの構成では、バックグラウンド トランザクションとコプロセッサーがデータを読み取る帯域幅のソフト制限を指定します (現在は有効ではありません)。
TiKVquota.enable-auto-tune新しく追加されたこの構成では、クォータの自動調整を有効にするかどうかを指定します。この構成項目が有効になっている場合、TiKV は TiKV インスタンスの負荷に基づいてバックグラウンド リクエストのクォータを動的に調整します。
TiKVrocksdb.enable-pipelined-commit削除されましたこの構成は無効になりました。
TiKVgc-マージ-リライト削除されましたこの構成は無効になりました。
TiKVログバックアップ.有効にする新しく追加されたこの構成は、TiKV でログ バックアップを有効にするかどうかを制御します。
TiKVログバックアップ.ファイルサイズ制限新しく追加されたこの構成では、ログ バックアップ データのサイズ制限を指定します。この制限に達すると、データは自動的に外部storageにフラッシュされます。
TiKVlog-backup.initial-scan-pending-memory-quota新しく追加されたこの構成では、増分スキャン データの保存に使用されるキャッシュのクォータを指定します。
TiKVログバックアップ.最大フラッシュ間隔新しく追加されたこの構成では、ログバックアップにおいてバックアップデータを外部storageに書き込む最大間隔を指定します。
TiKVログバックアップ.初期スキャンレート制限新しく追加されたこの構成では、ログ バックアップの増分データ スキャンにおけるスループットのレート制限を指定します。
TiKVログバックアップ.num-threads新たに追加されましたこの構成では、ログのバックアップに使用されるスレッドの数を指定します。
TiKVログバックアップ.一時パス新しく追加されたこの構成では、ログ ファイルが外部storageにフラッシュされる前に書き込まれる一時パスを指定します。
TiKVrocksdb.defaultcf.format-version新たに追加されましたSST ファイルのフォーマット バージョン。
TiKVrocksdb.writecf.format-version新しく追加されたSST ファイルのフォーマット バージョン。
TiKVrocksdb.lockcf.format-version新しく追加されたSST ファイルのフォーマット バージョン。
PDレプリケーションモード.dr-auto-sync.wait-async-timeout削除されましたこの構成は有効にならず、削除されます。
PDレプリケーションモード.dr-auto-sync.wait-sync-timeout削除されましたこの構成は有効にならず、削除されます。
TiFlashstorage.format_version修正済みデフォルト値format_versionが、v6.2.0 以降のバージョンのデフォルト形式である4に変更され、書き込み増幅とバックグラウンド タスクのリソース消費が削減されます。
TiFlashprofiles.default.dt_enable_read_thread新しく追加されたこの構成は、storageエンジンからの読み取りリクエストを処理するためにスレッド プールを使用するかどうかを制御します。デフォルト値はfalseです。
TiFlashprofiles.default.dt_page_gc_threshold新たに追加されましたこの構成では、PageStorage データ ファイル内の有効なデータの最小比率を指定します。
TiCDC--上書きチェックポイント-ts新しく追加されたこの設定はcdc cli changefeed resumeサブコマンドに追加されます。
TiCDC--いいえ確認新しく追加されたこの設定はcdc cli changefeed resumeサブコマンドに追加されます。
DMモード新たに追加されましたこの構成はバリデーターパラメーターです。オプションの値はfullfast 、およびnoneです。デフォルト値はnoneで、データは検証されません。
DMワーカー数新しく追加されたこの構成はバリデーター・パラメーターであり、バックグラウンドでの検証ワーカーの数を指定します。デフォルト値は4です。
DM行エラー遅延新しく追加されたこの構成はバリデーターパラメーターです。指定された時間内に行が検証されなかった場合、その行はエラー行としてマークされます。デフォルト値は 30m、つまり 30 分です。
TiDB Lightningtikv-importer.store-write-bwlimit新しく追加されたこの構成は、 TiDB Lightning が各 TiKV ストアにデータを書き込むときの書き込み帯域幅を決定します。デフォルト値は0で、帯域幅が制限されていないことを示します。
TiDB Lightningtikv-importer.disk-quota新しく追加されたこの構成では、 TiDB Lightningによって使用されるstorageスペースが制限されます。

その他

  • TiFlash format_version 4から3にダウングレードすることはできません。詳細はTiFlashアップグレード ガイドを参照してください。
  • v6.2.0 以降のバージョンでは、デフォルト値false dt_enable_logical_splitし、 trueに変更しないことを強くお勧めします。詳細については、既知の問題#5576を参照してください。
  • バックアップ クラスターにTiFlashレプリカがある場合、PITR を実行すると、復元クラスターにはTiFlashレプリカのデータが含まれなくなります。 TiFlashレプリカからデータを復元するには、 TiFlashレプリカを手動で構成する必要があります。 exchange partition DDL ステートメントを実行すると、PITR が失敗する可能性があります。アップストリーム データベースが TiDB Lightning の物理インポート モードを使用してデータをインポートする場合、データはログ バックアップにバックアップできません。データのインポート後に完全バックアップを実行することをお勧めします。 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 以降、 TiKV-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 のバックアップと復元は非推奨になりました。

改善点

  • TiDB

    • SHOW COUNT(*) WARNINGSSHOW COUNT(*) ERRORSステートメントをサポート#25068 @ リクズン

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

    • 一部の型変換のエラー メッセージを最適化#32744 @ ファンレンフー

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

    • もうSHOW TABLES/DATABASES LIKE …つの出力を MySQL 互換にします。出力の列名にはLIKE#35116 @ リクズンが含まれます。

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

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

    • 一部のログ出力を簡素化#36011 @ ドヴィーデン

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

    • 一部の演算子 (HashJoin、HashAgg、Update、Delete) のメモリ追跡の精度を最適化します ( #35634#35631#35635 @ wshwsh12 ) ( #34096 @ エキシウム )

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

    • トランザクション#34456 @ 長い牙の歌の監視メトリクスを追加します。

  • TiKV

    • gzip を使用したメトリクス応答の圧縮をサポートし、HTTP 本文のサイズ#12355 @ グロルフを削減します。
    • Grafana ダッシュボード#12007 @ ケビン・シャンリウの TiKV パネルの読みやすさを改善しました。
    • 適用オペレーター#12898 @ エーテルフローのコミット パイプラインのパフォーマンスを最適化します。
    • RocksDB で同時に実行されるサブコンパクション操作の数の動的変更をサポート ( rocksdb.max-sub-compactions ) #13145 @ エーテルフロー
  • PD

    • リージョンの CPU 使用率の統計的側面をサポートし、ロード ベース分割#12063 @ ジンポタトの使用シナリオを強化します。
  • TiFlash

  • ツール

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

      • バックアップ データ ディレクトリ構造を調整して、大規模クラスタ バックアップ#30087 @ モクイシュル28での S3 レート制限によって引き起こされるバックアップの失敗を修正します。
    • TiCDC

    • TiDB Lightning

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

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

バグの修正

  • TiDB

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

    • 悲観的トランザクション#11612 @ スティックナーフWriteConflictエラーの報告を避ける
    • 非同期コミットが有効になっている場合、悲観的トランザクションで発生する可能性のある重複コミット レコードを修正#12615 @ スティックナーフ
    • storage.api-version1から2 #12600 @ ピンギュに変更すると TiKV がパニックになる問題を修正
    • TiKV と PD #12518 @ 5kbpsの間の一貫性のないリージョンサイズ構成の問題を修正
    • TiKV が PD クライアント#12506#12827 @ コナー1996に再接続し続ける問題を修正します。
    • 空の文字列#12673 @ wshwsh12の型変換を実行すると 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 コミュニティの以下の貢献者に感謝いたします。

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

Playground
新規
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.