TiDB 6.3.0 リリースノート

発売日:2022年9月30日

TiDB バージョン: 6.3.0-DMR

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

  • TiKV は、SM4 アルゴリズムを使用した保存時の暗号化をサポートしています。
  • TiDB は、SM3 アルゴリズムを使用した認証をサポートしています。
  • CREATE USERおよびALTER USERステートメントはACCOUNT LOCK/UNLOCKオプションをサポートします。
  • JSON データ型と関数が一般提供 (GA) になりました。
  • TiDB は、null 認識アンチ結合をサポートしています。
  • TiDB は、より細かい粒度で実行時間メトリックを提供します。
  • 範囲パーティションの定義を簡素化するために、新しい構文糖衣が追加されました。
  • 範囲 COLUMNS パーティショニングは、複数の列の定義をサポートしています。
  • インデックスを追加するパフォーマンスは 3 倍になります。

新機能

SQL

  • 新しいシンタックス シュガー (Range INTERVAL パーティショニング) を追加して、Range パーティションの定義を簡素化します (実験的) #35683 @ ミヨンス

    TiDB は、Range パーティションを定義する新しい方法としてINTERVAL パーティショニングを提供します。すべてのパーティションを列挙する必要がないため、Range パーティション分割 DDL ステートメントの長さが大幅に短縮されます。構文は、元の Range パーティショニングの構文と同等です。

  • 範囲 COLUMNS パーティショニングは、複数の列#36636 @ ミヨンスの定義をサポートします

    TiDB は範囲列による分割 (column_list)をサポートしています。 column_listは、単一の列に制限されなくなりました。基本的な機能はMySQLと同じです。

  • 交換パーティションは GA #35996 @ ymkzpxになります

  • TiDB はさらに 2 つのウィンドウ関数 #5579 @ シーライズをサポートします

    • LEAD()
    • LAG()
  • DDL 変更中の DML 成功率を向上させるために、軽量のメタデータ ロックを提供します (実験的) #37275 @ wjhuang2016

    TiDB は、オンライン非同期スキーマ変更アルゴリズムを使用して、メタデータ オブジェクトの変更をサポートします。トランザクションが実行されると、トランザクションの開始時に対応するメタデータ スナップショットが取得されます。トランザクション中にメタデータが変更された場合、データの一貫性を確保するために、TiDB はInformation schema is changedエラーを返し、トランザクションはコミットに失敗します。この問題を解決するために、TiDB v6.3.0 ではオンライン DDL アルゴリズムにメタデータ ロックが導入されています。可能な限り DML エラーを回避するために、TiDB はテーブル メタデータの変更中に DML と DDL の優先順位を調整し、実行中の DDL を古いメタデータを持つ DML がコミットされるまで待機させます。

  • インデックス追加のパフォーマンスを改善し、DML トランザクションへの影響を軽減します (実験的) #35983 @ ベンジャミン2037

    インデックス作成時のバックフィルの速度を向上させるために、TiDB v6.3.0 は、 tidb_ddl_enable_fast_reorgシステム変数が有効になっている場合にADD INDEXおよびCREATE INDEX DDL 操作を高速化します。この機能を有効にすると、インデックスを追加するパフォーマンスが約 3 倍になります。

安全

  • TiKV は保存時の暗号化に SM4 アルゴリズムをサポートします#13041 @ 嘉陽正

    保存時の TiKV 暗号化の場合はSM4 アルゴリズムを追加します。保存時の暗号化を構成する場合、構成data-encryption-methodの値をsm4-ctrに設定することにより、SM4 暗号化容量を有効にすることができます。

  • TiDB は SM3 アルゴリズム#36192 @ Cbcウェストウルフによる認証をサポートします

    TiDB は、SM3 アルゴリズムに基づく認証プラグインtidb_sm3_passwordを追加します。このプラグインを有効にすると、SM3 アルゴリズムを使用してユーザー パスワードが暗号化および検証されます。

  • TiDB JDBC は、SM3 アルゴリズム#25 @ 最後の切歯による認証をサポートします。

    ユーザー パスワードの認証には、クライアント側のサポートが必要です。 JDBC は SM3 アルゴリズムをサポートしますであるため、TiDB-JDBC 経由で SM3 認証を使用して TiDB に接続できます。

可観測性

  • TiDB は、SQL クエリの実行時間#34106 @ cfzjywxkの詳細なメトリクスを提供します

    TiDB v6.3.0 は、 実行時間の詳細な観察のきめ細かいデータ メトリックを提供します。完全でセグメント化されたメトリクスにより、SQL クエリの主な時間消費を明確に理解し、重要な問題をすばやく見つけてトラブルシューティングの時間を節約できます。

  • スローログとTRACEステートメントの拡張出力#34106 @ cfzjywxk

    TiDB v6.3.0 では、スロー ログの出力が強化され、 TRACE . TiDB の解析から KV RocksDB のディスクへの書き込みまでのフルリンク期間の SQL クエリを観察でき、診断機能がさらに強化されます。

  • TiDB ダッシュボードはデッドロックの履歴情報を提供します#34106 @ cfzjywxk

    v6.3.0 から、TiDB ダッシュボードはデッドロック履歴を提供します。 TiDB ダッシュボードでスロー ログを確認し、一部の SQL ステートメントのロック待機時間が長すぎることがわかった場合は、デッドロックの履歴を確認して根本原因を突き止めることができるため、診断が容易になります。

パフォーマンス

  • TiFlash は FastScan の使用方法を変更します (実験的) #5252 @ ホンユニャン

    v6.2.0 では、TiFlash に FastScan 機能が導入されました。これにより、期待されるパフォーマンスの向上がもたらされますが、使用時の柔軟性に欠けます。したがって、v6.3.0 では、TiFlash はFastScanの使い方を変更します。FastScan を有効または無効にするALTER TABLE ... SET TIFLASH MODE ...構文は非推奨です。代わりに、システム変数tiflash_fastscanを使用して、FastScan を有効にするかどうかを簡単に制御できます。

    v6.2.0 から v6.3.0 にアップグレードすると、v6.2.0 のすべての FastScan 設定が無効になりますが、データの通常の読み取りには影響しません。変数 [ tiflash_fastscan ] を設定する必要があります。 v6.2.0 以前のバージョンから v6.3.0 にアップグレードする場合、データの一貫性を保つために、デフォルトではすべてのセッションで FastScan 機能が有効になっていません。

  • TiFlash は、複数の同時実行タスクのシナリオでデータ スキャンのパフォーマンスを最適化します#5376 @ リン・ジンヘ

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

    この機能は v6.2.0 で実験的であり、v6.3.0 で GA になります。

  • TiFlash はデータ複製のパフォーマンスを向上させます#5237 @ そよ風

    TiFlash は、TiKV からのデータ複製にRaftプロトコルを使用します。 v6.3.0 より前のバージョンでは、大量のレプリカ データをレプリケートするには長い時間がかかることがよくありました。 TiDB v6.3.0 は、TiFlash データ複製メカニズムを最適化し、複製速度を大幅に改善します。 BR を使用してデータを回復したり、 TiDB Lightningを使用してデータをインポートしたり、新しい TiFlash レプリカを追加したりすると、TiFlash レプリカをより迅速に複製できます。よりタイムリーに TiFlash を使用してクエリを実行できます。さらに、TiFlash レプリカの数をスケールアップ、スケールダウン、または変更すると、TiFlash レプリカは安全でバランスのとれた状態により速く到達します。

  • TiFlash は、個々のCOUNT(DISTINCT) #37202 @ fixdbの 3 段階の集約をサポートします。

    TiFlash は、 COUNT(DISTINCT)を 1 つだけ含むクエリを三段集計に書き換えることをサポートしています。これにより、同時実行性とパフォーマンスが向上します。

  • TiKV はログのリサイクルをサポートします#214 @ Lykxサシネーター

    TiKV はRaft Engineでログファイルのリサイクルをサポートします。これにより、 Raftログの追加中のネットワーク ディスクのロング テールレイテンシーが減少し、書き込みワークロードでのパフォーマンスが向上します。

  • TiDB は null 認識のアンチ結合#37525 @ アレナトルクスをサポートします

    TiDB v6.3.0 では、新しい結合タイプNull 認識アンチ結合 (NAAJ)が導入されました。 NAAJ は、コレクション操作を処理するときに、コレクションが空かNULLかを認識することができます。これにより、 IN= ANYなどの操作の実行効率が最適化され、SQL のパフォーマンスが向上します。

  • Hash Join #35439 @ 思い出すのビルド終了を制御するためのオプティマイザー ヒントを追加します。

    v6.3.0 では、TiDB オプティマイザーはHASH_JOIN_BUILD()HASH_JOIN_PROBE()の 2 つのヒントを導入して、ハッシュ結合、そのプローブ エンド、およびビルド エンドを指定します。オプティマイザが最適な実行計画の選択に失敗した場合、これらのヒントを使用して計画に介入できます。

  • セッション レベルの共通テーブル式 (CTE) インライン#36514 @ エルザ0520をサポート

    TiDB v6.2.0 では、オプティマイザーにMERGEヒントを導入して CTE インラインを許可し、CTE クエリ結果のコンシューマーが TiFlash で並列に実行できるようにしました。 v6.3.0 では、セッション変数tidb_opt_force_inline_cteが導入され、セッションで CTE インラインが可能になりました。これにより、使いやすさが大幅に向上します。

取引

  • 悲観的トランザクション#36579 @ エキキシウムで一意制約の遅延チェックをサポート

    tidb_constraint_check_in_place_pessimisticシステム変数を使用して、悲観的トランザクションで TiDB が一意の制約をチェックするタイミングを制御できます。この変数はデフォルトで無効になっています。変数が有効になっている ( ONに設定されている) 場合、TiDB は悲観的トランザクションのロック操作と一意制約チェックを必要になるまで延期するため、一括 DML 操作のパフォーマンスが向上します。

  • Read-Committed 分離レベル#36812 @ トンスネークリンで TSO をフェッチする方法を最適化します。

    Read-Committed 分離レベルでは、システム変数tidb_rc_write_check_tsが導入され、TSO のフェッチ方法が制御されます。 Plan Cache ヒットの場合、TiDB は TSO を取得する頻度を減らすことでバッチ DML ステートメントの実行効率を改善し、バッチで実行されているタスクの実行時間を短縮します。

安定性

  • 統計が古くなったときに統計をロードするデフォルトのポリシーを変更します#27601 @ しゅいふぁんグリーンアイズ

    v5.3.0 で、TiDB はシステム変数tidb_enable_pseudo_for_outdated_statsを導入して、統計が古くなったときのオプティマイザの動作を制御しました。デフォルト値はONです。これは、古いバージョンの動作を維持することを意味します。SQL ステートメントに含まれるオブジェクトの統計が古い場合、オプティマイザーは統計 (テーブルの行の合計数以外) が無効であると見なします。より信頼性が高くなり、代わりに疑似統計を使用します。実際のユーザー シナリオのテストと分析の後、デフォルト値のtidb_enable_pseudo_for_outdated_statsは v6.3.0 以降OFFに変更されました。統計が古くなっても、オプティマイザはテーブルの統計を引き続き使用するため、実行計画がより安定します。

  • タイタンを無効化すると GA @ タボキーになります

    オンラインの TiKV ノードに対してタイタンを無効にするを実行できます。

  • GlobalStats の準備ができていない場合は、 staticつのパーティション プルーニングを使用する#37535 @ イサール

    dynamic pruningが有効な場合、オプティマイザはグローバル統計に基づいて実行計画を選択します。 GlobalStats が完全に収集される前に、疑似統計を使用すると、パフォーマンスが低下する可能性があります。 v6.3.0 では、GlobalStats が収集される前に動的プルーニングを有効にする場合、 staticモードを維持することでこの問題に対処しています。 GlobalStats が収集されるまで、TiDB はstaticモードのままです。これにより、パーティションのプルーニング設定を変更する際のパフォーマンスの安定性が確保されます。

使いやすさ

MySQL の互換性

  • REGEXP_INSTR() 、およびREGEXP_REPLACE() #23881 @ REGEXP_SUBSTR()REGEXP_LIKE()つの正規表現関数のサポートを追加することにより、MySQL 8.0 の互換性を向上させます風の語り手

    MySQL との互換性の詳細については、 MySQL との正規表現の互換性を参照してください。

  • CREATE USERおよびALTER USERステートメントは、 ACCOUNT LOCK/UNLOCKオプション#37051 @ Cbcウェストウルフをサポートします。

    CREATE USERステートメントを使用してユーザーを作成する場合、 ACCOUNT LOCK/UNLOCKオプションを使用して、作成したユーザーをロックするかどうかを指定できます。ロックされたユーザーはデータベースにログインできません。

    ALTER USERステートメントのACCOUNT LOCK/UNLOCKオプションを使用して、既存のユーザーのロック状態を変更できます。

  • JSON データ型と JSON関数は GA #36993 @ ションジウェイになります

    JSON は、多数のプログラムで採用されている一般的なデータ形式です。 TiDB は、以前のバージョンから実験的機能としてJSON のサポートを導入しており、MySQL の JSON データ型および一部の JSON関数と互換性があります。

    TiDB v6.3.0 では、JSON データ型と関数が GA になり、TiDB のデータ型が充実し、 式インデックス生成列で JSON関数の使用がサポートされ、TiDB と MySQL との互換性がさらに向上します。

バックアップと復元

  • PITR はGCSAzure ブロブ ストレージをバックアップ ストレージとしてサポート @ ジョッカウ

    TiDB クラスターが GCP または Azure にデプロイされている場合は、クラスターを v6.3.0 にアップグレードした後に PITR 機能を使用できます。

  • BR は AWS S3 オブジェクト ロック#13442 @ 3ポインターをサポートします

    S3 オブジェクト ロックを有効にすることで、AWS 上のバックアップ データを改ざんや削除から保護できます。

データ移行

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

  • TiCDC は、複数の地理的に分散されたデータ ソースからデータを複製できる展開トポロジをサポートします#5301 @ スドジ

    v6.3.0 以降、単一の複数のIDCにTiCDCを展開できますクラスターから複数の地理的に分散されたデータ システムへのデータの複製をサポートするには、各 IDC のデータを複製します。この機能は、地理的に分散されたデータ レプリケーションおよび展開トポロジの機能を提供するのに役立ちます。

  • TiCDC は、アップストリームとダウンストリーム (同期ポイント) の間でスナップショットの一貫性を維持することをサポートします#6977 @ アスドンメン

    ディザスター リカバリーのためのデータ レプリケーションのシナリオでは、TiCDC はダウンストリーム データのスナップショットを定期的に維持するをサポートし、ダウンストリーム スナップショットがアップストリーム スナップショットと一致するようにします。この機能により、TiCDC は読み取りと書き込みが分離されているシナリオをより適切にサポートし、コストの削減に役立ちます。

  • TiCDC はグレースフル アップグレードをサポート#4757 @ 大静脈 @ 3AceShowHand

    TiUP (>=v1.11.0) またはTiDB Operator (>=v1.3.8) を使用して TiCDC をデプロイすると、TiCDC クラスターを適切にアップグレードできます。アップグレード中、データ レプリケーションのレイテンシーは 30 秒に抑えられます。これにより安定性が向上し、TiCDC がレイテンシーの影響を受けやすいアプリケーションをより適切にサポートできるようになります。

互換性の変更

システム変数

変数名タイプを変更説明
default_authentication_plugin修正済み新しいオプションtidb_sm3_passwordを追加します。この変数がtidb_sm3_passwordに設定されている場合、SM3 が暗号化アルゴリズムとして使用されます。
sql_require_primary_key新規追加テーブルに主キーがあるという要件を強制するかどうかを制御します。この変数を有効にした後、主キーなしでテーブルを作成または変更しようとすると、エラーが発生します。
tidb_adaptive_closest_read_threshold新規追加tidb_replica_readclosest-adaptiveに設定されている場合に、TiDBサーバーが TiDBサーバーと同じリージョン内のレプリカに読み取り要求を送信することを好むしきい値を制御します。
tidb_constraint_check_in_place_pessimistic新規追加悲観的なトランザクションで TiDB が一意の制約をチェックするタイミングを制御します。
tidb_ddl_disk_quota新規追加tidb_ddl_enable_fast_reorgが有効な場合にのみ有効です。インデックス作成時のバックフィル時のローカル ストレージの使用制限を設定します。
tidb_ddl_enable_fast_reorg新規追加ADD INDEXおよびCREATE INDEX DDL 操作のアクセラレーションを有効にして、インデックス作成時のバックフィルの速度を向上させるかどうかを制御します。
tidb_ddl_flashback_concurrency新規追加flashback clusterの並行性を制御します。この変数によって制御される機能は、TiDB v6.3.0 では完全には機能しません。デフォルト値を変更しないでください。
tidb_enable_clustered_index修正済みこの変数のデフォルト値はINT_ONLYからONに変更されます。
tidb_enable_exchange_partition非推奨exchange partitions with tables機能を有効にするかどうかを制御します。デフォルト値はONです。つまり、デフォルトでexchange partitions with tablesが有効になっています。
tidb_enable_foreign_key新規追加FOREIGN KEY機能を有効にするかどうかを制御します。この変数によって制御される機能は、TiDB v6.3.0 では完全には機能しません。デフォルト値を変更しないでください。
tidb_enable_general_plan_cache新規追加一般プラン キャッシュ機能を有効にするかどうかを制御します。この変数によって制御される機能は、TiDB v6.3.0 では完全には機能しません。デフォルト値を変更しないでください。
tidb_enable_metadata_lock新規追加メタデータ ロック機能を有効にするかどうかを指定します。
tidb_enable_null_aware_anti_join新規追加Anti Join が特別なセット演算子NOT INおよび!= ALLによって導かれるサブクエリによって生成されるときに、TiDB が Null-Aware Hash Join を適用するかどうかを制御します。
tidb_enable_pseudo_for_outdated_stats修正済み統計が古い場合にテーブルの統計を使用する際のオプティマイザの動作を制御します。デフォルト値はONからOFFに変更されます。これは、このテーブルの統計が古くなっても、オプティマイザが引き続きテーブルの統計を使用し続けることを意味します。
tidb_enable_rate_limit_action修正済みデータを読み取るオペレーターの動的メモリー制御機能を有効にするかどうかを制御します。この変数がONに設定されている場合、メモリ使用量はtidb_mem_quota_queryの制御下にない可能性があります。したがって、デフォルト値はONからOFFに変更されます。
tidb_enable_tiflash_read_for_write_stmt新規追加SQL 書き込みステートメントの読み取り要求を TiFlash にプッシュするかどうかを制御します。この変数によって制御される機能は、TiDB v6.3.0 では完全には機能しません。デフォルト値を変更しないでください。
tidb_enable_unsafe_substitute新規追加安全でない方法で式を生成された列に置き換えるかどうかを制御します。
tidb_general_plan_cache_size新規追加一般プラン キャッシュでキャッシュできる実行プランの最大数を制御します。この変数によって制御される機能は、TiDB v6.3.0 では完全には機能しません。デフォルト値を変更しないでください。
tidb_last_plan_replayer_token新規追加読み取り専用で、現在のセッションの最後のPLAN REPLAYER DUMPの実行の結果を取得するために使用されます。
tidb_opt_force_inline_cte新規追加セッション全体で共通テーブル式 (CTE) をインライン化するかどうかを制御します。デフォルト値はOFFです。これは、インライン CTE がデフォルトで強制されないことを意味します。
tidb_opt_three_stage_distinct_agg新規追加MPP モードでCOUNT(DISTINCT)集約を 3 段階集約に書き換えるかどうかを指定します。デフォルト値はONです。
tidb_partition_prune_mode修正済み動的プルーニングを有効にするかどうかを指定します。 v6.3.0 以降、デフォルト値はdynamicに変更されました。
tidb_rc_read_check_ts修正済みタイムスタンプの取得を最適化するために使用されます。これは、読み取りと書き込みの競合がまれな読み取りコミット分離レベルのシナリオに適しています。この機能は、特定のサービス ワークロードを対象としており、他のシナリオでパフォーマンスの低下を引き起こす可能性があります。このため、v6.3.0 以降、この変数のスコープがGLOBAL \| SESSIONからINSTANCEに変更されました。つまり、特定の TiDB インスタンスに対してこの機能を有効にできるということです。
tidb_rc_write_check_ts新規追加タイムスタンプの取得を最適化するために使用され、ペシミスティック トランザクションの RC 分離レベルでポイント書き込み競合がほとんどないシナリオに適しています。この変数を有効にすると、ポイント書き込みステートメントの実行中にグローバル タイムスタンプを取得することによって生じるレイテンシーとオーバーヘッドを回避できます。
tiflash_fastscan新規追加FastScan を有効にするかどうかを制御します。 ファストスキャンが有効になっている ( ONに設定されている) 場合、TiFlash はより効率的なクエリ パフォーマンスを提供しますが、クエリ結果の精度やデータの一貫性は保証されません。

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

Configuration / コンフィグレーションファイルConfiguration / コンフィグレーションタイプを変更説明
TiDBtemp-dir新規追加一時データを格納するために TiDB が使用するファイル システムの場所を指定します。機能が TiDB ノードのローカル ストレージを必要とする場合、TiDB は対応する一時データをこの場所に保存します。デフォルト値は/tmp/tidbです。
TiKVauto-adjust-pool-size新規追加スレッド プール サイズを自動的に調整するかどうかを制御します。有効にすると、現在の CPU 使用率に基づいて UnifyReadPool スレッド プール サイズを自動的に調整することで、TiKV の読み取りパフォーマンスが最適化されます。
TiKVdata-encryption-method修正済み新しい値オプションsm4-ctrを導入します。この設定項目がsm4-ctrに設定されている場合、データは保存前に SM4 を使用して暗号化されます。
TiKVenable-log-recycle新規追加Raft Engineで古いログ ファイルをリサイクルするかどうかを決定します。有効にすると、論理的にパージされたログ ファイルがリサイクル用に予約されます。これにより、書き込みワークロードのロングテールレイテンシーが短縮されます。この構成アイテムは、 フォーマットバージョン>= 2 の場合にのみ使用できます。
TiKVformat-version新規追加Raft Engineのログ ファイルのバージョンを指定します。デフォルトのログ ファイル バージョンは、v6.3.0 より前の TiKV では1です。ログ ファイルは、TiKV >= v6.1.0 で読み取ることができます。デフォルトのログ ファイル バージョンは、TiKV v6.3.0 以降では2です。 TiKV v6.3.0 以降では、ログ ファイルを読み取ることができます。
TiKVlog-backup.enable修正済みv6.3.0 以降、デフォルト値がfalseからtrueに変更されました。
TiKVlog-backup.max-flush-interval修正済みv6.3.0 以降、デフォルト値が5minから3minに変更されました。
PD有効化診断新規追加診断機能を有効にするかどうかを制御します。デフォルト値はfalseです。
ティフラッシュdt_enable_read_thread非推奨v6.3.0 以降、この構成アイテムは廃止されました。スレッド プールは、デフォルトでストレージ エンジンからの読み取り要求を処理するために使用され、無効にすることはできません。
DMsafe-mode-duration新規追加自動セーフ モードの期間を指定します。
TiCDCenable-sync-point新規追加同期点機能を有効にするかどうかを指定します。
TiCDCsync-point-interval新規追加同期点が上流と下流のスナップショットを調整する間隔を指定します。
TiCDCsync-point-retention新規追加同期点がダウンストリーム テーブルにデータを保持する期間を指定します。この期間を超えると、データはクリーンアップされます。
TiCDCsink-uri.memory非推奨memoryソートは非推奨です。どのような状況でも使用することはお勧めしません。代わりにunifiedソートを使用できます。

その他

  • ログ バックアップは、GCS と Azure Blob Storage をバックアップ ストレージとしてサポートします。
  • ログ バックアップがexchange partition DDL と互換性を持つようになりました。
  • ファストスキャンを有効にするために以前に使用された SQL ステートメントALTER TABLE ...SET TiFLASH MODE ...は廃止され、システム変数tiflash_fastscanに置き換えられました。 v6.2.0 から v6.3.0 にアップグレードすると、v6.2.0 のすべての FastScan 設定が無効になりますが、データの通常の読み取りには影響しません。この場合、変数tiflash_fastscanを構成して FastScan を有効または無効にする必要があります。以前のバージョンから v6.3.0 にアップグレードする場合、FastScan 機能は、データの一貫性を保つためにすべてのセッションに対してデフォルトで有効になっていません。
  • Linux AMD64アーキテクチャで TiFlash を展開するには、CPU が AVX2 命令セットをサポートしている必要があります。 cat /proc/cpuinfo | grep avx2を使用して、出力があることを確認します。このような CPU 命令セットを使用することで、TiFlash のベクトル化エンジンはパフォーマンスを向上させることができます。

削除された機能

v6.3.0 以降、TiCDC は Pulsar シンクの構成をサポートしなくなりました。 StreamNative が提供するコップを代替として使用できます。

改良点

  • TiDB

    • TiDB は、テーブルの存在をチェックするときに、ターゲット テーブル名の大文字と小文字を区別しないようになりました#34610 @ ティアンカイマオ
    • init_connect #35324 @ Cbcウェストウルフの値を設定するときに解析チェックを追加して、MySQL の互換性を向上させます。
    • 新しい接続#34964 @ ションジウェイに対して生成されるログ警告を改善
    • DDL 履歴ジョブをクエリするために HTTP API を最適化し、 start_job_idパラメータ#35838 @ ティアンカイマオのサポートを追加します。
    • JSON パスの構文が間違っている場合にエラーを報告する#22525 #34959 @ ションジウェイ
    • 誤った共有の問題を修正して結合操作のパフォーマンスを改善する#37641 @ ゲンリキ
    • PLAN REPLAYERを使用して、一度に複数の SQL ステートメントの実行計画情報をエクスポートすることをサポートします。これにより、トラブルシューティングがより効率的になります#37798 @ イサール
  • TiKV

    • 1 つのピアが到達不能になった後に Raftstore があまりにも多くのメッセージをブロードキャストするのを避けるために、 unreachable_backoffのアイテムの構成をサポートします#13054 @ 5kbps
    • TSO サービス#12794 @ ピンギュの耐障害性の向上
    • RocksDB で同時に実行されるサブ圧縮操作の数を動的に変更するサポート ( rocksdb.max-sub-compactions ) #13145 @ イーサフロー
    • 空のリージョン#12421 @ タボキーをマージするパフォーマンスを最適化する
    • より多くの正規表現関数をサポート#13483 @ ゲンリキ
    • CPU 使用率#13313 @ 栄光に基づくスレッド プール サイズの自動調整のサポート
  • PD

    • TiDB ダッシュボード#5366 @ YiniXu9506の TiKV IO MBps メトリックのクエリを改善
    • TiDB ダッシュボードの URL をmetricsからmonitoring #5366 @ YiniXu9506に変更します
  • ティフラッシュ

  • ツール

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

      • PITR は、ログ バックアップで生成された小さなファイルをマージできるため、バックアップ ファイルの数が大幅に削減されます#13232 @ レヴルス
      • PITR は、復元後のアップストリーム クラスター構成に基づいて、TiFlash レプリカの数を自動的に構成することをサポートします#37208 @ ユジュンセン
    • TiCDC

      • MySQL 8.0 アップストリーム#6506 @ ランス6716の互換性を向上
      • MySQL シンクがエラー#6460 @ 大静脈を受け取ったときの DML ステートメントのログstart tsのサポート
      • api/v1/health API を強化して、TiCDC クラスター#4757 @ 大静脈のより正確な正常性状態を返します
      • MQ シンクと MySQL シンクを非同期モードで実装して、シンクのスループットを向上させる#5928 @ ヒック @ ハイラスチン
      • 非推奨のパルサー シンク#7087 @ ハイラスチンを削除します。
      • changefeed #6447 @ アスドンメンに関係のない DDL ステートメントを破棄することで、レプリケーションのパフォーマンスを向上させます
    • TiDB データ移行 (DM)

      • データ ソースとして MySQL 8.0 との互換性を向上#6448 @ ランス6716
      • 「無効な接続」が発生したときに DDL を非同期で実行することにより、DDL を最適化します#4689 @ lyzx2001
    • TiDB Lightning

      • S3 外部ストレージ URL のクエリ パラメータを追加して、特定のロール#36891 @ dsdashunを引き受けることで、別のアカウントの S3 データへのアクセスをサポートします

バグの修正

  • TiDB

    • PREPAREステートメント#35784 @ ルクァンチャオで権限チェックがスキップされる問題を修正
    • システム変数tidb_enable_noop_variableWARN #36647 @ ルクァンチャオに設定できる問題を修正
    • 式インデックスが定義されている場合、 INFORMAITON_SCHEMA.COLUMNSテーブルのORDINAL_POSITION列が正しくない可能性がある問題を修正します#31200 @ bb7133
    • タイムスタンプがMAXINT32 #31585 @ bb7133より大きい場合に TiDB がエラーを報告しない問題を修正
    • エンタープライズプラグイン使用時にTiDBサーバーが起動できない問題を修正#37319 @ xhebox
    • SHOW CREATE PLACEMENT POLICY #37526 @ xheboxの間違った出力を修正
    • 一時テーブル#37201 @ ルクァンチャオでの予期しないEXCHANGE PARTITIONの動作を修正します
    • INFORMATION_SCHEMA.TIKV_REGION_STATUSをクエリすると間違った結果が返される問題を修正 @ ジムラーラ
    • ビューのEXPLAINクエリが権限#34326 @ ホーキングレイをチェックしない問題を修正
    • JSON nullNULL #37852 @ ヤンケアオに更新できない問題を修正
    • DDL ジョブのrow_countつが不正確であるという問題を修正#25968 @ 定義済み2014
    • FLASHBACK TABLEが正しく動作しない問題を修正#37386 @ ティアンカイマオ
    • 一般的な MySQL プロトコル#36731 @ ドヴィーデンpreparedステートメント フラグの処理に失敗する問題を修正します。
    • いくつかの極端なケースで、起動時に誤った TiDB ステータスが表示される問題を修正します#36791 @ xhebox
    • INFORMATION_SCHEMA.VARIABLES_INFOがセキュリティ強化モード (SEM) #37586 @ Cbcウェストウルフに準拠していない問題を修正
    • UNION #31678 @ cbcwestwolfのクエリで文字列から文字列へのキャストがうまくいかない問題を修正
    • TiFlash #37254 @ wshwsh12のパーティション テーブルで動的モードを有効にしたときに発生する間違った結果を修正します。
    • TiDB のバイナリ文字列と JSON のキャストと比較が MySQL と互換性がない問題を修正#31918 #25053 @ ヤンケアオ
    • TiDB のJSON_OBJECTAGGJSON_ARRAYAGGがバイナリ値#25053 @ ヤンケアオで MySQL と互換性がない問題を修正
    • JSON opaque 値の比較でpanic#37315 @ ヤンケアオが発生する問題を修正
    • JSON集計関数#37287 @ ヤンケアオで単精度浮動小数点が使えない問題を修正
    • UNION演算子が予期しない空の結果#36903 @ ティアンカイマオを返す可能性がある問題を修正します
    • castRealAsTime式の結果がMySQL #37462 @ mengxin9014と矛盾する問題を修正
    • 悲観的な DML 操作が一意でないインデックス キー#36235 @ エキキシウムをロックする問題を修正します。
    • auto-commitの変更がトランザクションのコミット動作に影響する問題を修正#36581 @ cfzjywxk
    • トランザクション コミットが完了する前に、DML executor を含むEXPLAIN ANALYZEステートメントが結果を返す可能性があるという問題を修正します#37373 @ cfzjywxk
    • UPDATE ステートメントが誤ってプロジェクションを除外する場合があり、これによりCan't find columnエラー#37568 @ アイリンキッドが発生する問題を修正します。
    • 結合したテーブルの再配置操作が Outer Join 条件#37238 @ アイリンキッドを誤ってプッシュ ダウンする問題を修正します。
    • 一部のパターンでINおよびNOT INサブクエリがCan't find columnエラー#37032 @ アイリンキッドを報告する問題を修正します。
    • UPDATEステートメントに共通テーブル式 (CTE) #35758 @ アイリンキッドが含まれている場合にCan't find columnが報告される問題を修正します。
    • 間違ったPromQL #35856 @ 定義済み2014を修正
  • TiKV

    • リージョンのハートビートが中断された後、PD が TiKV に再接続しない問題を修正します#12934 @ バタフライ
    • Raftstore が#13160 @ 5kbpsでビジー状態の場合、リージョンが重複する可能性がある問題を修正
    • PD クライアントがデッドロックを引き起こす可能性がある問題を修正します#13191 @ バタフライ #12933 @ バートンチン
    • 暗号化を無効にすると TiKV がpanicになることがある問題を修正#13081 @ 嘉陽正
    • ダッシュボード#13086 @ 栄光Unified Read Pool CPUの間違った表現を修正
    • TiKV インスタンスが隔離されたネットワーク環境にある場合、数分間 TiKV サービスが利用できない問題を修正します#12966 @ コスベン
    • TiKV が誤ってPessimisticLockNotFoundエラー#13425 @ スティックナーフを報告する問題を修正
    • 状況によっては PITR がデータ損失を引き起こす可能性がある問題を修正します#13281 @ ユジュンセン
    • 長い悲観的なトランザクション#13304 @ ユジュンセンがある場合にチェックポイントが進められない問題を修正します。
    • TiKV が JSON #13417 @ ヤンケアオで datetime 型 ( DATETIMEDATETIMESTAMPTIME ) とSTRING型を区別しない問題を修正
    • JSON bool と他の JSON 値との比較の MySQL との非互換性を修正#13386 #37481 @ ヤンケアオ
  • PD

    • enable-forwardingが有効な場合に gRPC がエラーを不適切に処理するという問題によって引き起こされる PD パニックを修正します#5373 @ バタフライ
    • 異常なリージョンが PDpanic#5491 @ ノルーチを引き起こす可能性がある問題を修正します
    • TiFlash 学習者のレプリカが作成されない場合がある問題を修正#5401 @ フンドゥンDM
  • ティフラッシュ

    • ウィンドウ関数により、クエリがキャンセルされたときに TiFlash がクラッシュする可能性がある問題を修正します#5814 @ シーライズ
    • CAST(value AS DATETIME)の間違ったデータ入力が原因で TiFlash sys CPU #5097 @ xzhangxian1008が高くなる問題を修正
    • CAST(Real/Decimal AS time)の結果がMySQL #3779 @ mengxin9014と矛盾する問題を修正
    • ストレージ内の一部の古いデータを削除できない問題を修正#5570 @ ジェイソン・ファン
    • ページ GC がテーブル#5697 @ ジェイソン・ファンの作成をブロックする可能性がある問題を修正します
    • NULL#5859 @ ジェイソン・ファンを含む列でプライマリ インデックスを作成した後に発生するpanicを修正します。
  • ツール

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

      • チェックポイントの情報が古い#36423 @ ユジュンセンになる問題を修正
      • 復元時に同時実行数が大きすぎるため、リージョンのバランスが取れていない問題を修正します#37549 @ 3ポインター
      • クラスタ#37822 @ ユジュンセンに TiCDC が存在する場合、ログ バックアップ チェックポイント TS が停止する可能性がある問題を修正します。
      • 外部ストレージの認証キーに特殊文字が含まれているとバックアップや復元に失敗することがある問題を修正#37469 @MoCuishle28
    • TiCDC

      • grpc サービス#6458 @ クレラックスで間違った PD アドレスに対して TiCDC が不正確なエラーを返す問題を修正します。
      • cdc cause cli changefeed listコマンドが失敗した変更フィード#6334 @ アスドンメンを返さない問題を修正します。
      • changefeed の初期化が失敗したときに TiCDC が使用できない問題を修正します#6859 @ アスドンメン
    • Binlog

      • コンプレッサーが gzip #1152 @ リチュンジュに設定されている場合、 DrainerがリクエストをPumpに正しく送信できない問題を修正します。
    • TiDB データ移行 (DM)

      • DM がSpecified key was too longエラー#5315 @ ランス6716を報告する問題を修正
      • リレーがエラー#6193 @ ランス6716に遭遇したときのゴルーチン リークを修正
      • collation_compatible"strict"に設定されている場合、DM が重複した照合順序#6832 @ ランス6716で SQL を生成する可能性があるという問題を修正します。
      • DM-worker ログ#6628 @ lyzx2001で「binlog status_vars からタイムゾーンを取得するときにエラーが見つかりました」という警告メッセージの表示を減らします
      • レプリケーション#7028 @ ランス6716中に latin1 データが破損する可能性がある問題を修正します。
    • TiDB Lightning

      • TiDB Lightningが、Parquet ファイル#36980 @ D3ハンターでスラッシュ、数字、または非 ASCII 文字で始まる列をサポートしていないという問題を修正します

寄稿者

TiDB コミュニティの次の貢献者に感謝します。

エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2023 PingCAP. All Rights Reserved.