📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDB 7.1.0 リリースノート



発売日:2023年5月31日

TiDB バージョン: 7.1.0

クイックアクセス: クイックスタート | 本番環境への展開

TiDB 7.1.0 は長期サポートリリース (LTS) です。

以前の LTS 6.5.0 と比較して、7.1.0 には、 6.6.0-DMR7.0.0-DMRでリリースされた新機能、改善、バグ修正が含まれているだけでなく、次の主要な機能と改善も導入されています。

カテゴリ特徴説明
スケーラビリティとパフォーマンスTiFlash は、分散storageとコンピューティングアーキテクチャ、および S3 共有storage(実験的、v7.0.0 で導入) をサポートします。 TiFlash は、オプションとしてクラウドネイティブアーキテクチャを導入します。
  • TiFlash のコンピューティングとstorageを分離します。これは、弾力的な HTAP リソース利用のマイルストーンとなります。
  • 低コストで共有storageを提供できる S3 ベースのstorageエンジンを導入します。
TiKV はバッチ集約データ要求をサポートします (v6.6.0 で導入)この機能強化により、TiKVバッチゲット操作におけるRPCの総数が大幅に削減されます。データが広範囲に分散し、gRPCスレッドプールのリソースが不足している状況では、コプロセッサリクエストをバッチ処理することでパフォーマンスを50%以上向上させることができます。
負荷ベースのレプリカ読み取り読み取りホットスポットのシナリオでは、TiDBはホットスポットTiKVノードへの読み取り要求をそのレプリカにリダイレクトできます。この機能により、読み取りホットスポットが効率的に分散され、クラスタリソースの利用が最適化されます。負荷ベースのレプリカ読み取りをトリガーするしきい値を制御するには、システム変数tidb_load_based_replica_read_thresholdを調整します。
TiKV はパーティション化されたRaft KVstorageエンジンをサポートします (実験的) TiKVは、新世代のstorageエンジンであるパー​​ティション型Raft KVを導入します。各データリージョンに専用のRocksDBインスタンスを割り当てることで、クラスターのstorage容量をテラバイトレベルからペタバイトレベルに拡張し、より安定した書き込みレイテンシーと強力なスケーラビリティを実現します。
信頼性と可用性リソースグループによるリソース制御(GA)リソースグループに基づくリソース管理をサポートします。これにより、同一クラスター内の異なるワークロードにリソースを割り当て、分離することができます。この機能は、マルチアプリケーション・クラスターの安定性を大幅に向上させ、マルチテナンシーの基盤を構築します。v7.1.0では、この機能により、実際のワークロードまたはハードウェア構成に基づいてシステム容量を見積もる機能が導入されました。
TiFlash はディスクへの書き込みをサポートします (v7.0.0 で導入) TiFlash は、集計、ソート、ハッシュ結合などのデータ集約型操作における OOM を軽減するために、ディスクへの中間結果のスピルをサポートします。
SQL 多値インデックス(GA) MySQL互換の多値インデックスをサポートし、JSON型を拡張することでMySQL 8.0との互換性を向上させました。この機能により、多値列のメンバーシップチェックの効率が向上します。
行レベルの TTL (v7.0.0 で GA)一定の期間を経過したデータを自動的に期限切れにすることで、データベース サイズの管理をサポートし、パフォーマンスを向上します。
生成された列(GA)生成された列の値は、列定義内のSQL式によってリアルタイムで計算されます。この機能により、一部のアプリケーションロジックがデータベースレベルにプッシュされ、クエリの効率が向上します。
SecurityLDAP認証TiDB は、 MySQL 8.0と互換性のある LDAP 認証をサポートしています。
監査ログの強化エンタープライズ エディションのみ) TiDB Enterprise Editionは、データベース監査機能を強化しました。よりきめ細かなイベントフィルタリング制御、よりユーザーフレンドリーなフィルタ設定、JSON形式の新しいファイル出力形式、監査ログのライフサイクル管理を提供することで、システム監査能力を大幅に向上させます。

機能の詳細

パフォーマンス

  • パーティション化されたRaft KVstorageエンジンの強化 (実験的) #11515 #12842 @ 忙しいカケス @ トニーシュキ @ タボキ @ バッファフライ @ 5kbps @ スペードA-タン @ ノルーシュ

    TiDB v6.6.0では、実験的機能としてPartitioned Raft KVstorageエンジンが導入されました。このストレージエンジンは、複数のRocksDBインスタンスを使用してTiKVリージョンデータを保存し、各リージョンのデータは独立したRocksDBインスタンスに独立して保存されます。この新しいstorageエンジンは、RocksDBインスタンス内のファイルの数とレベルをより適切に制御し、リージョン間のデータ操作の物理的な分離を実現し、より多くのデータの安定した管理をサポートします。従来のTiKVstorageエンジンと比較して、Partitioned Raft KVstorageエンジンを使用すると、同じハードウェア条件で読み取りと書き込みが混在するシナリオにおいて、書き込みスループットが約2倍になり、エラスティックスケーリング時間が約4/5短縮されます。

    TiDB v7.1.0 では、Partitioned Raft KVstorageエンジンがTiDB Lightning、 BR、TiCDC などのツールをサポートしています。

    現在、この機能は実験的であり、本番環境での使用は推奨されません。このエンジンは新規に作成されたクラスターでのみ使用でき、元のTiKVstorageエンジンから直接アップグレードすることはできません。

    詳細についてはドキュメント参照してください。

  • TiFlashは遅延マテリアライゼーション(GA) #5829 @ ロイド・ポティガーをサポートします

    v7.0.0 では、クエリ パフォーマンスを最適化するための実験的機能として、 TiFlashに遅延マテリアライゼーションが導入されました。この機能はデフォルトでは無効になっています ( tidb_opt_enable_late_materializationシステム変数はデフォルトでOFFに設定されます)。フィルタ条件 ( WHERE句) を含むSELECTステートメントを処理する場合、 TiFlash はクエリに必要な列からすべてのデータを読み取り、クエリ条件に基づいてデータをフィルタリングおよび集計します。遅延マテリアライゼーションを有効にすると、TiDB はフィルタ条件の一部を TableScan 演算子にプッシュ ダウンすることをサポートします。つまり、 TiFlash は最初に TableScan 演算子にプッシュ ダウンされるフィルタ条件に関連する列データをスキャンし、条件を満たす行をフィルタリングしてから、これらの行の他の列データをスキャンしてさらに計算を行うため、IO スキャンとデータ処理の計算が削減されます。

    バージョン7.1.0以降、 TiFlashの遅延マテリアライゼーション機能が一般提供され、デフォルトで有効化されています(システム変数tidb_opt_enable_late_materializationはデフォルトでONに設定されています)。TiDBオプティマイザーは、クエリの統計情報とフィルター条件に基づいて、TableScan演算子にプッシュダウンするフィルターを決定します。

    詳細についてはドキュメント参照してください。

  • TiFlashは、ネットワーク伝送のオーバーヘッドに応じてMPP Joinアルゴリズムを自動的に選択することをサポートしています#7084 @ ソロツグ

    TiFlash MPPモードは複数の結合アルゴリズムをサポートしています。v7.1.0より前のバージョンでは、TiDBはtidb_broadcast_join_threshold_counttidb_broadcast_join_threshold_size変数と実際のデータ量に基づいて、MPPモードでブロードキャストハッシュ結合アルゴリズムを使用するかどうかを判断します。

    v7.1.0 では、TiDB にtidb_prefer_broadcast_join_by_exchange_data_size変数が導入されました。この変数は、ネットワーク伝送の最小オーバーヘッドに基づいて MPP Join アルゴリズムを選択するかどうかを制御し、この変数はデフォルトで無効になっています。この変数をONに設定すると、デフォルトのアルゴリズム選択方法が v7.1.0 以前と同じままであることを示します。この変数を有効にすると、 tidb_broadcast_join_threshold_counttidb_broadcast_join_threshold_size変数を手動で調整する必要がなくなります(この時点では両方の変数は有効になりません)。TiDB は、異なる Join アルゴリズムによるネットワーク伝送のしきい値を自動的に推定し、全体的なオーバーヘッドが最小のアルゴリズムを選択します。これにより、ネットワークトラフィックが削減され、MPP クエリのパフォーマンスが向上します。

    詳細についてはドキュメント参照してください。

  • 読み取りホットスポットを軽減するために負荷ベースのレプリカ読み取りをサポートする#14151 @ スティクナーフ @ あなた06

    読み取りホットスポットが発生すると、ホットスポット TiKV ノードは読み取り要求を時間内に処理できず、読み取り要求がキューイングされます。ただし、この時点ですべての TiKV リソースが使い果たされるわけではありません。レイテンシーを短縮するために、TiDB v7.1.0 では負荷ベースのレプリカ読み取り機能が導入されました。この機能により、TiDB はホットスポット TiKV ノードでキューイングすることなく、他の TiKV ノードからデータを読み取ることができます。読み取り要求のキューの長さは、 tidb_load_based_replica_read_thresholdシステム変数を使用して制御できます。リーダーノードの推定キュー時間がこのしきい値を超えると、TiDB はフォロワーノードからのデータの読み取りを優先します。この機能により、読み取りホットスポットが発生すると、読み取りホットスポットを分散させない場合と比較して、読み取りスループットが 70% ~ 200% 向上します。

    詳細についてはドキュメント参照してください。

  • 非準備済みステートメントの実行プランをキャッシュする機能の強化(実験的) #36598 @ qw4990

    TiDB v7.0.0では、同時実行OLTPの負荷容量を向上させるための実験的機能として、非準備プランキャッシュが導入されました。v7.1.0では、この機能が強化され、より多くのSQL文のキャッシュがサポートされるようになりました。

    メモリ使用率を向上させるため、TiDB v7.1.0 では、準備されていないプランキャッシュと準備済みのプランキャッシュのキャッシュプールを統合します。キャッシュサイズはシステム変数tidb_session_plan_cache_sizeを使用して制御できます。システム変数tidb_prepared_plan_cache_sizetidb_non_prepared_plan_cache_sizeは非推奨です。

    前方互換性を維持するため、以前のバージョンからv7.1.0以降のバージョンにアップグレードする場合、キャッシュサイズtidb_session_plan_cache_size tidb_prepared_plan_cache_sizeと同じ値のままになり、 tidb_enable_non_prepared_plan_cacheアップグレード前の設定のままになります。十分なパフォーマンステストを行った後、 tidb_enable_non_prepared_plan_cacheを使用して非準備プランキャッシュを有効化できます。新規に作成されたクラスターでは、非準備プランキャッシュはデフォルトで有効化されています。

    非準備プランキャッシュは、デフォルトではDML文をサポートしません。この制限を解除するには、システム変数tidb_enable_non_prepared_plan_cache_for_dmlONに設定してください。

    詳細についてはドキュメント参照してください。

  • TiDB 分散実行フレームワーク (DXF) のサポート (実験的) #41495 @ ベンジャミン2037

    TiDB v7.1.0より前では、DDLオーナーとして機能し、同時にDDLタスクを実行できるのは1つのTiDBノードのみでした。TiDB v7.1.0以降の新しいDXFでは、複数のTiDBノードが同じDDLタスクを並列に実行できるため、TiDBクラスターのリソースをより有効に活用し、DDLのパフォーマンスを大幅に向上させることができます。さらに、TiDBノードを追加することで、DDLのパフォーマンスを線形的に向上させることができます。この機能は現在実験的であり、 ADD INDEX操作のみをサポートしていることにご注意ください。

    DXFを使用するには、 tidb_enable_dist_taskの値をONに設定します。

    SET GLOBAL tidb_enable_dist_task = ON;

    詳細についてはドキュメント参照してください。

信頼性

  • リソース制御が一般提供開始 (GA) #38825 @ ノルーシュ @ 生まれ変わった人 @ 栄光 @ 天菜麻緒 @ コナー1996 @ Jmポテト @ ネス @ キャビンフィーバーB @ HuSharp

    TiDBは、リソースグループに基づくリソース制御機能を強化し、v7.1.0でGAとなりました。この機能により、TiDBクラスターのリソース利用効率とパフォーマンスが大幅に向上します。リソース制御機能の導入は、TiDBにとって画期的な出来事です。分散データベースクラスターを複数の論理ユニットに分割し、異なるデータベースユーザーを対応するリソースグループにマッピングし、必要に応じて各リソースグループのクォータを設定できます。クラスターリソースが制限されている場合、同じリソースグループ内のセッションで使用されるすべてのリソースはクォータに制限されます。これにより、あるリソースグループが過剰に消費されても、他のリソースグループのセッションには影響がありません。

    この機能により、異なるシステムの複数の中小規模アプリケーションを単一のTiDBクラスタに統合できます。アプリケーションのワークロードが増加しても、他のアプリケーションの正常な動作に影響を与えることはありません。システムのワークロードが低い場合は、設定されたクォータを超えても、高負荷のアプリケーションに必要なシステムリソースを割り当てることができるため、リソースを最大限に活用できます。さらに、リソース制御機能を合理的に活用することで、クラスタ数を削減し、運用・保守の難易度を軽減し、管理コストを削減できます。

    TiDB v7.1.0では、実際のワークロードやハードウェア構成に基づいてシステム容量を見積もる機能が導入されました。この見積機能は、キャパシティプランニングのためのより正確な基準を提供し、エンタープライズレベルのシナリオにおける安定性のニーズを満たすためにTiDBのリソース割り当てをより適切に管理するのに役立ちます。

    ユーザーエクスペリエンスを向上させるために、TiDB ダッシュボードはリソースマネージャーページ提供します。このページでは、リソースグループの構成を表示し、クラスターの容量を視覚的に見積もることができるため、適切なリソース割り当てが容易になります。

    詳細についてはドキュメント参照してください。

  • フォールトトレランスと自動リカバリ機能を向上させるために、高速オンラインDDLのチェックポイントメカニズムをサポートします#42164 @ 接線

    TiDB v7.1.0では、 高速オンラインDDLのチェックポイント機構が導入され、Fast Online DDLのフォールトトレランスと自動リカバリ機能が大幅に向上しました。障害によりTiDBオーナーノードが再起動または変更された場合でも、TiDBは定期的に自動更新されるチェックポイントから進捗状況をリカバリできるため、DDL実行の安定性と効率性が向上します。

    詳細についてはドキュメント参照してください。

  • バックアップと復元はチェックポイント復元#42339 @ リーヴルスをサポートします

    スナップショットの復元やログの復元は、ディスク枯渇やノードクラッシュなどの回復可能なエラーにより中断される可能性があります。TiDB v7.1.0より前のバージョンでは、エラーに対処した後でも中断前の復元の進行状況が無効になり、復元を最初からやり直す必要がありました。大規模クラスターでは、これはかなりの追加コストが発生します。

    TiDB v7.1.0以降、バックアップ&リストア(BR)にチェックポイント・リストア機能が導入され、中断されたリストアを再開できるようになりました。この機能により、中断されたリストアのリカバリ進行状況の大部分を保持できます。

    詳細についてはドキュメント参照してください。

  • 統計#42160 @ xuyifangreeneyesのロード戦略を最適化する

    TiDB v7.1.0では、軽量統計初期化機能が実験的機能として導入されました。軽量統計初期化により、起動時にロードする必要がある統計情報の数が大幅に削減され、統計情報のロード速度が向上します。この機能により、複雑なランタイム環境におけるTiDBの安定性が向上し、TiDBノードの再起動時にサービス全体への影響が軽減されます。この機能を有効にするには、パラメータlite-init-statstrueを設定します。

    TiDBの起動時、初期統計情報が完全にロードされる前に実行されるSQL文は、最適ではない実行プランを持つ可能性があり、パフォーマンスの問題を引き起こす可能性があります。このような問題を回避するために、TiDB v7.1.0では設定パラメータforce-init-statsが導入されました。このオプションを使用すると、起動時に統計情報の初期化が完了した後にのみTiDBがサービスを提供するかどうかを制御できます。このパラメータはデフォルトで無効になっています。

    詳細についてはドキュメント参照してください。

  • TiCDCは、単一行データのデータ整合性検証機能をサポートしています#8718 #42747 @ 3エースショーハンド @ ジグアン

    v7.1.0以降、TiCDCはデータ整合性検証機能を導入しました。この機能は、チェックサムアルゴリズムを用いて単一行データの整合性を検証します。この機能は、TiDBからデータを書き込み、TiCDCを介してレプリケーションし、Kafkaクラスターに書き込むプロセスでエラーが発生していないかどうかを検証するのに役立ちます。データ整合性検証機能は、Kafkaをダウンストリームとして使用するチェンジフィードのみをサポートし、現在はAvroプロトコルをサポートしています。

    詳細についてはドキュメント参照してください。

  • TiCDCはDDLレプリケーション操作#8686 ハイ・ラスティンで最適化します

    v7.1.0より前のバージョンでは、大規模なテーブルのすべての行に影響を与えるDDL操作(列の追加や削除など)を実行すると、TiCDCのレプリケーションレイテンシーが大幅に増加していました。v7.1.0以降、TiCDCはこのレプリケーション操作を最適化し、DDL操作が下流のレイテンシーに与える影響を軽減します。

    詳細についてはドキュメント参照してください。

  • TiB レベルのデータをインポートする際のTiDB Lightningの安定性を向上#43510 #43657 @ D3ハンター @ ランス6716

    v7.1.0 以降、 TiDB Lightning には、TiB レベルのデータをインポートする際の安定性を向上させるために 4 つの構成項目が追加されました。

    • tikv-importer.region-split-batch-sizeバッチでリージョンを分割する際のリージョンの数を制御します。デフォルト値は4096です。
    • tikv-importer.region-split-concurrencyリージョン分割時の同時実行を制御します。デフォルト値は CPU コアの数です。
    • tikv-importer.region-check-backoff-limit 、分割および分散処理後にリージョンがオンラインになるまでの再試行回数を制御します。デフォルト値は1800で、最大再試行間隔は 2 秒です。再試行の間にいずれかのリージョンがオンラインになった場合、再試行回数は増加しません。
    • tikv-importer.pause-pd-scheduler-scope TiDB Lightning がPD スケジューリングを一時停止する範囲を制御します。値のオプションは"table""global"です。デフォルト値は"table"です。v6.1.0 より前のバージョンの TiDB では、データインポート中にグローバルスケジューリングを一時停止する"global"オプションのみを設定できます。v6.1.0 以降では、ターゲットテーブルデータが格納されているリージョンのスケジューリングのみを一時停止する"table"オプションがサポートされています。データ量が多いシナリオでは、安定性を向上させるために、この設定項目を"global"に設定することをお勧めします。

    詳細についてはドキュメント参照してください。

SQL

  • INSERT INTO SELECTステートメントを使用したTiFlashクエリ結果の保存をサポート (GA) #37515 @ ゲンリチ

    TiDB v6.5.0以降、 INSERT INTO SELECTステートメントのSELECTの句(分析クエリ)をTiFlashにプッシュダウンできるようになりました。これにより、 TiFlashクエリの結果をINSERT INTOの句で指定されたTiDBテーブルに簡単に保存し、さらに分析することができます。これは、結果のキャッシュ(つまり、結果のマテリアライゼーション)として機能します。

    この機能はバージョン7.1.0で一般公開されています。3 INSERT INTO SELECTSELECT節の実行中、オプティマイザーは、 SQLモードとTiFlashレプリカのコスト見積もりに基づいて、クエリをTiFlashにプッシュダウンするかどうかをインテリジェントに決定できます。そのため、実験的段階で導入されたtidb_enable_tiflash_read_for_write_stmtシステム変数は非推奨となりました。TiFlashのINSERT INTO SELECT文の計算規則はSTRICT SQL Mode要件を満たしていないため、TiDBは、現在のセッションのSQLモードが厳密でない場合にのみ、 INSERT INTO SELECT文のSELECT節をTiFlashにプッシュダウンすることを許可します。つまり、 sql_mode値にSTRICT_TRANS_TABLESSTRICT_ALL_TABLESが含まれません。

    詳細についてはドキュメント参照してください。

  • MySQL互換のマルチ値インデックスが一般提供(GA)される#39592 @ ションジウェイ @ qw4990 @ ヤンケオ

    JSON列内の配列の値をフィルタリングすることは一般的な操作ですが、通常のインデックスではこのような操作を高速化できません。配列に複数値インデックスを作成すると、フィルタリングのパフォーマンスが大幅に向上します。JSON列の配列に複数値インデックスがある場合、 MEMBER OF() JSON_CONTAINS() JSON_OVERLAPS()で検索条件をフィルタリングするために複数値インデックスを使用できます。これにより、 I/O消費量が削減され、操作速度が向上します。

    バージョン7.1.0では、多値インデックス機能が一般提供(GA)されました。より包括的なデータ型をサポートし、TiDBツールとの互換性も備えています。多値インデックスを使用することで、本番環境におけるJSON配列の検索操作を高速化できます。

    詳細についてはドキュメント参照してください。

  • ハッシュおよびキーパーティションテーブルのパーティション管理を改善#42728 @ ミョンス

    v7.1.0より前では、TiDBのハッシュおよびキーパーティションテーブルは、パーティション管理ステートメントTRUNCATE PARTITIONをサポートしていました。v7.1.0以降では、ハッシュおよびキーパーティションテーブルは、パーティション管理ステートメントADD PARTITIONおよびCOALESCE PARTITIONもサポートするようになりました。そのため、必要に応じてハッシュおよびキーパーティションテーブルのパーティション数を柔軟に調整できます。例えば、パーティション管理ステートメントADD PARTITIONでパーティション数を増やしたり、パーティション管理ステートメントCOALESCE PARTITIONでパーティション数を減らしたりすることができます。

    詳細についてはドキュメント参照してください。

  • 範囲INTERVALパーティションの構文が一般公開(GA) #35683 @ ミョンスになります

    バージョン6.3.0で導入されたRange INTERVALパーティショニングの構文がGAになりました。この構文を使用すると、すべてのパーティションを列挙することなく、任意の間隔でRangeパーティショニングを定義できるため、RangeパーティショニングのDDL文の長さが大幅に短縮されます。この構文は、従来のRangeパーティショニングの構文と同等です。

    詳細についてはドキュメント参照してください。

  • 生成された列はbb7133に一般公開(GA)されます

    生成列はデータベースにとって貴重な機能です。テーブル作成時に、列の値をユーザーが明示的に挿入または更新するのではなく、テーブル内の他の列の値に基づいて計算するように定義できます。この生成列は、仮想列または保存列のいずれかです。TiDBは以前のバージョンからMySQL互換の生成列をサポートしており、この機能はv7.1.0でGAになります。

    生成列を使用すると、TiDBのMySQL互換性が向上し、MySQLからの移行プロセスが簡素化されます。また、データメンテナンスの複雑さが軽減され、データの一貫性とクエリ効率が向上します。

    詳細についてはドキュメント参照してください。

DB操作

  • DDL 操作を手動でキャンセルせずに、スムーズなクラスタ アップグレードをサポート (実験的) #39751 @ ジムララ

    TiDB v7.1.0 より前のバージョンでは、クラスターをアップグレードするには、アップグレード前に実行中またはキューに入れられた DDL タスクを手動でキャンセルし、アップグレード後に再度追加する必要があります。

    よりスムーズなアップグレードを実現するために、TiDB v7.1.0 では DDL タスクの自動一時停止と再開をサポートしています。v7.1.0 以降では、事前に DDL タスクを手動でキャンセルすることなく、クラスターをアップグレードできます。TiDB は、アップグレード前に実行中またはキューに登録されているユーザー DDL タスクを自動的に一時停止し、ローリングアップグレード後にこれらのタスクを再開します。これにより、TiDB クラスターのアップグレードが容易になります。

    詳細についてはドキュメント参照してください。

可観測性

Security

  • TiFlashシステムテーブル情報のクエリに使用されるインターフェイスを置き換えます#6941 @ フロービーハッピー

    v7.1.0 以降、TiDB のINFORMATION_SCHEMA.TIFLASH_TABLESおよびINFORMATION_SCHEMA.TIFLASH_SEGMENTSシステム テーブルのクエリ サービスを提供する際に、 TiFlash はHTTP ポートではなく gRPC ポートを使用するようになりました。これにより、HTTP サービスのセキュリティ リスクが回避されます。

  • LDAP認証#43580 @ ヤンケオをサポート

    v7.1.0 以降、TiDB は LDAP 認証をサポートし、 authentication_ldap_saslauthentication_ldap_simple 2 つの認証プラグインを提供します。

    詳細についてはドキュメント参照してください。

  • データベース監査機能の強化(エンタープライズエディション)

    v7.1.0 では、TiDB Enterprise Edition でデータベース監査機能が強化され、その機能が大幅に拡張され、ユーザー エクスペリエンスが向上して、企業のデータベース セキュリティ コンプライアンスのニーズに対応できるようになりました。

    • より詳細な監査イベント定義とよりきめ細かな監査設定のために、「フィルター」と「ルール」の概念を導入します。
    • JSON 形式でのルールの定義をサポートし、よりユーザーフレンドリーな構成方法を提供します。
    • 自動ログローテーションとスペース管理関数を追加し、保持時間とログサイズの 2 つの次元でのログローテーションの構成をサポートします。
    • 監査ログをTEXTと JSON 形式の両方で出力できるようにすることで、サードパーティ ツールとの統合が容易になります。
    • 監査ログの編集をサポートします。セキュリティ強化のため、すべてのリテラルを置き換えることができます。

    データベース監査は、TiDB Enterprise Editionの重要な機能です。この機能は、企業のデータセキュリティとコンプライアンスを確保するための強力な監視・監査ツールを提供します。企業の管理者は、データベース操作の発生源と影響を追跡し、不正なデータ盗難や改ざんを防止することができます。さらに、データベース監査は、企業が様々な規制やコンプライアンス要件を満たし、法的および倫理的コンプライアンスを確保するのにも役立ちます。この機能は、企業の情報セキュリティにとって重要なアプリケーション価値を持っています。

    詳細については、 ユーザーガイドご覧ください。この機能はTiDB Enterprise Editionに含まれています。この機能を使用するには、 TiDBエンタープライズページに移動してTiDB Enterprise Editionを入手してください。

互換性の変更

注記:

このセクションでは、v7.0.0から最新バージョン(v7.1.0)にアップグレードする際に知っておくべき互換性の変更点について説明します。v6.6.0以前のバージョンから最新バージョンにアップグレードする場合は、中間バージョンで導入された互換性の変更点も確認する必要があるかもしれません。

行動の変化

  • セキュリティを向上させるために、 TiFlashはHTTPサービスポート(デフォルト8123 )を廃止し、代わりにgRPCポートを使用します。

    TiFlash をv7.1.0 にアップグレードした場合、TiDB を v7.1.0 にアップグレードする際に、TiDB はTiFlashシステム テーブル ( INFORMATION_SCHEMA.TIFLASH_TABLESINFORMATION_SCHEMA.TIFLASH_SEGMENTS ) を読み取ることができません。

  • TiDB バージョン v6.2.0 から v7.0.0 のTiDB Lightning は、TiDB クラスターのバージョンに基づいてグローバル スケジューリングを一時停止するかどうかを決定します。TiDB クラスター バージョン >= v6.1.0 の場合、スケジュールはターゲット テーブル データを格納するリージョンに対してのみ一時停止され、ターゲット テーブルのインポートが完了すると再開されます。その他のバージョンの場合、 TiDB Lightning はグローバル スケジューリングを一時停止します。TiDB v7.1.0 以降では、 pause-pd-scheduler-scope設定することで、グローバル スケジューリングを一時停止するかどうかを制御できます。デフォルトでは、 TiDB Lightning はターゲット テーブル データを格納するリージョンのスケジュールを一時停止します。ターゲット クラスターのバージョンが v6.1.0 より前の場合、エラーが発生します。この場合、パラメータの値を"global"に変更して再試行できます。

  • TiDB v7.1.0でFLASHBACK CLUSTER TO TIMESTAMP使用すると、FLASHBACK操作が完了した後も、一部のリージョンがFLASHBACKプロセスに残る可能性があります。v7.1.0ではこの機能の使用を避けることをお勧めします。詳細については、問題#44292を参照してください。この問題が発生した場合は、機能TiDBスナップショットのバックアップと復元を使用してデータを復元できます。

システム変数

変数名タイプを変更説明
tidb_enable_tiflash_read_for_write_stmt非推奨デフォルト値をOFFからONに変更します。 tidb_allow_mpp = ONの場合、オプティマイザーはSQLモードとTiFlashレプリカのコスト見積もりに基づいて、クエリをTiFlashにプッシュダウンするかどうかをインテリジェントに決定します。
tidb_non_prepared_plan_cache_size非推奨バージョン7.1.0以降、このシステム変数は非推奨となりました。1 tidb_session_plan_cache_size指定することで、キャッシュ可能なプランの最大数を制御できます。
tidb_prepared_plan_cache_size非推奨バージョン7.1.0以降、このシステム変数は非推奨となりました。1 tidb_session_plan_cache_size指定することで、キャッシュ可能なプランの最大数を制御できます。
tidb_ddl_distribute_reorg削除済みこの変数の名前はtidb_enable_dist_taskに変更されます。
default_authentication_plugin修正済み2 つの新しい値オプションauthentication_ldap_saslauthentication_ldap_simpleが導入されました。
tidb_load_based_replica_read_threshold修正済みバージョン7.1.0以降で有効となり、負荷ベースのレプリカ読み取りをトリガーするためのしきい値を制御します。追加のテストを経て、デフォルト値を"0s"から"1s"に変更します。
tidb_opt_enable_late_materialization修正済みデフォルト値をOFFからONに変更します。これは、 TiFlash の遅延マテリアライゼーション機能がデフォルトで有効になっていることを意味します。
authentication_ldap_sasl_auth_method_name新しく追加されたLDAP SASL 認証における認証方法名を指定します。
authentication_ldap_sasl_bind_base_dn新しく追加されたLDAP SASL認証における検索ツリー内の検索範囲を制限します。1 AS ...の句を指定せずにユーザーが作成された場合、TiDBはユーザー名に基づいてLDAPサーバー内のdnの句を自動的に検索します。
authentication_ldap_sasl_bind_root_dn新しく追加されたLDAP SASL 認証でユーザーを検索するために LDAPサーバーにログインするために使用されるdn指定します。
authentication_ldap_sasl_bind_root_pwd新しく追加されたLDAP SASL 認証でユーザーを検索するために LDAPサーバーにログインするために使用されるパスワードを指定します。
authentication_ldap_sasl_ca_path新しく追加されたLDAP SASL 認証における StartTLS 接続用の証明機関ファイルの絶対パスを指定します。
authentication_ldap_sasl_init_pool_size新しく追加されたLDAP SASL 認証で LDAPサーバーへの接続プール内の初期接続を指定します。
authentication_ldap_sasl_max_pool_size新しく追加されたLDAP SASL 認証における LDAPサーバーへの接続プールの最大接続数を指定します。
authentication_ldap_sasl_server_host新しく追加されたLDAP SASL 認証で LDAPサーバーホストを指定します。
authentication_ldap_sasl_server_port新しく追加されたLDAP SASL 認証における LDAPサーバーのTCP/IP ポート番号を指定します。
authentication_ldap_sasl_tls新しく追加されたプラグインによる LDAPサーバーへの接続が LDAP SASL 認証の StartTLS で保護されるかどうかを指定します。
authentication_ldap_simple_auth_method_name新しく追加されたLDAP簡易認証における認証方式名を指定します。1 SIMPLEサポートされます。
authentication_ldap_simple_bind_base_dn新しく追加されたLDAP簡易認証における検索ツリー内の検索範囲を制限します。1 AS ...の句を指定せずにユーザーが作成された場合、TiDBはユーザー名に基づいてLDAPサーバー内のdnの句を自動的に検索します。
authentication_ldap_simple_bind_root_dn新しく追加されたLDAP 簡易認証でユーザーを検索するために LDAPサーバーにログインするために使用されるdn指定します。
authentication_ldap_simple_bind_root_pwd新しく追加されたLDAP 簡易認証でユーザーを検索するために LDAPサーバーにログインするために使用されるパスワードを指定します。
authentication_ldap_simple_ca_path新しく追加されたLDAP 簡易認証での StartTLS 接続用の証明機関ファイルの絶対パスを指定します。
authentication_ldap_simple_init_pool_size新しく追加されたLDAP 簡易認証で、LDAPサーバーへの接続プール内の初期接続を指定します。
authentication_ldap_simple_max_pool_size新しく追加されたLDAP 簡易認証における LDAPサーバーへの接続プールの最大接続数を指定します。
authentication_ldap_simple_server_host新しく追加されたLDAP 簡易認証で LDAPサーバーホストを指定します。
authentication_ldap_simple_server_port新しく追加されたLDAP 簡易認証における LDAPサーバーのTCP/IP ポート番号を指定します。
authentication_ldap_simple_tls新しく追加されたプラグインによる LDAPサーバーへの接続が LDAP 簡易認証で StartTLS を使用して保護されるかどうかを指定します。
tidb_enable_dist_task新しく追加された分散実行フレームワーク(DXF)を有効にするかどうかを制御します。DXFを有効にすると、DDL、インポート、およびその他のサポートされているDXFタスクは、クラスター内の複数のTiDBノードによって共同で実行されます。この変数はtidb_ddl_distribute_reorgから名前が変更されました。
tidb_enable_non_prepared_plan_cache_for_dml新しく追加されたDML ステートメントに対して準備されていないプランキャッシュ機能を有効にするかどうかを制御します。
tidb_enable_row_level_checksum新しく追加された単一行データ機能に対して TiCDC データ整合性検証を有効にするかどうかを制御します。
tidb_opt_fix_control新しく追加されたこの変数は、オプティマイザをより細かく制御し、オプティマイザの動作の変更によって引き起こされるアップグレード後のパフォーマンスの低下を防ぐのに役立ちます。
tidb_plan_cache_invalidation_on_fresh_stats新しく追加された関連テーブルの統計が更新されたときにプラン キャッシュを自動的に無効にするかどうかを制御します。
tidb_plan_cache_max_plan_size新しく追加された準備済みプラン キャッシュまたは準備されていないプラン キャッシュにキャッシュできるプランの最大サイズを制御します。
tidb_prefer_broadcast_join_by_exchange_data_size新しく追加されたネットワーク転送のオーバーヘッドが最小となるアルゴリズムを使用するかどうかを制御します。この変数を有効にすると、TiDBはネットワークで交換されるデータのサイズをそれぞれBroadcast Hash JoinShuffled Hash Joinで推定し、サイズが小さい方を選択します。この変数を有効にすると、 tidb_broadcast_join_threshold_counttidb_broadcast_join_threshold_size無効になります。
tidb_session_plan_cache_size新しく追加されたキャッシュできるプランの最大数を制御します。準備済みプランのキャッシュと準備されていないプランのキャッシュは同じキャッシュを共有します。

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

コンフィグレーションファイルコンフィグレーションパラメータタイプを変更説明
ティドブperformance.force-init-stats新しく追加されたTiDB の起動中にサービスを提供する前に、統計の初期化が完了するまで待機するかどうかを制御します。
ティドブperformance.lite-init-stats新しく追加されたTiDB の起動時に軽量統計初期化を使用するかどうかを制御します。
ティドブlog.timeout新しく追加されたTiDBにおけるログ書き込み操作のタイムアウトを設定します。ディスク障害によりログの書き込みが不可能になった場合、この設定項目によりTiDBプロセスがハングアップする代わりにpanicになる可能性があります。デフォルト値は0で、タイムアウトは設定されません。
TiKVregion-compact-min-redundant-rows新しく追加されたRocksDBの圧縮をトリガーするために必要な冗長MVCC行の数を設定します。デフォルト値は50000です。
TiKVregion-compact-redundant-rows-percent新しく追加されたRocksDBの圧縮をトリガーするために必要な冗長MVCC行の割合を設定します。デフォルト値は20です。
TiKVsplit.byte-threshold修正済みregion-split-sizeが 4 GB 以上の場合、デフォルト値を30MiBから100MiBに変更します。
TiKVsplit.qps-threshold修正済みregion-split-sizeが 4 GB 以上の場合、デフォルト値を3000から7000に変更します。
TiKVsplit.region-cpu-overload-threshold-ratio修正済みregion-split-sizeが 4 GB 以上の場合、デフォルト値を0.25から0.75に変更します。
TiKVregion-compact-check-step修正済みPartitioned Raft KVが有効な場合( storage.engine="partitioned-raft-kv" )、デフォルト値を100から5に変更します。
PDstore-limit-version新しく追加されたストア制限のモードを制御します。値のオプションは"v1""v2"です。
PDschedule.enable-diagnostic修正済みデフォルト値をfalseからtrueに変更します。これは、スケジューラの診断機能がデフォルトで有効であることを意味します。
TiFlashhttp_port削除済みHTTP サービス ポート (デフォルト8123 ) を廃止します。
TiDB Lightningtikv-importer.pause-pd-scheduler-scope新しく追加されたTiDB LightningがPDスケジュールを一時停止する範囲を制御します。デフォルト値は"table"で、値のオプションは"global""table"です。
TiDB Lightningtikv-importer.region-check-backoff-limit新しく追加された分割および分散処理後にリージョンがオンラインになるまでの再試行回数を制御します。デフォルト値は1800です。最大再試行間隔は 2 秒です。再試行の間にいずれかのリージョンがオンラインになった場合、再試行回数は増加しません。
TiDB Lightningtikv-importer.region-split-batch-size新しく追加されたバッチでリージョンを分割する際のリージョン数を制御します。デフォルト値は4096です。
TiDB Lightningtikv-importer.region-split-concurrency新しく追加されたリージョンを分割する際の同時実行を制御します。デフォルト値はCPUコアの数です。
TiCDCinsecure-skip-verify新しく追加されたKafka にデータを複製するシナリオで TLS が有効になっている場合に認証アルゴリズムを設定するかどうかを制御します。
TiCDCintegrity.corruption-handle-level新しく追加された単一行データのチェックサム検証に失敗した場合のChangefeedのログレベルを指定します。デフォルト値は"warn"です。値のオプションは"warn""error"です。
TiCDCintegrity.integrity-check-level新しく追加された単一行データのチェックサム検証を有効にするかどうかを制御します。デフォルト値は"none"で、この機能は無効です。
TiCDCsink.only-output-updated-columns新しく追加された更新された列のみを出力するかどうかを制御します。デフォルト値はfalseです。
TiCDCsink.enable-partition-separator修正済みさらなるテストを経て、デフォルト値をfalseからtrueに変更しました。これは、テーブル内のパーティションがデフォルトで別々のディレクトリに保存されることを意味します。パーティション化されたテーブルをstorageサービスにレプリケーションする際にデータ損失が発生する可能性を回避するため、この値はtrueのままにしておくことをお勧めします。

改善点

  • ティドブ

    • 対応する列の個別値の数を、 SHOW INDEX結果#42227 @ ウィノロスの Cardinality 列に表示します。
    • TTLスキャンクエリがTiKVブロックキャッシュ#43206 @ lcwangchaoに影響を与えないようにするにはSQL_NO_CACHE使用します。
    • MAX_EXECUTION_TIMEに関連するエラーメッセージを改善し、MySQL #43031 @ ドヴェーデンと互換性を持たせます
    • IndexLookUp #26166 @ 定義2014のパーティションテーブルでの MergeSort 演算子の使用をサポート
    • MySQL #43576 @ asjdfと互換性を持たせるためにcaching_sha2_password拡張します
  • TiKV

    • パーティション化されたRaft KV #14447 @ スペードA-タンを使用する場合、分割操作による書き込み QPS への影響を軽減します。
    • パーティション化されたRaft KV #14581 @ バッファフライを使用するときにスナップショットが占めるスペースを最適化します
    • TiKV #12362 @ cfzjywxkでリクエストの処理の各段階のより詳細な時間情報を提供します
    • ログバックアップ#13867 @ ユジュンセンで PD をメタストアとして使用します
  • PD

    • スナップショットの実行内容に基づいてストア制限のサイズを自動調整するコントローラを追加します。このコントローラを有効にするには、 store-limit-versionv2 (実験的)に設定してください。有効にすると、スケールインまたはスケールアウトの速度を制御するためにstore limit設定を手動で調整する必要がなくなります( #6147 @ バッファフライ
    • storageエンジンが raft-kv2 #6297 @ バッファフライの場合、ホットスポット スケジューラによって不安定な負荷のリージョンが頻繁にスケジュールされるのを避けるために、履歴負荷情報を追加します。
    • リーダーのヘルスチェックメカニズムを追加します。etcdリーダーが配置されているPDサーバーがリーダーとして選出できない場合、PDはetcdリーダーをアクティブに切り替え、PDリーダーが#6403 @ ノルーシュで利用可能であることを確認します。
  • TiFlash

    • 分散storageおよびコンピューティングアーキテクチャにおけるTiFlash のパフォーマンスと安定性を向上#6882 @ ジェイソン・ファン @ そよ風のような @ ジンヘリン
    • ビルド側#7280 @ yibin87として小さいテーブルを選択することで、セミ結合またはアンチセミ結合でのクエリパフォーマンスの最適化をサポートします。
    • デフォルト設定#7272 @ そよ風のようなでBRおよびTiDB LightningからTiFlashへのデータインポートのパフォーマンスを向上
  • ツール

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

      • ログバックアップ#14433 @ ジョッカウ中に TiKV 構成項目log-backup.max-flush-intervalを変更することをサポート
    • TiCDC

      • オブジェクトstorageにデータを複製するシナリオでDDLイベントが発生したときにディレクトリ構造を最適化する#8890 @ チャールズ・チャン96
      • TiCDC レプリケーションタスクが失敗したときにアップストリームの GC TLS を設定する方法を最適化します#8403 @ charleszheng44
      • Kafka-on-Pulsar ダウンストリームへのデータ複製をサポート#8892 @ ハイ・ラスティン
      • Kafka #8706 @ スドジにデータを複製する際に更新が発生した後に変更された列のみを複製するためのオープンプロトコルプロトコルの使用をサポートします。
      • 下流の障害やその他のシナリオにおける TiCDC のエラー処理を最適化する#8657 @ ヒック
      • TLS #8867 @ ハイ・ラスティンを有効にするシナリオで認証アルゴリズムを設定するかどうかを制御する構成項目insecure-skip-verifyを追加します。
    • TiDB Lightning

      • 不均一なリージョン分布に関連する事前チェック項目の重大度レベルをCriticalからWarnに変更して、ユーザーがデータをインポートできないようにします#42836 @ okJiang
      • データのインポート中にunknown RPCが発生した場合に再試行メカニズムを追加する#43291 @ D3ハンター
      • リージョンジョブ#43682 @ ランス6716の再試行メカニズムを強化

バグ修正

  • ティドブ

    • パーティション#42183 @ Cbcウェストウルフを再編成した後、手動でANALYZE TABLE実行するプロンプトが表示されない問題を修正しました。
    • DROP TABLE操作が実行されているときにADMIN SHOW DDL JOBS結果にテーブル名が表示されない問題を修正#42268 @ 天菜麻緒
    • Grafana モニタリング パネル#42562 @ ピンアンドビーIgnore Event Per MinuteStats Cache LRU Costチャートが正常に表示されないことがある問題を修正しました
    • INFORMATION_SCHEMA.COLUMNSテーブル#43379 @ bb7133をクエリするときにORDINAL_POSITION列目が誤った結果を返す問題を修正しました
    • キャッシュ テーブルに新しい列が追加された後、列#42928 @ lqsのデフォルト値ではなく値がNULLになる問題を修正しました。
    • 述語#43645 @ ウィノロスをプッシュダウンするときに CTE 結果が正しくない問題を修正しました
    • 多数のパーティションとTiFlashレプリカ#42940 @ ミョンスを持つパーティション テーブルに対してTRUNCATE TABLE実行するときに書き込み競合によって発生する DDL 再試行の問題を修正しました。
    • パーティションテーブル#41198 #41200 @ ミョンスの作成時にSUBPARTITION使用すると警告が表示されない問題を修正
    • 生成された列#40066 @ ジフハストの値オーバーフローの問題を処理する際の MySQL との非互換性の問題を修正しました
    • REORGANIZE PARTITION他の DDL 操作#42442 @ bb7133と同時に実行できない問題を修正
    • DDL でパーティション再編成タスクをキャンセルすると、後続の DDL 操作が失敗する可能性がある問題を修正しました#42448 @ lcwangchao
    • 特定の条件下で削除操作のアサーションが正しくない問題を修正#42426 @ 天菜麻緒
    • cgroup 情報の読み取りエラーにより、TiDBサーバーが起動できない問題を修正しました。エラー メッセージは「cgroup v1 からファイルメモリ.stat を読み取れません: open /sys/ メモリ.stat no such file or directory」です#42659 @ ホーキングレイ
    • グローバルインデックス#42312 @ L-メープルを持つパーティションテーブルの行のパーティションキーを更新するときに発生するDuplicate Key問題を修正しました
    • TTLモニタリングパネルのScan Worker Time By Phaseチャートにデータ#42515 @ lcwangchaoが表示されない問題を修正しました
    • グローバルインデックスを持つパーティションテーブルに対する一部のクエリが誤った結果を返す問題を修正#41991 #42065 @ L-メープル
    • パーティションテーブル#42180 @ ミョンスの再編成プロセス中に一部のエラーログが表示される問題を修正しました
    • INFORMATION_SCHEMA.DDL_JOBSテーブルのQUERY列目のデータ長が列定義#42440 @ 天菜麻緒を超える可能性がある問題を修正しました
    • INFORMATION_SCHEMA.CLUSTER_HARDWAREテーブルでコンテナ#42851 @ ホーキングレイに誤った値が表示される可能性がある問題を修正しました
    • ORDER BY + LIMIT #43158 @ 定義2014を使用してパーティションテーブルをクエリすると誤った結果が返される問題を修正しました
    • 取り込み方法#42903 @ 接線を使用して複数の DDL タスクが同時に実行される問題を修正しました
    • Limit #24636を使用してパーティションテーブルをクエリしたときに返される誤った値を修正しました
    • IPv6環境で誤ったTiDBアドレスが表示される問題を修正#43260 @ ネクスター
    • システム変数tidb_enable_tiflash_read_for_write_stmttidb_enable_exchange_partition #43281 @ ゲンリチに誤った値が表示される問題を修正しました
    • tidb_scatter_region有効にすると、パーティションが切り捨てられた後にリージョンが自動的に分割されない問題を修正しました#43174 #43028 @ ジフハスト
    • 生成された列を持つテーブルにチェックを追加し、これらの列でサポートされていない DDL 操作のエラーを報告します#38988 #24321 @ 天菜麻緒
    • 特定の型変換エラー#41730 @ ホーキングレイでエラーメッセージが正しく表示されない問題を修正
    • TiDBノードが正常にシャットダウンした後、このノードでトリガーされたDDLタスクがキャンセルされる問題を修正しました#43854 @ ジムララ
    • PDメンバーのアドレスが変更されると、 AUTO_INCREMENT列目のIDの割り当てが長時間ブロックされる問題を修正#42643 @ 天菜麻緒
    • DDL実行中にGC lifetime is shorter than transaction durationエラーを報告する問題を修正#40074 @ 接線
    • メタデータロックが予期せずDDL実行をブロックする問題を修正#43755 @ wjhuang2016
    • IPv6環境#43286 @ 定義2014でクラスターが一部のシステムビューを照会できない問題を修正
    • 動的プルーニングモード#43686 @ ミョンスで内部結合中にパーティションが見つからない問題を修正
    • TiDBがテーブル#43392 @ グオシャオゲを分析するときに構文エラーを報告する問題を修正しました
    • TiCDC がテーブル名の変更#43338 @ 接線中に一部の行の変更を失う可能性がある問題を修正しました
    • クライアントがカーソル読み取り#38116 @ ヤンケオを使用すると TiDBサーバーがクラッシュする問題を修正しました
    • ADMIN SHOW DDL JOBS LIMIT誤った結果を返す問題を修正#42298 @ Cbcウェストウルフ
    • UNION #42563 @ lcwangchaoでユニオンビューと一時テーブルをクエリするときに発生する TiDBpanic問題を修正しました。
    • トランザクション#39664 @ 天菜麻緒で複数のステートメントをコミットするときにテーブル名の変更が有効にならない問題を修正しました
    • 時間変換#42439 @ qw4990中に準備済みプラン キャッシュと準備されていないプラン キャッシュの動作間の非互換性の問題を修正しました
    • Decimal 型#43311 @ qw4990のプラン キャッシュによって発生する誤った結果を修正しました
    • 間違ったフィールドタイプチェック#42459 @ アイリンキッドによる、null 認識アンチ結合 (NAAJ) での TiDBpanic問題を修正しました。
    • RC分離レベルでの悲観的トランザクションにおけるDML実行の失敗により、データとインデックス#43294 @ エキシウムの間に不整合が発生する可能性がある問題を修正しました。
    • 極端なケースで、悲観的トランザクションの最初のステートメントが再試行されるときに、このトランザクションのロックを解決するとトランザクションの正確性に影響する可能性がある問題を修正しました#42937 @ ミョンケミンタ
    • GC がロック#43243 @ ミョンケミンタを解決するときに、まれに悲観的トランザクションの残余悲観的ロックがデータの正確性に影響を与える可能性がある問題を修正しました。
    • LOCKからPUTへの最適化により、特定のクエリ#28011 @ ジグアンで重複データが返される問題を修正しました。
    • データが変更された場合、ユニークインデックスのロック動作がデータが変更されていない場合のロック動作と一致しない問題を修正しました#36438 @ ジグアン
  • TiKV

    • tidb_pessimistic_txn_fair_locking有効にすると、極端なケースで、失敗した RPC 再試行によって期限切れになったリクエストが、解決ロック操作#14551 @ ミョンケミンタ中にデータの正確性に影響を与える可能性がある問題を修正しました。
    • tidb_pessimistic_txn_fair_locking有効にすると、極端なケースで、失敗した RPC 再試行によって期限切れのリクエストが発生し、トランザクションの競合が無視され、トランザクションの一貫性#14311 @ ミョンケミンタに影響する可能性がある問題を修正しました。
    • 暗号化キーIDの競合により古いキー#14585 @ タボキが削除される可能性がある問題を修正しました
    • クラスタを以前のバージョンから v6.5 以降のバージョン#14780 @ ミョンケミンタにアップグレードしたときに、累積したロック レコードによって発生するパフォーマンス低下の問題を修正しました。
    • PITRリカバリプロセス#14313 @ ユジュンセン中にraft entry is too largeエラーが発生する問題を修正
    • PITRリカバリプロセス中にlog_batch 2GBを超える#13848 @ ユジュンセンによりTiKVがパニックになる問題を修正
  • PD

    • TiKVパニック#6252 @ HuSharp後にPD監視パネルのlow space storeの数が異常になる問題を修正
    • PDリーダースイッチ#6366 @ イモムクゲ後にリージョンヘルス監視データが削除される問題を修正
    • ルールチェッカーがschedule=denyラベル#6426 @ ノルーシュの不健全な領域を修復できない問題を修正しました
    • TiKVまたはTiFlashの再起動後に既存のラベルの一部が失われる問題を修正#6467 @ Jmポテト
    • レプリケーションモード#14704 @ ノルーシュの学習ノードがある場合、レプリケーションステータスを切り替えることができない問題を修正しました。
  • TiFlash

    • 遅延マテリアライゼーション#7455 @ ロイド・ポティガーを有効にした後に、 TIMESTAMPまたはTIMEタイプのデータをクエリするとエラーが返される問題を修正しました。
    • 大規模な更新トランザクションにより、 TiFlash が繰り返しエラーを報告し、 #7316 @ ジェイソン・ファンを再起動する可能性がある問題を修正しました。
  • ツール

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

      • クラスター#42973 @ ユジュンセンで TiKV ノードがクラッシュした場合のバックアップ速度低下の問題を修正しました
      • 一部のケースでバックアップの失敗により不正確なエラーメッセージが表示される問題を修正#43236 @ ユジュンセン
    • TiCDC

      • TiCDC タイムゾーン設定#8798 @ ハイ・ラスティンの問題を修正
      • PDアドレスまたはリーダーに障害が発生したときにTiCDCが自動的に回復できない問題を修正#8812 #8877 @ アズドンメン
      • 上流の TiKV ノードの 1 つが#8858 @ ヒックでクラッシュするとチェックポイントの遅延が増加する問題を修正しました
      • オブジェクトstorageにデータを複製する際に、上流のEXCHANGE PARTITION操作が下流の#8914 @ チャールズ・チャン96に正しく複製されない問題を修正しました。
      • いくつかの特殊なシナリオでソートコンポーネントの過剰なメモリ使用によって引き起こされる OOM 問題を修正しました#8974 @ ヒック
      • 下流の Kafka シンクがローリング再起動されたときに発生する TiCDC ノードpanicを修正しました#9023 @ アズドンメン
    • TiDB データ移行 (DM)

      • レプリケーション#7028 @ ランス6716中に latin1 データが破損する可能性がある問題を修正しました
    • TiDBDumpling

      • UNSIGNED INTEGER型の主キーがチャンク#42620 @ リチュンジュの分割に使用できない問題を修正しました
      • --output-file-template誤って#42391 @ リチュンジュに設定されている場合に TiDB Dumpling がpanic可能性がある問題を修正しました
    • TiDBBinlog

      • 失敗したDDL文#1228 @ okJiangに遭遇したときにエラーが発生する可能性がある問題を修正しました
    • TiDB Lightning

      • データインポート#42456 @ ランス6716中のパフォーマンス低下の問題を修正
      • write to tikv with no leader returned大量データインポート時の問題を修正#43055 @ ランス6716
      • データインポート#43197 @ D3ハンター中にログがkeys within region is empty, skip doIngest過剰になる問題を修正
      • 部分書き込み#43363 @ ランス6716中にpanicが発生する可能性がある問題を修正
      • 幅の広いテーブル#43728 @ D3ハンターをインポートするときに OOM が発生する可能性がある問題を修正しました
      • TiDB Lightning Grafanaダッシュボード#43357 @ リチュンジュでデータが欠落する問題を修正
      • keyspace-name #43684 @ 沢民州の設定が間違っているためにインポートに失敗する問題を修正しました
      • 範囲部分書き込み中にデータのインポートがスキップされる可能性がある問題を修正#43768 @ ランス6716

パフォーマンステスト

TiDB v7.1.0 のパフォーマンスについては、 TiDB Cloud Dedicated クラスターのTPC-CパフォーマンステストレポートSysbenchパフォーマンステストレポートを参照してください。

寄稿者

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

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