TiDB 7.6.0 リリースノート

発売日: 2024年1月25日

TiDB バージョン: 7.6.0

クイックアクセス: クイックスタート

7.6.0 では、次の主要な機能と改善が導入されています。

カテゴリー機能/拡張機能説明
スケーラビリティとパフォーマンスデータベース間のSQLバインディング同じスキーマを持つ数百のデータベースを管理する場合、これらのデータベース全体に SQL バインディングを適用する必要があることがよくあります。たとえば、SaaS または PaaS データ プラットフォームでは、各ユーザーは通常、同じスキーマを持つ個別のデータベースを操作し、それらに対して同様の SQL クエリを実行します。この場合、各データベースに SQL を 1 つずつバインドするのは現実的ではありません。TiDB v7.6.0 では、すべてのスキーマが同等のデータベース間でバインディングを一致させることができるデータベース間 SQL バインディングが導入されています。
スナップショットの復元を最大 10 倍高速化 (実験的) BR v7.6.0 では、クラスターのスナップショット復元を高速化するための実験的粗粒度のリージョン分散アルゴリズムが導入されています。多数の TiKV ノードを持つクラスターでは、このアルゴリズムにより、ノード間で負荷がより均等に分散され、ノードごとのネットワーク帯域幅がより有効に活用されるため、クラスターのリソース効率が大幅に向上します。実際のいくつかのケースでは、この改善により復元プロセスが最大約 10 倍高速化されます。
バッチでテーブルを作成する場合、最大 10 倍の速度を実現 (実験的) v7.6.0 で新しい DDLアーキテクチャが実装されたことで、バッチ テーブル作成のパフォーマンスが著しく向上し、最大 10 倍高速化しました。この大幅な機能強化により、多数のテーブルの作成に必要な時間が大幅に短縮されます。この高速化は、数万から数十万に及ぶ大量のテーブルが一般的に存在する SaaS シナリオで特に顕著です。
アクティブ PD フォロワーを使用して PD のリージョン情報クエリ サービスを強化する (実験的) TiDB v7.6.0 では、PD フォロワーがリージョン情報クエリ サービスを提供できるようにする実験的機能「Active PD Follower 」が導入されています。この機能により、多数の TiDB ノードとリージョンを持つクラスターでGetRegionおよびScanRegions要求を処理する PD クラスターの機能が向上し、PD リーダーの CPU 負荷が軽減されます。
信頼性と可用性TiProxy をサポート (実験的)デプロイメント ツールを使用して簡単にデプロイできる TiProxy サービスを完全にサポートし、ローリング再起動、アップグレード、またはスケーリング イベントを通じて TiDB への接続を管理および維持します。
データ移行 (DM) が MySQL 8.0 (GA) を正式にサポートこれまで、DM を使用して MySQL 8.0 からデータを移行することは実験的機能であり、本番環境では使用できませんでした。TiDB v7.6.0 では、この機能の安定性と互換性が強化され、本番環境で MySQL 8.0 から TiDB にデータをスムーズかつ迅速に移行できるようになります。v7.6.0 では、この機能が一般提供 (GA) されます。

機能の詳細

スケーラビリティ

  • アクティブ PDFollower機能を使用して、PD のリージョン情報クエリ サービスのスケーラビリティを強化します (実験的) #7431 @ キャビンフィーバーB

    多数のリージョンを持つ TiDB クラスターでは、ハートビートの処理とタスクのスケジュール設定のオーバーヘッドが増加するため、PD リーダーの CPU 負荷が高くなる可能性があります。クラスターに多数の TiDB インスタンスがあり、リージョン情報に対する要求の同時実行性が高い場合、PD リーダーの CPU 負荷がさらに増加し​​、PD サービスが利用できなくなる可能性があります。

    高可用性を確保するために、TiDB v7.6.0 では、PD のリージョン情報クエリ サービスのスケーラビリティを強化する Active PD Follower機能の使用をサポートしています。システム変数pd_enable_follower_handle_regionONに設定することで、Active PD Follower機能を有効にすることができます。この機能を有効にすると、TiDB はリージョン情報要求をすべての PD サーバーに均等に分散し、PD フォロワーもリージョン要求を処理できるため、PD リーダーの CPU 負荷が軽減されます。

    詳細についてはドキュメンテーション参照してください。

パフォーマンス

  • BR はスナップショットの復元速度を最大 10 倍向上させます (実験的) #33937 #49886 @ 3ポインター

    TiDB クラスターのスケールアップに伴い、ビジネスのダウンタイムを最小限に抑えるために、クラスターを障害から迅速に復元することがますます重要になります。v7.6.0 より前では、リージョン分散アルゴリズムがパフォーマンス復元における主なボトルネックでした。v7.6.0 では、 BR はリージョン分散アルゴリズムを最適化し、復元タスクを多数の小さなタスクにすばやく分割し、それらをすべての TiKV ノードに一括で分散します。新しい並列復元アルゴリズムは、各 TiKV ノードのリソースを最大限に活用し、迅速な並列復元を実現します。実際のいくつかのケースでは、大規模なリージョンシナリオでクラスターのスナップショット復元速度が約 10 倍向上しています。

    新しい粗粒度リージョン散布アルゴリズムは実験的です。これを使用するには、 brコマンドの--granularity="coarse-grained"パラメータを設定します。例:

    br restore full \ --pd "${PDIP}:2379" \ --storage "s3://${Bucket}/${Folder}" \ --s3.region "${region}" \ --granularity "coarse-grained" \ --send-credentials-to-tikv=true \ --log-file restorefull.log

    詳細についてはドキュメンテーション参照してください。

  • Titanエンジンはデフォルトで有効になっています#16245 @ コナー1996 @ v01dスター @ トニー

    TiDB 全体のテーブル書き込みシナリオをより適切にサポートするため、特に JSON をサポートするために、TiDB v7.6.0 以降では Titan エンジンがデフォルトで有効になっています。Titan エンジンは、32 KB を超える大きな値を RocksDB の LSM ツリーから自動的に分離し、Titan に別々に保存して、大きな値の処理を最適化します。Titan エンジンは、TiKV が使用する RocksDB 機能と完全に互換性があります。この戦略的なシフトにより、書き込み増幅効果が軽減されるだけでなく、大きな値を含む書き込み、更新、およびポイント クエリ シナリオのパフォーマンスが向上します。さらに、範囲スキャン シナリオでは、Titan エンジンの最適化により、デフォルト構成の RocksDB に匹敵するパフォーマンスが実現されています。

    この構成変更は、以前のバージョンとの互換性が維持されます。既存の TiDB クラスターの場合、TiDB v7.6.0 以降のバージョンにアップグレードすると、Titan エンジンはデフォルトで無効になります。特定の要件に基づいて、Titan エンジンを手動で有効または無効にすることができます。

    詳細についてはドキュメンテーション参照してください。

  • 次の文字列関数を TiKV #48170 @ ゲンリキにプッシュダウンすることをサポートします

    • LOWER()
    • UPPER()

    詳細についてはドキュメンテーション参照してください。

  • 次のJSON関数をTiFlashにプッシュダウンすることをサポートします#48350 #48986 #48994 #49345 #49392 @ シーライズ @ いいえ

    • JSON_UNQUOTE()
    • JSON_ARRAY()
    • JSON_DEPTH()
    • JSON_VALID()
    • JSON_KEYS()
    • JSON_CONTAINS_PATH()

    詳細についてはドキュメンテーション参照してください。

  • テーブル作成のパフォーマンスを10倍向上(実験的) #49752 @ 翻訳者

    以前のバージョンでは、上流データベースから TiDB に数万のテーブルを移行する場合、TiDB がこれらのテーブルを作成するのは時間がかかり、非効率的でした。v7.6.0 以降、TiDB は新しい TiDB DDL V2アーキテクチャを導入します。システム変数tidb_ddl_versionを構成することでこれを有効にできます。以前のバージョンと比較して、新しいバージョンの DDL ではバッチ テーブルの作成パフォーマンスが 10 倍向上し、テーブルの作成時間が大幅に短縮されます。

    詳細についてはドキュメンテーション参照してください。

  • 定期的な完全圧縮をサポート(実験的) #12729 アファインベルグ

    v7.6.0 以降、TiDB は TiKV の定期的な完全圧縮をサポートしています。この機能は、冗長なデータ バージョンを排除するためのガベージ コレクション (GC) の拡張機能として機能します。アプリケーション アクティビティに明らかなピークと谷が見られるようなシナリオでは、この機能を使用してアイドル期間中にデータ圧縮を実行し、ピーク期間中のパフォーマンスを向上させることができます。

    TiKV 構成項目periodic-full-compact-start-timesを構成することで、TiKV が定期的な完全圧縮を開始する特定の時間を設定し、 periodic-full-compact-start-max-cpuを構成することで TiKV の定期的な完全圧縮の最大 CPU 使用率を制限できます。デフォルト値periodic-full-compact-start-max-cpuは 10% です。つまり、定期的な完全圧縮は TiKV の CPU 使用率が 10% 未満の場合にのみトリガーされ、アプリケーション トラフィックへの影響が軽減されます。

    詳細についてはドキュメンテーション参照してください。

信頼性

  • クロスデータベース実行プランバインディング#48875 @ qw4990

    TiDB で SaaS サービスを実行する場合、データの保守と管理を容易にするために、各テナントのデータを別々のデータベースに保存するのが一般的です。その結果、同じテーブルとインデックスの定義、および類似の SQL ステートメントを持つデータベースが何百も作成されます。このようなシナリオでは、SQL ステートメントの実行プラン バインディングを作成すると、通常、このバインディングは他のデータベースの SQL ステートメントにも適用されます。

    このシナリオでは、TiDB v7.6.0 でクロスデータベース バインディング機能が導入され、異なるデータベースにある場合でも、同じスキーマを持つ SQL ステートメントに同じ実行プランをバインドできるようになりました。クロスデータベース バインディングを作成するときは、次の例に示すように、ワイルドカード*を使用してデータベース名を表す必要があります。バインディングが作成されると、テーブルt1t2がどのデータベースにあるかに関係なく、TiDB はこのバインディングを使用して同じスキーマを持つすべての SQL ステートメントの実行プランを生成しようとします。これにより、データベースごとにバインディングを作成する手間が省けます。

    CREATE GLOBAL BINDING FOR USING SELECT /*+ merge_join(t1, t2) */ t1.id, t2.amount FROM *.t1, *.t2 WHERE t1.id = t2.id;

    さらに、クロスデータベース バインディングは、ユーザー データとワークロードの不均一な分散と急速な変化によって引き起こされる SQL パフォーマンスの問題を効果的に軽減できます。SaaS プロバイダーはクロスデータベース バインディングを使用して、大量のデータを持つユーザーによって検証された実行プランを修正し、すべてのユーザーの実行プランを修正できます。SaaS プロバイダーにとって、この機能は利便性とエクスペリエンスの大幅な向上をもたらします。

    クロスデータベース バインディングによって発生するシステム オーバーヘッド (1% 未満) のため、TiDB はデフォルトでこの機能を無効にします。クロスデータベース バインディングを使用するには、まずtidb_opt_enable_fuzzy_bindingシステム変数を有効にする必要があります。

    詳細についてはドキュメンテーション参照してください。

可用性

  • プロキシコンポーネントTiProxy をサポート (実験的) #413 @ 翻訳者 @ xhebox

    TiProxy は、クライアントと TiDBサーバーの間にある TiDB の公式プロキシコンポーネントです。TiDB の負荷分散機能と接続永続化関数を提供し、TiDB クラスターのワークロードのバランスをより良くし、メンテナンス操作中にデータベースへのユーザー アクセスに影響を与えないようにします。

    • TiDB クラスターのローリング再起動、ローリングアップグレード、スケールインなどのメンテナンス操作中は、TiDB サーバーに変更が発生し、クライアントと TiDB サーバー間の接続が中断されます。TiProxy を使用すると、これらのメンテナンス操作中に接続を他の TiDB サーバーにスムーズに移行できるため、クライアントに影響が及ぶことはありません。
    • TiDBサーバーへのクライアント接続は、他の TiDB サーバーに動的に移行できません。複数の TiDB サーバーのワークロードが不均衡な場合、クラスター全体のリソースは十分であるにもかかわらず、特定の TiDB サーバーでリソースが枯渇し、レイテンシーが大幅に増加する状況が発生する可能性があります。この問題に対処するために、TiProxy は接続の動的移行を提供します。これにより、クライアントに影響を与えることなく、接続を 1 つの TiDBサーバーから別の TiDB サーバーに移行できるため、TiDB クラスターの負荷分散が実現します。

    TiProxy はTiUP、 TiDB Operator、および TiDB Dashboard に統合されており、構成、展開、保守が容易になります。

    詳細についてはドキュメンテーション参照してください。

構文

  • LOAD DATA明示的なトランザクションとロールバックをサポート#49079 @ エキシウム

    MySQL と比較すると、 LOAD DATAステートメントのトランザクション動作は、v7.6.0 より前の TiDB バージョンによって異なるため、このステートメントを使用する際には追加の調整が必要になる場合があります。具体的には、v4.0.0 より前では、 LOAD DATA 20000 行ごとにコミットします。v4.0.0 から v6.6.0 まで、TiDB はデフォルトで 1 つのトランザクションですべての行をコミットし、 tidb_dml_batch_sizeシステム変数を設定することで固定行数ごとにコミットすることもサポートします。v7.0.0 以降では、 tidb_dml_batch_size LOAD DATAには影響しなくなり、TiDB は 1 つのトランザクションですべての行をコミットします。

    v7.6.0 以降、TiDB はトランザクション内のLOAD DATA他の DML ステートメントと同じ方法、特に MySQL と同じ方法で処理します。トランザクション内のLOAD DATAステートメントは、現在のトランザクションを自動的にコミットしたり、新しいトランザクションを開始したりしなくなりました。さらに、トランザクション内のLOAD DATAステートメントを明示的にコミットまたはロールバックできます。さらに、 LOAD DATAステートメントは、TiDB トランザクション モード設定 (楽観的トランザクションまたは悲観的トランザクション) の影響を受けます。これらの改善により、MySQL から TiDB への移行プロセスが簡素化され、より統一された制御可能なデータ インポート エクスペリエンスが提供されます。

    詳細についてはドキュメンテーション参照してください。

DB操作

  • FLASHBACK CLUSTER正確なTSO #48372 @ ボーンチェンジャーの指定をサポートします

    TiDB v7.6.0 では、フラッシュバック機能がさらに強力かつ正確になりました。指定された履歴タイムスタンプへのクラスターのロールバックをサポートするだけでなく、 FLASHBACK CLUSTER TO TSOを使用して正確なリカバリTSOを指定できるため、データリカバリの柔軟性が向上します。たとえば、この機能は TiCDC で使用できます。データレプリケーションを一時停止し、ダウンストリーム TiDB クラスターでオンライン前の読み取り/書き込みテストを実行した後、この機能により、クラスターは一時停止した TSO に迅速かつ適切にロールバックし、TiCDC を使用してデータのレプリケーションを続行できます。これにより、オンライン前の検証プロセスが合理化され、データ管理が簡素化されます。

    FLASHBACK CLUSTER TO TSO 445494839813079041;

    詳細についてはドキュメンテーション参照してください。

  • 長時間実行中のアイドルトランザクションの自動終了をサポート#48714 @ クレイジーcs520

    ネットワークの切断やアプリケーション障害が発生するシナリオでは、 COMMIT / ROLLBACKステートメントがデータベースに送信されない可能性があります。これにより、データベース ロックの解放が遅れ、トランザクション ロック待機が発生し、データベース接続が急増する可能性があります。このような問題はテスト環境では一般的ですが、本番環境でも時々発生する可能性があり、迅速に診断することが難しい場合があります。これらの問題を回避するために、TiDB v7.6.0 では、長時間実行されているアイドル トランザクションを自動的に終了するtidb_idle_transaction_timeoutシステム変数が導入されています。トランザクション状態のユーザー セッションが、この変数の値を超える期間アイドル状態のままになると、TiDB はトランザクションのデータベース接続を終了し、ロールバックします。

    詳細についてはドキュメンテーション参照してください。

  • 実行プランバインディングを作成するための構文を簡素化する#48876 @ qw4990

    TiDB v7.6.0 では、実行プラン バインディングを作成するための構文が簡素化されています。実行プラン バインディングを作成するときに、元の SQL ステートメントを指定する必要がなくなりました。TiDB は、ヒント付きのステートメントに基づいて元の SQL ステートメントを識別します。この改善により、実行プラン バインディングを作成する際の利便性が向上します。例:

    CREATE GLOBAL BINDING USING SELECT /*+ merge_join(t1, t2) */ * FROM t1, t2 WHERE t1.id = t2.id;

    詳細についてはドキュメンテーション参照してください。

  • TiDB #49237 @ ジグアンの単一行レコードのサイズ制限を動的に変更する機能をサポート

    v7.6.0 より前では、トランザクション内の単一行レコードのサイズは、TiDB 構成項目txn-entry-size-limitによって制限されていました。サイズ制限を超えると、TiDB はentry too largeエラーを返します。この場合、TiDB 構成ファイルを手動で変更し、変更を有効にするために TiDB を再起動する必要があります。管理オーバーヘッドを削減するために、TiDB v7.6.0 では、 txn-entry-size-limit構成項目の値を動的に変更することをサポートするシステム変数tidb_txn_entry_size_limitが導入されました。この変数のデフォルト値は0です。つまり、TiDB はデフォルトで構成項目txn-entry-size-limitの値を使用します。この変数がゼロ以外の値に設定されている場合、TiDB はトランザクション内の行レコードのサイズをこの変数の値に制限します。この改善により、TiDB を再起動せずにシステム構成を調整する柔軟性が向上しました。

    詳細についてはドキュメンテーション参照してください。

  • BRはデフォルトで、ユーザーデータ#48567 @ ボーンチェンジャー #49627 @ リーヴルスなどのシステムテーブルを復元します。

    v5.1.0 以降では、スナップショットをバックアップすると、 BR はmysqlスキーマ内のシステム テーブルを自動的にバックアップしますが、デフォルトではこれらのシステム テーブルを復元しません。v6.2.0 では、 BR は一部のシステム テーブル内のデータの復元をサポートするためにパラメータ--with-sys-tableを追加し、操作の柔軟性を高めています。

    管理オーバーヘッドをさらに削減し、より直感的なデフォルト動作を提供するために、バージョン 7.6.0 以降、 BR はパラメータ--with-sys-tableデフォルトで有効にし、 cloud_adminユーザーのユーザー データの復元をサポートします。つまり、 BR は復元中に一部のシステム テーブル (特にユーザー アカウントとテーブル統計データ) をデフォルトで復元します。この改善により、バックアップと復元の操作がより直感的になり、手動構成の負担が軽減され、全体的な操作エクスペリエンスが向上します。

    詳細についてはドキュメンテーション参照してください。

可観測性

  • リソース制御に関する可観測性を強化する#49318 @ 栄光 @ バッファフライ @ ノルーシュ

    リソース グループを使用してアプリケーションのワークロードを分離するユーザーが増えるにつれて、リソース コントロールはリソース グループに基づいて拡張データを提供します。これにより、リソース グループのワークロードと設定を監視し、次のような問題を迅速に特定して正確に診断できるようになります。

    • 遅いクエリ : リソース グループ名、リソース ユニット (RU) の消費量、およびリソースの待機時間を追加します。
    • ステートメント要約表 : リソース グループ名、RU 消費量、リソースの待機時間を追加します。
    • システム変数tidb_last_query_infoに、SQL ステートメントによって消費されたロシアを示す新しいエントリru_consumptionを追加します。この変数を使用して、セッション内の最後のステートメントのリソース消費量を取得できます。
    • リソース グループに基づいてデータベース メトリックを追加します: QPS/TPS、実行時間 (P999/P99/P95)、障害数、接続数。
    • すべてのリソース グループの毎日消費された RU の履歴レコードを記録するために、システム テーブルrequest_unit_by_groupを追加します。

    詳細については、 遅いクエリを特定するステートメント要約表リソース管理の主要な監視指標を参照してください。

データ移行

  • MySQL 8.0 の移行のためのデータ移行 (DM) サポートが一般提供 (GA) される#10405 @ 翻訳者

    これまで、DM を使用して MySQL 8.0 からデータを移行することは実験的機能であり、本番環境では使用できませんでした。TiDB v7.6.0 では、この機能の安定性と互換性が強化され、本番環境で MySQL 8.0 から TiDB にデータをスムーズかつ迅速に移行できるようになります。v7.6.0 では、この機能が一般提供 (GA) されます。

    詳細についてはドキュメンテーション参照してください。

  • TiCDC は双方向レプリケーション (BDR) モードでの DDL ステートメントのレプリケーションをサポートしています (実験的) #10301 #48519 @ ok江 @ アズドンメン

    v7.6.0 以降、TiCDC は双方向レプリケーションが構成された DDL ステートメントのレプリケーションをサポートします。以前は、DDL ステートメントのレプリケーションは TiCDC でサポートされていなかったため、TiCDC の双方向レプリケーションのユーザーは、両方の TiDB クラスターに DDL ステートメントを個別に適用する必要がありました。この機能により、TiCDC ではクラスターにPRIMARY BDR ロールを割り当てることができ、そのクラスターから下流のクラスターへの DDL ステートメントのレプリケーションが可能になります。

    詳細についてはドキュメンテーション参照してください。

  • TiCDC は、チェンジフィード#10289 @ ホンユンヤンのダウンストリーム同期ステータスのクエリをサポートしています。

    v7.6.0 以降、TiCDC では、指定されたレプリケーション タスク (changefeed) のダウンストリーム同期ステータスを照会するための新しい API GET /api/v2/changefeed/{changefeed_id}/syncedが導入されています。この API を使用すると、TiCDC が受信したアップストリーム データがダウンストリーム システムに完全に同期されているかどうかを判断できます。

    詳細についてはドキュメンテーション参照してください。

  • TiCDC は CSV 出力プロトコル#9969 @ 張金鵬87で 3 文字の区切り文字のサポートを追加します

    v7.6.0 以降では、CSV 出力プロトコルの区切り文字を 1 ~ 3 文字の長さに指定できます。この変更により、出力内のフィールドを区切るために 2 文字の区切り文字 ( ||$^など) または 3 文字の区切り文字 ( |@|など) を使用してファイル出力を生成するように TiCDC を構成できます。

    詳細についてはドキュメンテーション参照してください。

互換性の変更

注記:

このセクションでは、v7.5.0 から現在のバージョン (v7.6.0) にアップグレードするときに知っておく必要のある互換性の変更について説明します。v7.4.0 以前のバージョンから現在のバージョンにアップグレードする場合は、中間バージョンで導入された互換性の変更も確認する必要がある可能性があります。

MySQL 互換性

  • TiDB v7.6.0 より前では、 LOAD DATA操作はすべての行を単一のトランザクションでコミットするか、トランザクションをバッチでコミットしていましたが、これは MySQL の動作とは少し異なります。v7.6.0 以降、TiDB は MySQL と同じようにトランザクション内のLOAD DATAを処理します。トランザクション内のLOAD DATAステートメントは、現在のトランザクションを自動的にコミットしたり、新しいトランザクションを開始したりし#49079なりました。さらに、トランザクション内のLOAD DATAステートメントを明示的にコミットまたはロールバックできます。さらに、 LOAD DATAステートメントは TiDB トランザクション モード設定 (楽観的トランザクションまたは悲観的トランザクション) の影響を受けます。11 @ エキシウム

システム変数

変数名タイプを変更説明
tidb_auto_analyze_partition_batch_size修正済みさらにテストを行った後、デフォルト値を1から128に変更します。
tidb_sysproc_scan_concurrency修正済み大規模クラスターでは、 scan操作の同時実行性をANALYZEのニーズに合わせて高く調整できるため、最大値を256から4294967295に変更します。
tidb_analyze_distsql_scan_concurrency新しく追加されたANALYZE操作を実行するときのscan操作の同時実行性を設定します。デフォルト値は4です。
tidb_ddl_version新しく追加されたTiDB DDL V2有効にするかどうかを制御します。有効にするには値を2に設定し、無効にするには1設定します。デフォルト値は1です。TiDB DDL V2 を有効にすると、DDL ステートメントは TiDB DDL V2 を使用して実行されます。テーブルを作成するための DDL ステートメントの実行速度は、TiDB DDL V1 と比較して 10 倍向上します。
tidb_enable_global_index新しく追加されたパーティション化されたGlobal indexesの作成をサポートするかどうかを制御します。デフォルト値はOFFです。5 Global index現在開発段階にあります。このシステム変数の値を変更することはお勧めしません
tidb_idle_transaction_timeout新しく追加されたユーザー セッション内のトランザクションのアイドル タイムアウトを制御します。ユーザー セッションがトランザクション状態にあり、この変数の値を超える期間アイドル状態のままになると、TiDB はセッションを終了します。デフォルト値0無制限を意味します。
tidb_opt_enable_fuzzy_binding新しく追加されたクロスデータベース バインディング機能を有効にするかどうかを制御します。デフォルト値OFF 、クロスデータベース バインディングが無効であることを意味します。
tidb_txn_entry_size_limit新しく追加されたTiDB 構成項目performance.txn-entry-size-limitを動的に変更します。これにより、TiDB 内の 1 行のデータのサイズが制限されます。この変数のデフォルト値は0です。つまり、TiDB はデフォルトで構成項目txn-entry-size-limitの値を使用します。この変数がゼロ以外の値に設定されている場合、 txn-entry-size-limitも同じ値に設定されます。
pd_enable_follower_handle_region新しく追加されたアクティブPDFollower機能 (実験的) を有効にするかどうかを制御します。値がOFFの場合、TiDB は PD リーダーからのみリージョン情報を取得します。値がONの場合、TiDB はリージョン情報の要求をすべての PD サーバーに均等に分散し、PD フォロワーもリージョン要求を処理できるため、PD リーダーの CPU 負荷が軽減されます。

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

コンフィグレーションファイルコンフィグレーションパラメータタイプを変更説明
ティビtls-version修正済みデフォルト値は "" です。TiDB のデフォルトでサポートされる TLS バージョンがTLS1.1以上からTLS1.2以上に変更されました。
ティクヴblob-file-compression修正済みTitan で値を圧縮するために使用されるアルゴリズム。値を単位とします。TiDB v7.6.0 以降、デフォルトの圧縮アルゴリズムはzstdです。
ティクヴrocksdb.defaultcf.titan.min-blob-size修正済みTiDB v7.6.0 以降、新しいクラスターのデフォルト値は32KBです。既存のクラスターを v7.6.0 にアップグレードする場合、デフォルト値は1KBのまま変更されません。
ティクヴrocksdb.titan.enabled修正済みTitan を有効または無効にします。v7.5.0 以前のバージョンの場合、デフォルト値はfalseです。v7.6.0 以降では、新しいクラスターのみのデフォルト値はtrueです。v7.6.0 以降のバージョンにアップグレードされた既存のクラスターは、元の構成を保持します。
ティクヴgc.num-threads新しく追加されたenable-compaction-filter falseに設定すると、このパラメータは GC スレッドの数を制御します。デフォルト値は1です。
ティクヴraftstore.periodic-full-compact-start-times新しく追加されたTiKV が定期的な完全圧縮を開始する特定の時間を設定します。デフォルト値[] 、定期的な完全圧縮が無効であることを意味します。
ティクヴraftstore.periodic-full-compact-start-max-cpu新しく追加されたTiKV 定期完全圧縮の最大 CPU 使用率を制限します。デフォルト値は0.1です。
ティクヴzstd-dict-size新しく追加されたzstd辞書圧縮サイズを指定します。デフォルト値は"0KB"で、 zstd辞書圧縮を無効にすることを意味します。
TiFlashlogger.level修正済みログ記録のコストを削減するために、デフォルト値を"debug"から"INFO"に変更します。
TiDB Lightningtidb.pd-addr修正済みPD サーバーのアドレスを設定します。v7.6.0 以降、TiDB は複数の PD アドレスの設定をサポートします。
TiDB Lightningblock-size新しく追加された物理インポート モード ( backend='local' ) でローカル ファイルをソートするための I/O ブロック サイズを制御します。デフォルト値は16KiBです。ディスク IOPS がボトルネックになっている場合は、この値を増やすとパフォーマンスが向上します。
BR--granularity新しく追加された--granularity="coarse-grained"を指定して、粗粒度のリージョン散布アルゴリズム (実験的) を使用します。これにより、大規模なリージョンシナリオでの復元速度が向上します。
ティCDCcompression新しく追加されたREDO ログ ファイルを圧縮する動作を制御します。
ティCDCsink.cloud-storage-config新しく追加されたデータをオブジェクトstorageに複製するときに、履歴データの自動クリーンアップを設定します。

システムテーブル

  • TiDB でサポートされているすべてのキーワードの情報を表示するための新しいシステム テーブルINFORMATION_SCHEMA.KEYWORDSを追加します。
  • システム テーブルINFORMATION_SCHEMA.SLOW_QUERYに、リソース制御に関連する次のフィールドを追加します。
    • Resource_group : ステートメントがバインドされているリソース グループ。
    • Request_unit_read : ステートメントによって消費された読み取り RU の合計。
    • Request_unit_write : ステートメントによって消費された書き込み RU の合計。
    • Time_queued_by_rc : ステートメントが利用可能なリソースを待機する合計時間。

オフラインパッケージの変更

v7.6.0 以降、 TiDB-community-server バイナリパッケージには、プロキシコンポーネントTiプロキシのインストール パッケージであるtiproxy-{version}-linux-{arch}.tar.gz含まれるようになりました。

廃止された機能

  • TLSv1.0 および TLSv1.1 プロトコルのサポートは TiDB v7.6.0 では非推奨となり、v8.0.0 では削除されます。TLSv1.2 または TLSv1.3 にアップグレードしてください。
  • 実行プランのベースライン進化機能は、TiDB v8.0.0 で廃止されます。同等の機能は、以降のバージョンで再設計されます。
  • tidb_disable_txn_auto_retryシステム変数は TiDB v8.0.0 で廃止されます。それ以降、TiDB は楽観的トランザクションの自動再試行をサポートしなくなります。

改善点

  • ティビ

    • 非バイナリ照合順序が設定され、クエリにLIKE含まれる場合、オプティマイザは実行効率を向上させるためにIndexRangeScanを生成します#48181 #49138 @ 時間と運命
    • 特定のシナリオでOUTER JOIN INNER JOINに変換する能力を強化する#49616 @ qw4990
    • ノードが再起動されるシナリオで、Distributed eXecution Framework (DXF) タスクのバランスを改善します#47298 @ うわー
    • 通常のADD INDEXタスク#47758 @ タンジェンタにフォールバックする代わりに、複数の高速化されたADD INDEX DDL タスクをキューに入れて実行できるようにします。
    • ALTER TABLE ... ROW_FORMAT #48754 @ ホーキングレイの互換性を向上させる
    • CANCEL IMPORT JOB文を同期文#48736 @ D3ハンターに変更します。
    • 空のテーブルにインデックスを追加する速度を向上#49682 @ ジムララ
    • 相関サブクエリの列が上位レベルの演算子によって参照されていない場合、相関サブクエリは直接削除できます#45822 @ キング・ディラン
    • EXCHANGE PARTITION操作により、統計#47354 @ ハイラスティンのメンテナンス更新がトリガーされます
    • TiDBは、連邦情報処理標準(FIPS) #47948 @ 天菜まおの要件を満たすバイナリファイルの構築をサポートしています。
    • いくつかの型変換を処理する際の TiDB 実装を最適化し、関連する問題を修正#47945 #47864 #47829 #47816 @ ヤンケオ @ lcwangchao
    • スキーマバージョンを取得する際、TiDBはデフォルトでKVタイムアウト機能を使用して読み取り、遅いメタリージョンリーダーの読み取りがスキーマバージョンの更新に与える影響を軽減します#48125 @ 翻訳
  • ティクヴ

    • 非同期タスク#15759 @ ユジュンセンをクエリするための API エンドポイント/async_tasksを追加します
    • gRPC モニタリングに優先度ラベルを追加して、異なる優先度#49318 @ バッファフライのリソース グループ データを表示します。
    • readpool.unified.max-tasks-per-workerの値を動的に調整する機能をサポートし、優先度#16026 @ 栄光に基づいて実行中のタスクの数を個別に計算できます。
    • GCスレッドの数を動的に調整する機能をサポート。デフォルト値は1 #16101 @ トニー
  • PD

  • TiFlash

    • ディスクパフォ​​ーマンスジッターによる読み取りレイテンシーへの影響を軽減#8583 @ ジェイソン・ファン
    • バックグラウンドGCタスクが読み取りおよび書き込みタスクのレイテンシーに与える影響を軽減する#8650 @ ジェイソン・ファン
    • ストレージとコンピューティングの分離アーキテクチャで同一のデータ読み取り操作をマージして、高同時実行性#6834 @ ジンヘリンでのデータスキャンパフォーマンスを向上させることをサポートします。
    • JOIN ON #47424 @ ゲンリキにJOIN KEY等価条件のみが含まれる場合のSEMI JOINLEFT OUTER SEMIJOINの実行パフォーマンスを最適化します
  • ツール

バグの修正

  • ティビ

    • TiDBがパニックを起こしてエラーを報告する問題を修正invalid memory address or nil pointer dereference #42739 @ Cbcウェストウルフ
    • DDL jobIDが 0 #46296 @ ジフハウスに復元されたときに発生する TiDB ノードpanicの問題を修正しました。
    • 同じクエリプランでPLAN_DIGEST値が#47634 @ キング・ディラン場合に異なる問題を修正
    • 最初のサブノードとしてDUALテーブルを使用してUNION ALL実行するとエラー#48755 @ ウィノロスが発生する可能性がある問題を修正しました
    • 共通テーブル式 (CTE) を含むクエリで、 tidb_max_chunk_sizeが小さい値#48808 @ グオシャオゲに設定されている場合にruntime error: index out of range [32] with length 32報告される問題を修正しました。
    • AUTO_ID_CACHE=1 #46324 @ 天菜まお使用時の Goroutine リークの問題を修正
    • MPP によって計算されたCOUNT(INT)の結果が正しくない可能性がある問題を修正#48643 @ アイリンキッド
    • パーティション列タイプがDATETIME #48814 @ クレイジーcs520の場合にALTER TABLE ... LAST PARTITION実行が失敗する問題を修正
    • データの末尾にスペースが含まれている場合にLIKE_ワイルドカードを使用すると、クエリ結果が不正確になる可能性がある問題を修正しました#48983 @ 時間と運命
    • tidb_server_memory_limit #48741 @ 徐淮宇による長期メモリ圧迫により TiDB の CPU 使用率が高くなる問題を修正
    • ENUM型の列を結合キー#48991 @ ウィノロスとして使用するとクエリ結果が正しくなくなる問題を修正
    • メモリ制限を超えたときに CTE を含むクエリが予期せず停止する問題を修正#49096 @ アイリンキッド
    • 監査ログ用のエンタープライズプラグインが使用されている場合に TiDBサーバーが大量のリソースを消費する可能性がある問題を修正#49273 @ lcwangchao
    • 特定のシナリオでオプティマイザがTiFlash選択パスを DUAL テーブルに誤って変換する問題を修正#49285 @ アイリンキッド
    • WITH RECURSIVE CTE を含むUPDATEまたはDELETEステートメントで誤った結果が生成される可能性がある問題を修正しました#48969 @ ウィノロス
    • IndexHashJoin 演算子を含むクエリがメモリがtidb_mem_quota_query #49033 @ 徐淮宇を超えると停止する問題を修正しました。
    • 非厳密モード( sql_mode = '' )で、 INSERT実行中に切り捨てが行われても、 #49369 @ 天菜まおのエラーが報告される問題を修正しました。
    • CTEクエリが再試行プロセス#46522 @ 天菜まお中にエラーtype assertion for CTEStorageMap failedを報告する可能性がある問題を修正
    • ネストされたUNIONのクエリ#49377 @ アイリンキッドLIMITORDER BY無効になる可能性がある問題を修正しました
    • ENUMまたはSET型の無効な値を解析すると、SQL ステートメント エラー#49487 @ ウィノロスが直接発生する問題を修正しました。
    • Golang の暗黙的な変換アルゴリズム#49801 @ qw4990によって発生する統計構築時の過度の統計エラーの問題を修正
    • 一部のタイムゾーンで夏時間が正しく表示されない問題を修正#49586 @ 金星の上
    • テーブルが#48869 @ 天菜まおと多数ある場合に、テーブルがAUTO_ID_CACHE=1の場合に gRPC クライアント リークが発生する可能性がある問題を修正しました。
    • 正常なシャットダウン中に TiDBサーバーがpanicになる可能性がある問題を修正#36793 @ bb7133
    • CommonHandle #47687 @ 定義2014を含むテーブルを処理するときにADMIN RECOVER INDEX ERROR 1105を報告する問題を修正しました
    • ALTER TABLE t PARTITION BY実行時に配置ルールを指定するとエラーERROR 8239 #48630 @ ミョンスが報告される問題を修正
    • INFORMATION_SCHEMA.CLUSTER_INFOSTART_TIME列目タイプが#45221 @ ドヴェーデンでは有効ではない問題を修正
    • INFORMATION_SCHEMA.COLUMNSの無効なEXTRA列タイプがエラーData Too Long, field len 30, data len 45 #42030 @ タンジェンタを引き起こす問題を修正しました
    • IN (...) INFORMATION_SCHEMA.STATEMENTS_SUMMARY #33559 @ キング・ディランで異なるプランダイジェストを引き起こす問題を修正
    • TIME型をYEAR型に変換すると、返される結果にTIMEと年#48557 @ ヤンケオが混在する問題を修正しました。
    • tidb_enable_collect_execution_info無効にするとコプロセッサキャッシュがpanicになる問題を修正#48212 @ あなた06
    • shuffleExec予期せず終了すると TiDB がクラッシュする問題を修正#48230 @ うわー
    • 静的CALIBRATE RESOURCE Prometheusデータ#49174 @ 栄光に依存している問題を修正
    • 日付に大きな間隔を追加すると、誤った結果が返される問題を修正しました。修正後は、無効なプレフィックスまたは文字列trueを持つ間隔はゼロとして扱われ、MySQL 8.0 #49227 @ lcwangchaoと一致します。
    • ROW関数がnull型を誤って推論し、予期しないエラー#49015 @ うわーが発生する問題を修正しました。
    • ILIKE関数がいくつかのシナリオでデータ競合を引き起こす可能性がある問題を修正#49677 @ lcwangchao
    • STREAM_AGG() CI #49902 @ うわーを誤って処理したためにクエリ結果が正しくない問題を修正しました
    • バイトをTIME #47346 @ うわーに変換するときにエンコードが失敗する問題を修正
    • CHECK制約のENFORCEDオプションの動作がMySQL 8.0 #47567 #47631 @ ジフハウスと一致しない問題を修正
    • CHECK制約を持つ DDL ステートメントが#47632 @ ジフハウスでスタックする問題を修正しました
    • メモリ不足のため DDL ステートメントのインデックス追加が失敗する問題を修正#47862 @ GMHDBJD
    • ADD INDEX実行中にクラスターをアップグレードすると、データがインデックス#46306 @ ジムララと矛盾する可能性がある問題を修正しました。
    • tidb_mem_quota_queryシステム変数を更新した後にADMIN CHECK実行するとERROR 8175 #49258 @ タンジェンタが返される問題を修正しました
    • ALTER TABLE外部キーによって参照される列の型を変更すると、 DECIMAL精度の変更がエラーとして報告されない問題を修正#49836 @ ヨシキポム
    • ALTER TABLE外部キーによって参照される列の型を変更すると、 INTEGER長さの変更が誤ってエラーとして報告される問題を修正#47702 @ ヨシキポム
    • いくつかのシナリオで式インデックスが除数が 0 #50053 @ lcwangchaoであることを検出しない問題を修正しました
    • 多数のテーブル#50077 @ ジムララを処理するときに TiDB ノードが OOM エラーに遭遇する可能性がある問題を軽減します。
    • クラスターのローリング再起動中に DDL が実行状態のままになる問題を修正#50073 @ タンジェンタ
    • PointGetまたはBatchPointGet演算子を使用してパーティション テーブルのグローバル インデックスにアクセスすると結果が不正確になる可能性がある問題を修正しました#47539 @ L-メープル
    • 生成された列のインデックスが表示可能#47766 @ アイリンキッドに設定されている場合、MPP プランが選択されない可能性がある問題を修正しました。
    • LIMIT ORに押し下げられない問題を修正しましたIndex Merge #48588 @ アイリンキッドと入力します。
    • BRインポート#46527 @ qw4990後にmysql.bind_infoテーブルに重複した組み込み行が存在する可能性がある問題を修正
    • パーティションが削除された後にパーティションテーブルの統計が期待どおりに更新されない問題を修正#48182 @ ハイラスティン
    • パーティションテーブル#48713 @ ホーキングレイのグローバル統計の同時マージ中にエラーが返される可能性がある問題を修正しました。
    • PADDING SPACE #48821 @ 時間と運命の列のインデックス範囲スキャンにLIKE演算子を使用すると、クエリ結果が正しくなくなる可能性がある問題を修正しました。
    • 生成された列がメモリ上で同時読み取りと書き込みをトリガーし、データ競合#44919 @ タンジェンタが発生する可能性がある問題を修正しました。
    • WITH 0 TOPN (トップN統計を収集しないことを示す) が指定されている場合でも、 ANALYZE TABLEトップ1統計を収集する可能性がある問題を修正#49080 @ ホーキングレイ
    • 不正なオプティマイザヒントによって有効なヒントが無効になる可能性がある問題を修正#49308 @ ホーキングレイ
    • ハッシュパーティションテーブルの統計が、パーティションの追加、削除、再編成、またはTRUNCATEパーティション#48235 #48233 #48226 #48231 @ ハイラスティンを行ったときに、それに応じて更新されない問題を修正しました。
    • 自動統計更新の時間枠を設定した後、その時間枠外でも統計が更新される可能性がある問題を修正#49552 @ ホーキングレイ
    • パーティションテーブルを非パーティションテーブルに変換したときに古い統計情報が自動的に削除されない問題を修正#49547 @ ハイラスティン
    • TRUNCATE TABLE #49663 @ ハイラスティンを使用してパーティションテーブルからデータをクリアしたときに古い統計が自動的に削除されない問題を修正しました。
    • クエリがソートを強制するオプティマイザヒント( STREAM_AGG()など)を使用し、実行プランにIndexMerge #49605 @ アイリンキッドが含まれている場合に、強制ソートが無効になる可能性がある問題を修正しました。
    • ヒストグラムの境界にNULL #49823 @ アイリンキッドが含まれている場合、ヒストグラム統計が読み取り可能な文字列に解析されない可能性がある問題を修正しました。
    • GROUP_CONCAT(ORDER BY)構文を含むクエリを実行するとエラー#49986 @ アイリンキッドが返される可能性がある問題を修正しました
    • SQL_MODEが厳密でない場合に、 UPDATEDELETEINSERTステートメントが警告ではなくオーバーフロー エラーを返す問題を修正しました#49137 @ ヤンケオ
    • テーブルに複数値インデックスと非バイナリ型文字列#49680 @ ヤンケオで構成される複合インデックスがある場合にデータを挿入できない問題を修正
    • 複数レベルのネストされたUNIONクエリのLIMIT無効になる可能性がある問題を修正#49874 @ 定義2014
    • BETWEEN ... AND ...条件でパーティション テーブルをクエリすると誤った結果が返される問題を修正#49842 @ 定義2014
    • REPLACE INTO#34325 @ ヤンケオでヒントが使用できない問題を修正
    • ハッシュパーティションテーブル#50044 @ 定義2014をクエリするときに TiDB が間違ったパーティションを選択する可能性がある問題を修正しました。
    • 圧縮を有効にした状態でMariaDB Connector/Jを使用する際に発生する接続エラーを修正#49845 @ 猫のみ
  • ティクヴ

    • 破損した SST ファイルが他の TiKV ノードに広がり、TiKV がpanicを起こす可能性がある問題を修正しました#15986 @ コナー1996
    • オンラインの安全でないリカバリがマージ中止#15580 @ v01dスターを処理できない問題を修正
    • #15817 @ コナー1996にスケールアウトするときに DR 自動同期のジョイント状態がタイムアウトする可能性がある問題を修正しました。
    • Titanのblob-run-modeオンライン#15978 @ トニーに更新できない問題を修正
    • 解決済みのTSが2時間ブロックされる可能性がある問題を修正#11847 #15520 #39130 @ 金星の上
    • notLeaderまたはregionNotFound #15712 @ ヒューシャープに遭遇するとフラッシュバックが停止する可能性がある問題を修正しました
    • TiKV の実行速度が非常に遅い場合、リージョン#16111金星の上のマージ後にpanicする可能性がある問題を修正しました。
    • GC が期限切れのロック#15066 @ 翻訳をスキャンするときに TiKV がメモリ内の悲観的ロックを読み取れない問題を修正
    • Titan モニタリングの BLOB ファイル サイズが正しくない問題を修正#15971 @ コナー1996
    • TiCDC を使用して大きなテーブルを複製すると、TiKV が OOM #16035 @ 金星の上になる可能性がある問題を修正しました。
    • DECIMAL算術乗算切り捨て#16268 @ ソロッツを処理するときに TiDB と TiKV が矛盾した結果を生成する可能性がある問題を修正しました。
    • cast_duration_as_time誤った結果を返す可能性がある問題を修正#16211 @ ゲンリキ
    • TiKV がブラジルとエジプトのタイムゾーンを誤って変換する問題を修正#16220 @ 金星の上
    • gRPC スレッドがis_shutdown #16236 @ ピンギュをチェックしているときに TiKV がpanic可能性がある問題を修正しました
  • PD

    • PD の etcd ヘルスチェックで期限切れのアドレス#7226 @ イオマンサスが削除されない問題を修正
    • PDリーダーが転送され、新しいリーダーとPDクライアントの間にネットワークパーティションがある場合、PDクライアントがリーダー#7416 @ キャビンフィーバーBの情報を更新できない問題を修正しました。
    • Gin Web Framework のバージョンを v1.8.1 から v1.9.1 にアップグレードして、いくつかのセキュリティ問題を修正しました#7438 @ ニューベル
    • レプリカ数が要件#7584 @ バッファフライを満たしていない場合に孤立ピアが削除される問題を修正
  • TiFlash

    • クエリ#8447 @ ジンヘリン中にTiFlash がメモリ制限に遭遇した場合のメモリリークの問題を修正しました。
    • FLASHBACK DATABASE #8450 @ ジェイソン・ファンを実行した後もTiFlashレプリカのデータがガベージ コレクションされる問題を修正しました。
    • クエリが遅いためにメモリ使用量が大幅に増加する問題を修正#8564 @ ジンヘリン
    • CREATE TABLEDROP TABLE #1664 @ ジェイソン・ファンを頻繁に実行するシナリオで、一部のTiFlashレプリカデータがRECOVER TABLEまたはFLASHBACK TABLEで回復できない問題を修正
    • ColumnRef in (Literal, Func...) #8631 @ ロイド・ポティガーのようなフィルタリング条件でクエリを実行したときにクエリ結果が正しくない問題を修正しました
    • TiFlash が同時 DDL 実行中に競合に遭遇した場合のTiFlashpanic問題を修正#8578 @ ジェイソン・ファン
    • 分散storageおよびコンピューティングアーキテクチャ#8519 @ ジェイソン・ファンでTiFlash がオブジェクトstorageデータの GC 所有者を選択できない可能性がある問題を修正しました
    • lowerUTF8upperUTF8関数で、大文字と小文字が異なるバイト#8484 @ ゲンリキを占めることができない問題を修正しました。
    • ENUM値が 0 #8311 @ ソロッツの場合にTiFlash がENUM誤って処理する問題を修正しました
    • INET_NTOA()#8211 @ ソロッツの非互換性の問題を修正
    • ストリーム読み取り#8505 @ ゲンリキ中に複数のパーティション テーブルをスキャンするときに発生する可能性のある OOM 問題を修正しました。
    • 短いクエリが正常に実行されると過剰な情報ログ#8592 @ 風の話し手が出力される問題を修正しました
    • TiFlashが停止時にクラッシュする可能性がある問題を修正#8550 @ グオシャオゲ
    • 定数文字列パラメータ#8604 @ 風の話し手を含むGREATESTまたはLEAST関数で発生する可能性のあるランダムな無効なメモリアクセスの問題を修正しました。
  • ツール

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

      • BR が外部storageファイル#48452 @ 3エースショーハンドに対して誤った URI を生成する問題を修正
      • タスク初期化中にPDへの接続に失敗すると、ログバックアップタスクは開始できるが正常に動作しない問題を修正#16056 @ ユジュンセン
      • ログバックアップタスクがメモリリークに遭遇し、起動後に正常に実行されない可能性がある問題を修正#16070 @ ユジュンセン
      • PITRプロセス中にシステムテーブルmysql.gc_delete_rangeにデータを挿入するとエラー#49346 @ リーヴルスが返される問題を修正しました。
      • 古いバージョン#49466 @ 3ポインターのバックアップからデータを復元するときにUnsupported collationエラーが報告される問題を修正しました
      • 特定のシナリオでスナップショットを介してユーザー テーブルが回復された後に権限がタイムリーに更新されない問題を修正#49394 @ リーヴルス
    • ティCDC

      • 特定のシナリオでDELETEステートメントを複製するときに、 WHERE句が主キーを条件として使用しない問題を修正しました#9812 @ アズドンメン
      • オブジェクトstorageサービス#10137 @ スドジにデータを複製するときに TiCDCサーバーがpanicになる可能性がある問題を修正しました
      • kv-client初期化#10095 @ 3エースショーハンド中に発生する可能性のあるデータ競合問題を修正
      • 特定の特殊なシナリオで TiCDC が TiKV との接続を誤って閉じる問題を修正#10239 @ ヒック
      • アップストリーム#9739 @ ヒックで損失のある DDL ステートメントを実行するときに TiCDCサーバーがpanicになる可能性がある問題を修正しました。
      • TiCDC がデータを下流の MySQL #10334 @ 張金鵬87に複製するときにcheckpoint-tsスタックする可能性がある問題を修正しました。
    • TiDB データ移行 (DM)

      • DM が「イベント タイプ切り捨てが無効です」というエラーに遭遇し、アップグレードが失敗する問題を修正しました#10282 @ GMHDBJD
      • GTID モード#9676 @ フェラン・モーガン・ピングキャップでデータを複製する際のパフォーマンス低下の問題を修正
      • 下流のテーブル構造にshard_row_id_bits #10308 @ GMHDBJDが含まれている場合に移行タスクエラーが発生する問題を修正しました。

寄稿者

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

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