TiDB 8.1.0 リリースノート
発売日:2024年5月24日
TiDB バージョン: 8.1.0
TiDB 8.1.0 は長期サポートリリース (LTS) です。
以前のLTSバージョン7.5.0と比較して、8.1.0にはバージョン7.6.0-DMRと8.0.0-DMRでリリースされた新機能、改善、バグ修正が含まれています。7.5.xから8.1.0にアップグレードする場合は、バージョンTiDB リリースノート PDFをダウンロードして、2つのLTSバージョン間のすべてのリリースノートをご覧いただけます。以下の表は、7.6.0から8.1.0への主な変更点です。
| カテゴリ | 機能/拡張機能 | 説明 |
|---|---|---|
| スケーラビリティとパフォーマンス | クラスター スナップショットの復元速度の高速化(v8.0.0 で GA) | この機能により、 BRはクラスタのスケールメリットを最大限に活用し、クラスタ内のすべてのTiKVノードがデータ復元の準備ステップに参加できるようになります。この機能により、大規模クラスタにおける大規模データセットの復元速度が大幅に向上します。実環境テストでは、この機能によりダウンロード帯域幅が飽和状態になり、ダウンロード速度が8~10倍、エンドツーエンドの復元速度が約1.5~3倍向上することが示されています。 |
| バッチでテーブルを作成する場合、最大 10 倍の高速化を実現します(実験的、v7.6.0 で導入) | v7.6.0での新しいDDLアーキテクチャの実装により、バッチテーブル作成のパフォーマンスが大幅に向上し、最大10倍高速化しました。この大幅な機能強化により、多数のテーブル作成に必要な時間が大幅に短縮されます。この高速化は、数万から数十万に及ぶ大量のテーブルが頻繁に使用されるSaaSシナリオにおいて特に顕著です。 | |
| アクティブ PD フォロワーを使用して、PD のリージョン情報クエリ サービスを強化します(実験的、v7.6.0 で導入) | TiDB v7.6.0では、PDフォロワーがリージョン情報クエリサービスを提供できる実験的機能「Active PD Follower 」が導入されました。この機能により、多数のTiDBノードとリージョンを持つクラスターにおいて、PDクラスターのGetRegionおよびScanRegionsリクエスト処理能力が向上し、PDリーダーのCPU負荷が軽減されます。 | |
| 大規模なトランザクションのためのバルク DML (実験的、v8.0.0 で導入) | 大規模なクリーンアップジョブ、結合、集計といった大規模なバッチDMLジョブは、大量のメモリを消費する可能性があり、これまでは非常に大規模なスケールでは制限されていました。バルクDML( tidb_dml_type = "bulk" )は、トランザクション保証を提供し、OOM(メモリ不足)の問題を軽減しながら、大規模なバッチDMLタスクをより効率的に処理するための新しいDMLタイプです。この機能は、データのロードに使用する場合、インポート、ロード、リストアの各操作とは異なります。 | |
| 膨大な数のテーブルがある場合のスキーマ情報のキャッシュの安定性を向上 (実験的、v8.0.0 で導入) | マルチテナントアプリケーションの記録システムとしてTiDBを使用しているSaaS企業は、多くの場合、膨大な数のテーブルを保存する必要があります。以前のバージョンでは、100万個以上のテーブル数を処理することは可能でしたが、全体的なユーザーエクスペリエンスが低下する可能性がありました。TiDB v8.0.0では、 auto analyzeに優先キューを実装することで状況が改善され、プロセスの柔軟性が向上し、より広範なテーブルにわたる安定性が向上しました。 | |
| 信頼性と可用性 | グローバルソート(v8.0.0 で GA) | グローバルソート機能は、 IMPORT INTOおよびCREATE INDEXの安定性と効率性を向上させることを目的としています。処理対象のデータをグローバルにソートすることで、TiKVへのデータ書き込みの安定性、制御性、スケーラビリティが向上し、結果としてデータのインポートとインデックス作成におけるユーザーエクスペリエンスとサービス品質が向上します。グローバルソートを有効にすると、各IMPORT INTOまたはCREATE INDEXステートメントで、最大40TiBのデータのインポートまたはインデックスの追加がサポートされるようになりました。 |
| データベース間 SQL バインディング(v7.6.0 で導入) | 同じスキーマを持つ数百のデータベースを管理する場合、これらのデータベース全体にSQLバインディングを適用する必要があることがよくあります。例えば、SaaSまたはPaaSデータプラットフォームでは、各ユーザーは通常、同じスキーマを持つ別々のデータベースを操作し、それらに対して類似のSQLクエリを実行します。このような場合、各データベースにSQLを個別にバインドするのは現実的ではありません。TiDB v7.6.0では、スキーマが同等なすべてのデータベース間で一致するバインディングを可能にする、データベース間SQLバインディングが導入されています。 | |
| TiProxy をサポート(v8.0.0 で GA) | デプロイメント ツールを使用して簡単にデプロイできる TiProxy サービスを完全にサポートし、ローリング リスタート、アップグレード、またはスケーリング イベントを通じて TiDB への接続を管理および維持できるようにします。 | |
| データ移行(DM)はMySQL 8.0(バージョン7.6.0でGA)を正式にサポートします | これまで、DMを使用したMySQL 8.0からのデータ移行は実験的機能であり、本番環境ではご利用いただけませんでした。TiDB v7.6.0では、この機能の安定性と互換性が向上し、本番環境においてMySQL 8.0からTiDBへのデータ移行をスムーズかつ迅速に実行できるようになります。v7.6.0では、この機能が一般提供(GA)されます。 | |
| TiDB リソース制御は、予想よりも多くのリソースを消費するクエリの管理をサポートします (v8.1.0 で GA) | TiDBは、リソースグループのルールを通じて、予想以上にリソースを消費するクエリを自動的に識別し、それらのクエリを制限またはキャンセルすることができます。ルールで識別されないクエリでも、手動でクエリ特性を追加し、適切な対策を講じることで、突発的なクエリパフォーマンスの問題がデータベース全体に与える影響を軽減できます。 | |
| DB操作と可観測性 | インデックス使用状況統計の監視をサポート(v8.0.0 で導入) | 適切なインデックス設計は、データベースのパフォーマンス維持に不可欠な前提条件です。TiDB v8.0.0では、インデックスの使用状況統計を提供するINFORMATION_SCHEMA.TIDB_INDEX_USAGEテーブルとsys.schema_unused_indexesビューが導入されました。この機能は、データベース内のインデックスの効率性を評価し、インデックス設計を最適化するのに役立ちます。 |
| データ移行 | TiCDC はシンプルプロトコルをサポートしています (v8.0.0 で導入) | TiCDCは、新しいプロトコル「Simpleプロトコル」を導入しました。このプロトコルは、DDLおよびBOOTSTRAPイベントにテーブルスキーマ情報を埋め込むことで、インバンドスキーマ追跡機能を提供します。 |
| TiCDC はDebezium 形式プロトコル(v8.0.0 で導入) をサポートしています。 | TiCDC は新しいプロトコル、Debezium プロトコルを導入しました。TiCDC は、Debezium スタイルのメッセージを生成するプロトコルを使用して、データ変更イベントを Kafka シンクにパブリッシュできるようになりました。 | |
| TiCDC はクライアント認証をサポートしています (v8.1.0 で導入) | TiCDCは、相互トランスポート層Security(mTLS)またはTiDBユーザー名とパスワードを使用したクライアント認証をサポートしています。この機能により、CLIまたはOpenAPIクライアントはTiCDCへの接続を認証できます。 |
機能の詳細
信頼性
予想よりも多くのリソースを消費するクエリの管理をサポート (GA) #43691 @ ノルーシュ
突発的なSQLクエリパフォーマンスの問題は、データベース全体のパフォーマンス低下を引き起こす可能性があり、これはデータベースの安定性における最も一般的な課題です。これらの問題の原因は、テストされていない新しいSQL文、データ量の急激な変化、実行プランの突然の変更など、多岐にわたります。これらの問題をソースコードで完全に回避することは困難です。TiDB v7.2.0では、予想以上にリソースを消費するクエリを管理し、突発的なクエリパフォーマンスの問題の影響を迅速に軽減する機能が導入されました。この機能はv8.1.0で一般提供が開始されます。
リソースグループ内のクエリの最大実行時間を設定できます。クエリの実行時間が設定値を超えると、クエリの優先度が自動的に下げられるか、クエリがキャンセルされます。また、問題のあるクエリの同時実行数が多すぎる場合、特定フェーズで過剰なリソース消費を回避するために、テキストまたは実行プランを通じて、特定されたクエリに一致するクエリを一定期間内に即時に指定することもできます。
TiDBはクエリの手動マークもサポートしています。1コマンド
QUERY WATCH使用すると、SQLテキスト、SQLダイジェスト、または実行プランに基づいてクエリをマークできます。マークに一致するクエリはダウングレードまたはキャンセルされ、SQLブロックリストを追加する目的を達成できます。予想よりも多くのリソースを消費するクエリの自動管理機能により、根本原因が特定される前にクエリの問題が全体的なパフォーマンスに与える影響を迅速に軽減する効果的な手段がユーザーに提供され、データベースの安定性が向上します。
詳細についてはドキュメント参照してください。
SQL
テーブルの作成時にデフォルトの列値を設定するためのより多くの式の使用をサポート (GA) #50936 @ ジムララ
バージョン8.0.0より前のバージョンでは、テーブル作成時の列のデフォルト値は文字列、数値、日付、および特定の式に制限されていました。バージョン8.0.0以降では、より多くの式をデフォルトの列値として使用できるようになります。例えば、列のデフォルト値を
DATE_FORMATに設定できます。この機能により、より多様な要件に対応できるようになります。バージョン8.1.0では、この機能がGAになります。v8.1.0 以降では、列を
ADD COLUMNずつ追加するときに、式をデフォルト値として使用できます。詳細についてはドキュメント参照してください。
DB操作
デフォルトで TiDB 分散実行フレームワーク (DXF) を有効にして、
ADD INDEXまたはIMPORT INTOタスクの並列実行#52441 @ D3ハンターのパフォーマンスと安定性を向上させます。DXFはv7.5.0で一般提供(GA)されますが、デフォルトでは無効になっています。つまり、
ADD INDEXまたはIMPORT INTOタスクは、デフォルトでは1つのTiDBノードによってのみ実行されます。TiDB v8.1.0以降、この機能はデフォルトで有効になっています(
tidb_enable_dist_taskデフォルトONに設定されます)。この機能を有効にすると、DXFは複数のTiDBノードで同じADD INDEXまたはIMPORT INTOタスクを並列実行するようにスケジュールできます。これにより、TiDBクラスターのリソースを最大限に活用し、これらのタスクのパフォーマンスを大幅に向上させることができます。さらに、TiDBノードを追加し、追加したノードにtidb_service_scope設定することで、ADD INDEXおよびIMPORT INTOタスクのパフォーマンスを直線的に向上させることができます。詳細についてはドキュメント参照してください。
Security
TiDB ログ感度低下 (GA) #52364 @ xheboxを強化
強化された TiDB ログの非感度化は、ログファイル内の SQL テキスト情報をマークすることで実装され、ユーザーがログを表示するときに機密データを削除することをサポートします。ログ情報をマークするかどうかを制御することで、さまざまなシナリオで TiDB ログを安全に使用でき、ログ非感度化を使用する際のセキュリティと柔軟性が向上します。この機能を使用するには、システム変数
tidb_redact_logをMARKERに設定すると、TiDB のランタイムログ内の SQL テキストがマークされます。さらに、TiDBサーバーでcollect-logサブコマンドを使用して、マークされた機密データをログから削除し、ログを安全な方法で表示できます。すべてのマーカーを削除して通常のログを取得することもできます。この機能は、v8.1.0 で一般提供されました。詳細についてはドキュメント参照してください。
データ移行
IMPORT INTO ... FROM SELECT構文(GA) #49883 @ D3ハンターをサポートv8.0.0より前では、クエリ結果をターゲットテーブルにインポートするには
INSERT INTO ... SELECT文しか使用できませんでしたが、これは大規模データセットを扱うシナリオによっては比較的非効率的でした。v8.0.0では、TiDBは実験的機能としてIMPORT INTO ... FROM SELECT導入し、SELECTのクエリ結果を空のTiDBターゲットテーブルにインポートできるようになりました。これにより、INSERT INTO ... SELECTの最大8倍のパフォーマンスを実現し、インポート時間を大幅に短縮できます。さらに、IMPORT INTO ... FROM SELECTを使用して、AS OF TIMESTAMPでクエリされた履歴データをインポートすることもできます。v8.1.0 では、
IMPORT INTO ... FROM SELECT構文が一般公開 (GA) され、IMPORT INTOステートメントの機能シナリオが充実します。詳細についてはドキュメント参照してください。
TiDB Lightningは競合解決戦略を簡素化し、
replace戦略(GA) #51036 @ lyzx2001を使用して競合するデータの処理をサポートします。v8.0.0 より前のTiDB Lightningには、論理インポート モードが1つのデータ競合解決戦略 、物理インポート モードが2つのデータ競合解決戦略あり、理解して構成するのは簡単ではありません。
TiDB Lightning v8.0.0では、物理インポートモードにおける競合検出の古いバージョン戦略が廃止され、
conflict.strategyパラメータ(実験的)を介して論理インポートモードと物理インポートモードの両方で競合検出戦略を制御できるようになり、このパラメータの設定が簡素化されました。さらに、物理インポートモードでは、replace戦略により、インポート時に主キーまたは一意キーの競合が検出された場合に、最新のデータを保持し、古いデータを上書きすることがサポートされます。v8.1.0では、replace戦略で競合データを処理する機能が一般提供(GA)されます。詳細についてはドキュメント参照してください。
TiCDCはクライアント認証#10636 @ チャールズ・チュン96をサポートします
v8.1.0では、TiCDC CLIまたはOpenAPIを使用する際に、TiCDCはクライアント認証をサポートします。この機能により、クライアント証明書を用いたクライアント認証を要求するようにTiCDCを設定でき、相互トランスポート層Security(mTLS)を確立できます。さらに、TiDBのユーザー名とパスワードに基づく認証も設定できます。
詳細についてはドキュメント参照してください。
互換性の変更
注記:
このセクションでは、v8.0.0から最新バージョン(v8.1.0)にアップグレードする際に知っておくべき互換性の変更点について説明します。v7.6.0以前のバージョンから最新バージョンにアップグレードする場合は、中間バージョンで導入された互換性の変更点も確認する必要があるかもしれません。
行動の変化
- 以前のバージョンでは、 TiDB Lightningの
tidb.tls設定項目は、値"false"と""、および値"preferred"と"skip-verify"同じものとして扱いました。v8.1.0 以降、 TiDB Lightning はtidb.tlsに対して"false"、""、"skip-verify"、"preferred"の動作を区別します。詳細については、 TiDB Lightning構成参照してください。 AUTO_ID_CACHE=1のテーブルの場合、TiDB は集中型自動増分ID割り当てサービスサポートします。以前のバージョンでは、このサービスのプライマリ TiDB ノードは、TiDB プロセスが終了すると(たとえば、TiDB ノードの再起動中)、自動割り当て ID を可能な限り連続的に保つためにforceRebase操作を自動的に実行していました。しかし、AUTO_ID_CACHE=1のテーブルが多すぎると、forceRebase実行に非常に時間がかかり、TiDB がすぐに再起動できなくなり、データの書き込みがブロックされてシステムの可用性に影響を及ぼします。この問題を解決するために、v8.1.0 以降、TiDB はforceRebase動作を削除しますが、この変更により、フェイルオーバー中に一部の自動割り当て ID が連続しなくなります。- 以前のバージョンでは、
UPDATE変更を含むトランザクションを処理する際に、UPDATEイベントで主キーまたは null 以外の一意のインデックス値が変更されると、TiCDC はこのイベントをDELETEとINSERTイベントに分割していました。v8.1.0 では、MySQL シンクを使用する場合、UPDATEの変更のトランザクションcommitTSが TiCDCthresholdTS(TiCDC の起動時に PD から取得する現在のタイムスタンプ) より小さい場合、TiCDC はUPDATEのイベントをDELETEとINSERTイベントに分割します。この動作変更により、TiCDC が受信したUPDATEのイベントの順序が正しくない可能性があり、その結果、分割されたDELETEとINSERT件のイベントの順序も正しくなくなる可能性がある、下流データの不整合の問題が解決されます。詳細については、 ドキュメント参照してください。
システム変数
| 変数名 | タイプを変更 | 説明 |
|---|---|---|
tidb_enable_telemetry | 非推奨 | v8.1.0以降、TiDBのテレメトリ機能が削除され、この変数は機能しなくなりました。これは以前のバージョンとの互換性のためだけに保持されています。 |
tidb_auto_analyze_ratio | 修正済み | 値の範囲を[0, 18446744073709551615]から(0, 1]に変更します。 |
tidb_enable_dist_task | 修正済み | デフォルト値をOFFからONに変更します。これは、Distributed eXecution Framework(DXF)がデフォルトで有効になることを意味します。これにより、TiDBクラスターのリソースが最大限に活用され、 ADD INDEXおよびIMPORT INTOタスクのパフォーマンスが大幅に向上します。DXFが有効になっているクラスターをv8.1.0以降にアップグレードする場合は、アップグレード前にDXFを無効にしてください( tidb_enable_dist_taskをOFFに設定)。これにより、アップグレード中にADD INDEX操作が発生し、データインデックスの不整合が発生するのを回避できます。アップグレード後、DXFを手動で有効にすることができます。 |
tidb_service_scope | 修正済み | オプションの値を""またはbackgroundから最大 64 文字の文字列に変更します。これにより、各 TiDB ノードのサービス範囲をより柔軟に制御できます。有効な文字は、数字0-9 、文字a-zA-Z 、アンダースコア_ 、ハイフン-です。Distributed eXecution Framework (DXF) は、この変数の値に基づいて、どの TiDB ノードに分散タスクの実行をスケジュールするかを決定します。具体的なルールについては、 タスクのスケジュール参照してください。 |
コンフィグレーションファイルのパラメータ
| コンフィグレーションファイル | コンフィグレーションパラメータ | タイプを変更 | 説明 |
|---|---|---|---|
| TiDB | enable-telemetry | 非推奨 | v8.1.0以降、TiDBのテレメトリ機能は削除され、この設定項目は機能しなくなりました。これは以前のバージョンとの互換性のためだけに保持されています。 |
| TiDB | concurrently-init-stats | 新しく追加された | TiDBの起動時に統計を同時に初期化するかどうかを制御します。デフォルト値はfalseです。 |
| PD | enable-telemetry | 非推奨 | v8.1.0以降、TiDBダッシュボードのテレメトリ機能は削除され、この設定項目は機能しなくなりました。これは以前のバージョンとの互換性のためだけに保持されています。 |
| TiDB Lightning | conflict.max-record-rows | 修正済み | v8.1.0 以降では、ユーザー入力に関係なく、 TiDB Lightning がconflict.max-record-rowsの値にconflict.thresholdの値を自動的に割り当てるため、 conflict.max-record-rows手動で構成する必要はありません。 conflict.max-record-rows将来のリリースで廃止される予定です。 |
| TiDB Lightning | conflict.threshold | 修正済み | デフォルト値を9223372036854775807から10000に変更することで、異常なタスクを迅速に中断し、対応する調整を迅速に行うことができます。これにより、異常なデータソースやテーブルスキーマ定義の誤りが原因で、インポート後に大量の競合データが発見されるというシナリオを回避し、時間と計算リソースを節約できます。 |
| TiKV | memory.enable-thread-exclusive-arena | 新しく追加された | 各TiKVスレッドのメモリ使用量を追跡するために、TiKVスレッドレベルでメモリ割り当てステータスを表示するかどうかを制御します。デフォルト値はtrueです。 |
| TiCDC | security.client-allowed-user | 新しく追加された | クライアント認証に許可されるユーザー名をリストします。このリストに含まれていないユーザー名による認証要求は拒否されます。デフォルト値はnullです。 |
| TiCDC | security.client-user-required | 新しく追加された | クライアント認証にユーザー名とパスワードを使用するかどうかを制御します。デフォルト値はfalseです。 |
| TiCDC | security.mtls | 新しく追加された | TLSクライアント認証を有効にするかどうかを制御します。デフォルト値はfalseです。 |
| TiCDC | sink.debezium.output-old-value | 新しく追加された | 行データが変更される前の値を出力するかどうかを制御します。デフォルト値はtrueです。無効にすると、 UPDATEイベントは「before」フィールドを出力しません。 |
| TiCDC | sink.open.output-old-value | 新しく追加された | 行データが変更される前に値を出力するかどうかを制御します。デフォルト値はtrueです。無効にすると、イベントUPDATEは「p」フィールドを出力しません。 |
非推奨の機能
v8.1.0 以降、TiDB および TiDB ダッシュボードのテレメトリ機能は削除されます。
- システム変数
tidb_enable_telemetry、 TiDB 構成項目enable-telemetry、および PD 構成項目enable-telemetry非推奨となり、機能しなくなりました。 ADMIN SHOW TELEMETRY構文は削除されます。- キーワード
TELEMETRYとTELEMETRY_IDは削除されます。
- システム変数
以降のリリースでは実行計画バインディングの自動進化再設計する予定であり、関連する変数と動作が変更されます。
TiDB Lightningパラメータ
conflict.max-record-rows将来のリリースで廃止される予定であり、その後削除されます。このパラメータはconflict.thresholdに置き換えられます。これは、競合レコードの最大数が、単一のインポートタスクで許容される競合レコードの最大数と一致することを意味します。TiDB Lightning v8.0.0以降、物理インポートモードの競合検出の古いバージョン戦略は非推奨となり、
conflict.strategyパラメータを使用して論理インポートモードと物理インポートモードの両方の競合検出戦略を制御できるようになりました。旧バージョンの競合検出用のduplicate-resolutionパラメータは、将来のリリースで削除される予定です。
改善点
TiDB
SHOW CREATE TABLE#51837 @ ネガチョフの出力に表示される外部キーのMySQL互換性を改善SHOW CREATE TABLE#52939 @ CbcWestwolfの出力に表示される式のデフォルト値のMySQL互換性を改善しました- 取り込みモード#52596 @ ランス6716で複数のインデックスを同時に追加できるようになりました
- システム変数
tidb_service_scopeさまざまな値で構成することをサポートし、分散実行フレームワーク(DXF) #52441 @ ywqzzyの利用率を高めます。 - 常に
falseである DNF 項目の処理を強化し、そのようなフィルタ条件を直接無視することで、不要なテーブル全体のスキャンを回避します#40997 @ ハイラスティン - オプティマイザがクエリ#52869 @ 時間と運命に対して単一インデックス スキャン方式 (フル テーブル スキャン以外) を選択できる場合、オプティマイザがクエリに対してインデックス マージを自動的に選択しないという制限を削除するために、オプティマイザ修正コントロールの使用をサポートします。
- コプロセッサー演算子#28937 @ cfzjywxkの列
execution infoにtotal_kv_read_wall_timeメトリックを追加します。 - リソースコントロールダッシュボードに
RU (max)メトリックを追加する#49318 @ ノルーシュ - リソースロック(RLock)が#51883内に解放されない問題を回避するために、LDAP認証にタイムアウトメカニズムを追加しますヤンケオ
TiKV
PD
TiFlash
ツール
バックアップと復元 (BR)
TiCDC
- REDOログを使用してデータリカバリ中のメモリの安定性を向上させ、OOM #10900 @ チャールズ・チュン96の確率を低減します。
- トランザクション競合シナリオにおけるデータレプリケーションの安定性が大幅に向上し、パフォーマンスが最大10倍向上します#10896 @ チャールズ・チュン96
バグ修正
TiDB
- 複数値インデックスを持つテーブルを含むSQL文を実行すると、
Can't find a proper physical plan for this queryエラー#49438 @ qw4990が返される可能性がある問題を修正しました。 - OOMエラー発生後に自動統計収集が停止する問題を修正#51993 @ ハイラスティン
- BRを使用して統計情報のないテーブルを復元した後、そのテーブルの統計の健全性が 100% #29769 @ ウィノロスのままになる問題を修正しました。
- アップグレード#52040 @ ハイラスティン中に TiDB がシステム テーブルの統計を作成する問題を修正しました
- 統計の初期化が完了する前に自動統計収集がトリガーされる問題を修正#52346 @ ハイラスティン
tidb_mem_quota_analyzeが有効になっていて、統計の更新に使用されるメモリが#52601 @ ホーキングレイ制限を超えると TiDB がクラッシュする可能性がある問題を修正しました。- TiDBの同期的な統計読み込みメカニズムが空の統計の読み込みを無期限に再試行し、
fail to get stats version for this histogramlog #52657 @ ホーキングレイを出力問題を修正しました。 - 照合の新しいフレームワークが無効になっているときに、異なる照合を含む式によってクエリがpanicになる可能性がある問題を修正しました#52772 @ wjhuang2016
CPS by typeメトリックに誤った値#52605 @ ノルーシュが表示される問題を修正しましたINFORMATION_SCHEMA.TIKV_REGION_STATUS#52013 @ Jmポテトをクエリすると nil ポインタエラーが発生する問題を修正しました- 列#51592 @ ダンキシュに無効なデフォルト値が指定されたときに表示される誤ったエラー メッセージを修正しました。
- 取り込みモードでインデックスを追加すると、一部のコーナーケースでデータインデックスの不整合が発生する可能性がある問題を修正#51954 @ ランス6716
- 外部キー#51838 @ ヤンケオを持つテーブルを復元するときに DDL 操作が停止する問題を修正しました
- TiDBネットワークが#51846 @ ywqzzyで分離されているときにインデックスの追加が失敗する問題を修正
- インデックス名を変更した後に同じ名前のインデックスを追加するとエラーが発生する問題を修正#51431 @ ランス6716
- インデックス#52411 @ 接線追加中にクラスターのアップグレードによって発生するデータ インデックスの不整合の問題を修正しました。
- 分散実行フレームワーク (DXF) #52640 @ 接線を有効にした後に、大きなテーブルにインデックスを追加できない問題を修正しました。
- インデックスを同時に追加するとエラー
no such file or directory#52475 @ 接線が報告される問題を修正しました - インデックスの追加が失敗した後に一時データをクリーンアップできない問題を修正#52639 @ ランス6716
- プランキャッシュシナリオ#51407 @ wjhuang2016でメタデータロックがDDL操作の実行を阻止できない問題を修正
- 大量のデータをインポートするときに
IMPORT INTO操作が停止する問題を修正#52884 @ ランス6716 - gRPC エラー#51301 @ グオシャオゲをログに記録するときに TiDB が予期せず再起動する問題を修正しました
- IndexHashJoin が Anti Left Outer Semi Join #52923 @ イービン87を計算するときに冗長なデータを出力する問題を修正しました。
- 相関サブクエリ#52777 @ イービン87における TopN 演算子の誤った結果を修正
- HashJoinプローブ#52222 @ ウィンドトーカーの不正確な実行時間統計を修正
- 静的パーティションプルーニングモードで
TABLESAMPLE使用すると誤った結果が返される問題を修正(tidb_partition_prune_mode='static') #52282 @ 接線 - 夏時間#51675 @ lcwangchaoでTTLが1時間ずれる問題を修正
- TiDBダッシュボードのモニタリングページ#51889 @ ヤンケオにおける接続数(接続数)の計算と表示が誤っていた問題を修正しました。
- パーティションDDLタスク#51090 @ ジフハウスをロールバックするときにステータスが停止する問題を修正しました
EXPLAIN ANALYZE#52646 @ ジェイソン・ファンを実行したときにmax_remote_streamの値が正しくない問題を修正しましたTIDB_HOT_REGIONSテーブルをクエリすると、誤ってINFORMATION_SCHEMAテーブル#50810 @ 定義2014が返される可能性がある問題を修正しました。- 特定の列の統計情報が完全にロードされていない場合に、
EXPLAINステートメントの結果に誤った列 ID が表示される可能性がある問題を修正しました#52207 @ 時間と運命 IFNULL関数によって返される型が MySQL #51765 @ ヤンケオと一致しない問題を修正しました- ユニークインデックスを追加するとTiDBがpanic可能性がある問題を修正#52312 @ wjhuang2016
- 複数値インデックスを持つテーブルを含むSQL文を実行すると、
TiKV
- 古いリージョンピアがGCメッセージ#16504 @ crazycs520を無視するとresolve-tsがブロックされる問題を修正しました
- RocksDB の非アクティブな Write Ahead Logs (WAL) によってデータが破損する可能性がある問題を修正しました#16705 @ コナー1996
PD
- PD マイクロサービス モードのオン/オフを切り替えるときに TSO が停止する可能性がある問題を修正#7849 @ Jmポテト
- DR自動同期の
State監視メトリックにデータが表示されない問題を修正#7974 @ lhy1024 - バイナリバージョンのチェックでPDpanic#7978 @ Jmポテトが発生する可能性がある問題を修正
- TTLパラメータを解析する際に発生する型変換エラーを修正#7980 @ HuSharp
- 展開された2つのデータセンター間でリーダーを切り替えるとLeaderが失敗する問題を修正#7992 @ トンスネークリン
- pd-ctl の
PrintErrlnがstderr#8022 @ HuSharpにエラーメッセージを出力できない問題を修正しました Mergeスケジュール#8049 @ ノルーシュを生成する際にPDがpanic可能性がある問題を修正GetAdditionalInfo#8079 @ HuSharpによって引き起こされるpanic問題を修正- PDの
Filter target監視メトリックが散布範囲情報を提供しない問題を修正#8125 @ HuSharp - クエリ結果
SHOW CONFIGに非推奨の構成項目trace-region-flow#7917 @ rleungxが含まれる問題を修正しました - スケーリングの進行状況が正しく表示されない問題を修正#7726 @ キャビンフィーバーB
TiFlash
- 非厳密な
sql_mode#8803 @ ロイド・ポティガーで無効なデフォルト値を持つ列にデータを挿入するとTiFlash がpanic可能性がある問題を修正しました - TiFlash が高同時読み取りシナリオで一時的に誤った結果を返す可能性がある問題を修正#8845 @ ジンヘリン
- 分散storageおよびコンピューティングアーキテクチャで、 TiFlashコンピューティングノード#8920 @ ジンヘリンの
storage.remote.cache.capacity構成項目の値を変更した後、Grafanaに表示されるディスクused_sizeメトリックが正しくないという問題を修正しました。 - クラスタをv6.5.0より前のバージョンからv6.5.0以降にアップグレードするときに、 TiFlashメタデータが破損してプロセスがpanicになる可能性がある問題を修正しました#9039 @ ジェイソン・ファン
- 分散storageとコンピューティングアーキテクチャで、コンピューティングノードのプロセスが停止するとTiFlash がpanic可能性がある問題を修正しました#8860 @ グオシャオゲ
- 仮想生成列#8787 @ グオシャオゲを含むクエリを実行するとTiFlash がエラーを返す可能性がある問題を修正しました
- 非厳密な
ツール
バックアップと復元 (BR)
- BRが
AUTO_RANDOM列#52255 @ リーヴルスを含むユニオンクラスター化インデックスのAUTO_RANDOMID割り当ての進行状況をバックアップできない問題を修正しました。 - ログバックアップタスクを一時停止後に削除しても、GCセーフポイント#52082 @ 3ポイントシュートがすぐに復元されない問題を修正しました。
- 特別なイベントタイミングにより、ログバックアップ#16739 @ ユジュンセンでデータ損失が発生する可能性があるという稀な問題を修正しました。
- TiKV の再起動により、ログ バックアップのグローバル チェックポイントが実際のバックアップ ファイルの書き込みポイントよりも先に進められ、少量のバックアップ データが失われる可能性がある問題を修正しました#16809 @ ユジュンセン
- フルバックアップ#50837 @ 生まれ変わった人中に
--concurrencyに関連する紛らわしい情報がログに表示される問題を修正 - BRを使用してデータを復元する場合、または物理インポート モードでTiDB Lightningを使用してデータをインポートする場合に、PD から取得されたリージョンにLeaderがない問題を修正しました#51124 #50501 @ リーヴルス
- ログバックアップタスクを一時停止、停止、再構築した後、タスクの状態は正常であるが、チェックポイントが#53047 @ リドリスRに進まない問題を修正しました。
- 不安定なテストケース
TestClearCache#51671 @ zxc111を修正 - 不安定なテストケース
TestGetMergeRegionSizeAndCount#52095 @ 3ポイントシュートを修正 - 不安定な統合テストを修正
br_tikv_outage#52673 @ リーヴルス - テストケース
TestGetTSWithRetry実行に時間がかかりすぎる問題を修正#52547 @ リーヴルス - PD #17020 @ ユジュンセンへのネットワーク接続が不安定な状態で一時停止中のログバックアップタスクを再開すると TiKV がpanic可能性がある問題を修正しました
- BRが
TiCDC
- TiCDC所有者ノードを退去させるAPI(
/api/v2/owner/resign)を呼び出すと、TiCDCタスクが予期せず再起動する問題を修正しました#10781 @ スドジ - 下流の Pulsar が停止しているときに、changefeed を削除すると通常の TiCDC プロセスが停止し、他の changefeed プロセスも停止するという問題を修正しました#10629 @ アズドンメン
- Grafana の所有権履歴パネルが不安定になる問題を修正#10796 @ ホンユニャン
- PDを再起動するとTiCDCノードがエラー#10799 @ 3エースショーハンドで再起動する可能性がある問題を修正しました
- PDディスクI/Oの高レイテンシーによりデータレプリケーション#9054 @ アズドンメンで深刻なレイテンシーが発生する問題を修正
TIMEZONE種類のデフォルト値が正しいタイムゾーン#10931 @ 3エースショーハンドに従って設定されない問題を修正DROP PRIMARY KEYとDROP UNIQUE KEYステートメントが正しく複製されない問題を修正#10890 @ アズドンメン- TiCDC が上流に書き込まれた後に下流の
Exchange Partition ... With ValidationDDL の実行に失敗し、変更フィードが#10859 @ ホンユニャンで停止する問題を修正しました。
- TiCDC所有者ノードを退去させるAPI(
TiDB Lightning
- ソースファイル#51800 @ ランス6716内の互換性のない SQL ステートメントが原因で、 TiDB Lightning がデータインポート中に
no database selected報告する問題を修正しました。 - TiDB Lightningがサーバーモード#36374 @ ケニーtmでログに機密情報を出力する可能性がある問題を修正しました
- PDLeaderを強制終了すると、 TiDB Lightningがデータインポート#50501 @ リーヴルス中に
invalid store ID 0エラーを報告する問題を修正しました。 - TiDB Lightningが
replace戦略#52886 @ lyzx2001を使用して競合するデータを処理するときにUnknown column in where clauseエラーを報告する問題を修正しました - Parquet 形式#52518 @ ケニーtmの空のテーブルをインポートするときにTiDB Lightning がパニックになる問題を修正しました
- ソースファイル#51800 @ ランス6716内の互換性のない SQL ステートメントが原因で、 TiDB Lightning がデータインポート中に
パフォーマンステスト
TiDB v8.1.0 のパフォーマンスについては、 TiDB Cloud Dedicated クラスターのTPC-CパフォーマンステストレポートとSysbenchパフォーマンステストレポート参照してください。
寄稿者
TiDB コミュニティからの以下の貢献者に感謝いたします。
- アルトゥルメランチク (初回投稿者)
- キャビンフィーバーB
- ダンキシュ (初回投稿者)
- イマラソン (初回投稿者)
- ジフハウス
- ネガチョフ (初回投稿者)
- テストウィル
- yzhan1 (初回投稿者)
- zxc111 (初回投稿者)