TiDB 6.3.0 リリースノート

発売日: 2022年9月30日

TiDB バージョン: 6.3.0-DMR

注記:

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

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

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

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

新機能

構文

  • 範囲パーティション定義を簡素化するための新しい構文糖 (範囲 INTERVAL パーティション) を追加します (実験的) #35683 @ ミョンス

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

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

    TiDB は範囲列によるパーティション分割 (column_list)サポートします。3 column_list単一の列に制限されなくなりました。基本的な機能は MySQL と同じです。

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

  • 2つのウィンドウ関数からシーライズまでのTiFlash #5579へのプッシュダウンをサポート

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

    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 倍になります。

Security

  • 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 @ 最後の切歯による認証をサポートしています

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

可観測性

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

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

  • スローログとTRACEステートメント#34106 @ 翻訳の出力が強化されました

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

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

    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 @ 修正DBの3段階の集約をサポートします。

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

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

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

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

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

  • ハッシュ結合#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 分離レベルでは、TSO のフェッチ方法を制御するためにシステム変数tidb_rc_write_check_tsが導入されています。プラン キャッシュ ヒットの場合、TiDB は TSO のフェッチ頻度を減らすことでバッチ DML ステートメントの実行効率を向上させ、バッチで実行中のタスクの実行時間を短縮します。

安定性

  • リソースを消費するクエリが軽量クエリの応答時間に与える影響を軽減する#13313 @ 栄光

    リソースを消費するクエリと軽量クエリが同時に実行されると、軽量クエリの応答時間に影響します。この場合、トランザクション サービスの品質を確保するために、軽量クエリは最初に TiDB によって処理されることが期待されます。v6.3.0 では、TiKV は読み取り要求のスケジュール メカニズムを最適化し、各ラウンドのリソースを消費するクエリの実行時間が期待どおりになるようにします。これにより、リソースを消費するクエリが軽量クエリの応答時間に与える影響が大幅に軽減され、混合ワークロード シナリオで P99レイテンシーが50% 以上削減されます。

  • 統計が古くなったときに統計をロードするデフォルトのポリシーを変更する#27601 @ 翻訳者

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

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

    オンライン TiKV ノードはタイタンを無効にするにすることができます。

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

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

使いやすさ

  • SQLベースのデータ配置ルールとTiFlashレプリカ#37171 @ lcwangchao間の競合に対処する

    TiDB v6.0.0 はSQLベースのデータ配置ルール提供します。ただし、この機能は実装上の問題によりTiFlashレプリカと競合します。TiDB v6.3.0 は実装メカニズムを最適化し、SQL ベースのデータ配置ルールとTiFlash間の競合を解決します。

MySQL 互換性

  • 4つの正規表現関数のサポートを追加することでREGEXP_LIKE() MySQL REGEXP_REPLACE()#23881互換性が向上しました: REGEXP_INSTR() REGEXP_SUBSTR() @ 風の話し手

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

  • CREATE USERALTER 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はジョッカウのバックアップストレージとしてGCS と Azure Blob ストレージサポートします

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

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

    S3 オブジェクトロックを有効にすることで、AWS 上のバックアップデータが改ざんされたり削除されたりするのを防ぐことができます。

データ移行

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

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

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

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

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

  • TiCDC は#4757 @ 金星の上 @ 3エースショーハンドの正常なアップグレードをサポートします

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

互換性の変更

システム変数

変数名タイプを変更説明
default_authentication_plugin修正済み新しいオプションtidb_sm3_passwordを追加します。この変数をtidb_sm3_passwordに設定すると、暗号化アルゴリズムとして SM3 が使用されます。
sql_require_primary_key新しく追加されたテーブルに主キーが必要であるという要件を強制するかどうかを制御します。この変数を有効にすると、主キーのないテーブルを作成または変更しようとするとエラーが発生します。
tidb_adaptive_closest_read_threshold新しく追加されたtidb_replica_readからclosest-adaptiveに設定されている場合、 TiDBサーバーがTiDBサーバーと同じリージョン内のレプリカに読み取り要求を送信することを優先するしきい値を制御します。
tidb_constraint_check_in_place_pessimistic新しく追加された悲観的トランザクションで TiDB が一意制約チェックするタイミングを制御します。
tidb_ddl_disk_quota新しく追加されたtidb_ddl_enable_fast_reorgが有効な場合にのみ有効になります。インデックス作成時のバックフィル中のローカルstorageの使用制限を設定します。
tidb_ddl_enable_fast_reorg新しく追加されたインデックス作成時のバックフィルの速度を向上させるために、 ADD INDEXおよびCREATE INDEX DDL 操作の高速化を有効にするかどうかを制御します。
tidb_ddl_flashback_concurrency新しく追加されたflashback clusterの同時実行性を制御します。この変数によって制御される機能は、TiDB v6.3.0 では完全には機能しません。デフォルト値を変更しないでください。
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新しく追加された特殊なセット演算子NOT IN!= ALLによって導かれるサブクエリによって Anti Join が生成される場合に、TiDB が Null 対応ハッシュ結合を適用するかどうかを制御します。
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_max_paging_size新しく追加されたこの変数は、コプロセッサ ページング要求プロセス中の最小行数を設定するために使用されます。
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 を有効にするかどうかを制御します。1 高速スキャン有効 ( ONに設定) の場合、 TiFlash はより効率的なクエリ パフォーマンスを提供しますが、クエリ結果の正確性やデータの一貫性は保証されません。

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

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

その他

  • ログ バックアップは、バックアップstorageとして 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が出力されていることを確認してください。Linux ARM64アーキテクチャでTiFlash を展開するには、CPU が ARMv8 命令セットアーキテクチャをサポートしている必要があります。3 cat /proc/cpuinfo | grep 'crc32' | grep 'asimd'出力されていることを確認してください。命令セット拡張を使用することで、TiFlash のベクトル化エンジンはより優れたパフォーマンスを発揮できます。
  • TiDB で動作する HAProxy の最小バージョンは現在 v1.5 です。v1.5 から v2.1 までの HAProxy バージョンでは、 mysql-checkpost-41構成オプションを設定する必要があります。HAProxy v2.2 以降を使用することをお勧めします。

削除された機能

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

改善点

  • ティビ

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

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

    • TiDBダッシュボード#5366 @ 宜尼Xu9506のTiKV IO MBpsメトリックのクエリを改善
    • TiDBダッシュボードのURLをmetricsからmonitoring #5366 @ 宜尼Xu9506に変更します
  • TiFlash

  • ツール

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

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

      • TiCDC とアップストリーム TiDB #6506 @ ランス6716で導入された並行 DDL フレームワークとの互換性を向上
      • MySQLシンクがエラー#6460 @ 金星の上を取得したときにDMLステートメントのstart tsログ記録をサポート
      • api/v1/health API を強化して、TiCDC クラスター#4757 @ 金星の上のより正確なヘルス状態を返すようにしました
      • シンクのスループットを向上させるために、非同期モードでMQシンクとMySQLシンクを実装する#5928 @ ヒック @ ハイラスティン
      • 廃止予定のパルサーシンク#7087 @ ハイラスティンを削除します
      • 変更フィードに関係のない DDL ステートメントを破棄することでレプリケーションのパフォーマンスを向上します#6447 @ アズドンメン
    • TiDB データ移行 (DM)

      • データソース#6448 @ ランス6716として MySQL 8.0 との互換性を向上
      • 「無効な接続」に遭遇したときに DDL を非同期的に実行して DDL を最適化します#4689 @ 翻訳者
    • TiDB Lightning

      • 特定のロール#36891 @ ダシュンを引き受けて別のアカウントの S3 データにアクセスできるように、S3 外部storageURL のクエリ パラメータを追加します。

バグ修正

  • ティビ

    • PREPAREステートメント#35784 @ lcwangchaoで権限チェックがスキップされる問題を修正
    • システム変数tidb_enable_noop_variableWARN #36647 @ lcwangchaoに設定できる問題を修正
    • 式インデックスが定義されている場合、 INFORMATION_SCHEMA.COLUMNSテーブルのORDINAL_POSITION列が正しくなくなる可能性がある問題を修正しました#31200 @ bb7133
    • タイムスタンプがMAXINT32 #31585 @ bb7133より大きい場合に TiDB がエラーを報告しない問題を修正しました
    • エンタープライズプラグイン使用時にTiDBサーバーを起動できない問題を修正#37319 @ xhebox
    • SHOW CREATE PLACEMENT POLICY #37526 @ xheboxの誤った出力を修正
    • 一時テーブル#37201 @ lcwangchaoの予期しない動作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 @ うわーのパーティション テーブルで動的モードを有効にしたときに発生する誤った結果を修正しました。
    • TiDB のバイナリ文字列と JSON 間のキャストおよび比較が MySQL #31918 #25053 @ ヤンケオと互換性がない問題を修正
    • TiDB のJSON_OBJECTAGGJSON_ARRAYAGGバイナリ値#25053 @ ヤンケオで MySQL と互換性がない問題を修正しました。
    • JSON の不透明値の比較でpanicが発生する問題を修正#37315 @ ヤンケオ
    • JSON集計関数#37287 @ ヤンケオで単精度浮動小数点が使用できない問題を修正
    • UNION演算子が予期しない空の結果#36903 @ 天菜まおを返す可能性がある問題を修正しました
    • castRealAsTime式の結果が MySQL #37462 @ メンシン9014と一致しない問題を修正
    • 悲観的DML操作が非一意のインデックスキー#36235 @ エキシウムをロックする問題を修正
    • auto-commitの変更がトランザクションのコミット動作#36581 @ 翻訳に影響する問題を修正
    • DMLエグゼキュータを使用したEXPLAIN ANALYZE文が、トランザクションコミットが完了する前に結果を返す可能性がある問題を修正#37373 @ 翻訳
    • UPDATE ステートメントが場合によっては投影を誤って削除し、 Can't find columnエラー#37568 @ アイリンキッドが発生する問題を修正しました。
    • 結合したテーブルの再配置操作で誤って外部結合条件#37238 @ アイリンキッドがプッシュダウンされる問題を修正しました。
    • 一部のパターンのINおよびNOT INサブクエリがCan't find columnエラー#37032 @ アイリンキッドを報告する問題を修正しました
    • UPDATEステートメントに共通テーブル式 (CTE) #35758 @ アイリンキッドが含まれている場合にCan't find column報告される問題を修正しました
    • 間違ったPromQL #35856 @ 定義2014を修正
  • ティクヴ

    • リージョンハートビートが中断された後に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 が日付時刻型 ( DATETIMEDATETIMESTAMPTIME ) と JSON #13417 @ ヤンケオSTRING型を区別しない問題を修正しました
    • JSON bool と他の JSON 値の比較における MySQL との非互換性を修正#13386 #37481 @ ヤンケオ
  • PD

    • enable-forwardingが有効になっている場合に gRPC がエラーを不適切に処理する問題によって発生する PD パニックを修正#5373 @ バッファフライ
    • 不健全なリージョンがPDpanic#5491 @ ノルーシュを引き起こす可能性がある問題を修正
    • TiFlash学習レプリカが作成されない可能性がある問題を修正#5401 @ ハンダンDM
  • TiFlash

  • ツール

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

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

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

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

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

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

寄稿者

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

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

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