diff --git a/releases/release-8.0.0.md b/releases/release-8.0.0.md index ac121b4167f51..1fa79c6e138d5 100644 --- a/releases/release-8.0.0.md +++ b/releases/release-8.0.0.md @@ -13,7 +13,7 @@ TiDB バージョン: 8.0.0 バージョン8.0.0では、以下の主要な機能と改善点が導入されています。 -
カテゴリ機能/改善点説明
拡張性とパフォーマンススケーラビリティ向上のためのPDの分解(実験的)Placement Driver(PD)には、TiDBクラスタの正常な動作を保証するための複数の重要なモジュールが含まれています。クラスタのワークロードが増加すると、PD内の各モジュールのリソース消費量も増加し、これらのモジュール間で相互干渉が発生し、最終的にクラスタ全体のサービス品質に影響を与えます。v8.0.0以降、TiDBはこの問題に対処するため、PD内のTSOモジュールとスケジューリングモジュールを独立してデプロイ可能なマイクロサービスに分割しました。これにより、クラスタの規模が拡大するにつれて、モジュール間の相互干渉を大幅に削減できます。このアーキテクチャにより、より大規模なワークロードを持つ、より大規模なクラスタの構築が可能になりました。
より大規模なトランザクション向けの一括DML(実験的)大規模なバッチ DML ジョブ(大規模なクリーンアップ ジョブ、結合、集計など)は、大量のメモリを消費する可能性があり、これまで非常に大規模な処理には制限がありました。バルク DML ( tidb_dml_type = "bulk" ) は、トランザクション保証を提供し、メモリ不足の問題を軽減しながら、大規模なバッチ DML タスクをより効率的に処理するための新しい DML タイプです。この機能は、データ ロードに使用する場合、インポート、ロード、およびリストア操作とは異なります。
クラスタスナップショット復元速度の向上(GA)この機能により、 BRはクラスタの規模の利点を最大限に活用し、クラスタ内のすべてのTiKVノードがデータ復元の準備段階に参加できるようになります。この機能は、大規模クラスタにおける大規模データセットの復元速度を大幅に向上させます。実際のテストでは、この機能によりダウンロード帯域幅が飽和状態になり、ダウンロード速度が8~10倍、エンドツーエンドの復元速度が約1.5~3倍向上することが示されています。
テーブル数が膨大な場合のスキーマ情報のキャッシュの安定性を向上させる(実験的) TiDBをマルチテナントアプリケーションの記録システムとして利用するSaaS企業は、多くの場合、膨大な数のテーブルを保存する必要があります。以前のバージョンでは、100万個以上のテーブルを処理することは可能でしたが、ユーザーエクスペリエンス全体が低下する可能性がありました。TiDB v8.0.0では、 auto analyze用の優先度キューを実装することで状況が改善され、処理がより柔軟になり、より幅広いテーブルで安定性が向上します。
データベースの運用と可観測性インデックス使用統計の監視をサポートします適切なインデックス設計は、データベースのパフォーマンスを維持するための重要な前提条件です。TiDB v8.0.0 では、インデックスの使用状況統計情報を提供するINFORMATION_SCHEMA.TIDB_INDEX_USAGEテーブルとsys.schema_unused_indexesビューが導入されました。この機能は、データベース内のインデックスの効率性を評価し、インデックス設計を最適化するのに役立ちます。
データ移行TiCDCがSimpleプロトコルのサポートを追加TiCDCは、新しいプロトコルであるSimpleプロトコルを導入しました。このプロトコルは、DDLおよびBOOTSTRAPイベントにテーブルスキーマ情報を埋め込むことで、スキーマをインバンドで追跡する機能を提供します。
TiCDCはDebeziumフォーマットプロトコルのサポートを追加しました。 TiCDCは、新しいプロトコルであるDebeziumプロトコルを導入しました。TiCDCは、Debezium形式のメッセージを生成するプロトコルを使用して、データ変更イベントをKafkaシンクに発行できるようになりました。
+
カテゴリ機能/改善点説明
拡張性とパフォーマンススケーラビリティ向上のためのPDの分離(実験的)Placement Driver(PD)には、TiDBクラスタの正常な動作を保証するための複数の重要なモジュールが含まれています。クラスタのワークロードが増加すると、PD内の各モジュールのリソース消費量も増加し、これらのモジュール間で相互干渉が発生し、最終的にクラスタ全体のサービス品質に影響を与えます。v8.0.0以降、TiDBはこの問題に対処するため、PD内のTSOモジュールとスケジューリングモジュールを独立してデプロイ可能なマイクロサービスに分割しました。これにより、クラスタの規模が拡大するにつれて、モジュール間の相互干渉を大幅に削減できます。このアーキテクチャにより、より大規模なワークロードを持つ、より大規模なクラスタの構築が可能になりました。
より大規模なトランザクション向けの一括DML(実験的)大規模なバッチ DML ジョブ(大規模なクリーンアップ ジョブ、結合、集計など)は、大量のメモリを消費する可能性があり、これまで非常に大規模な処理には制限がありました。バルク DML ( tidb_dml_type = "bulk" ) は、トランザクション保証を提供し、メモリ不足の問題を軽減しながら、大規模なバッチ DML タスクをより効率的に処理するための新しい DML タイプです。この機能は、データ ロードに使用する場合、インポート、ロード、およびリストア操作とは異なります。
クラスタスナップショット復元速度の向上(GA)この機能により、 BRはクラスタの規模の利点を最大限に活用し、クラスタ内のすべてのTiKVノードがデータ復元の準備段階に参加できるようになります。この機能は、大規模クラスタにおける大規模データセットの復元速度を大幅に向上させます。実際のテストでは、この機能によりダウンロード帯域幅が飽和状態になり、ダウンロード速度が8~10倍、エンドツーエンドの復元速度が約1.5~3倍向上することが示されています。
テーブル数が膨大な場合のスキーマ情報のキャッシュの安定性を向上させる(実験的) TiDBをマルチテナントアプリケーションの記録システムとして利用するSaaS企業は、多くの場合、膨大な数のテーブルを保存する必要があります。以前のバージョンでは、100万個以上のテーブルを処理することは可能でしたが、ユーザーエクスペリエンス全体が低下する可能性がありました。TiDB v8.0.0では、 auto analyze用の優先度キューを実装することで状況が改善され、処理がより柔軟になり、より幅広いテーブルで安定性が向上します。
データベースの運用と可観測性インデックス使用統計の監視をサポートします適切なインデックス設計は、データベースのパフォーマンスを維持するための重要な前提条件です。TiDB v8.0.0 では、インデックスの使用状況統計情報を提供するINFORMATION_SCHEMA.TIDB_INDEX_USAGEテーブルとsys.schema_unused_indexesビューが導入されました。この機能は、データベース内のインデックスの効率性を評価し、インデックス設計を最適化するのに役立ちます。
データ移行TiCDCがSimpleプロトコルのサポートを追加TiCDCは、新しいプロトコルであるSimpleプロトコルを導入しました。このプロトコルは、DDLおよびBOOTSTRAPイベントにテーブルスキーマ情報を埋め込むことで、スキーマをインバンドで追跡する機能を提供します。
TiCDCはDebeziumフォーマットプロトコルのサポートを追加しました。 TiCDCは、新しいプロトコルであるDebeziumプロトコルを導入しました。TiCDCは、Debezium形式のメッセージを生成するプロトコルを使用して、データ変更イベントをKafkaシンクに発行できるようになりました。
## 機能の詳細 {#feature-details} @@ -21,10 +21,10 @@ TiDB バージョン: 8.0.0 - PDはマイクロサービスモードをサポートしています(実験的) [#5766](https://github.com/tikv/pd/issues/5766) @[binshi-bing](https://github.com/binshi-bing) - バージョン8.0.0以降、PDはマイクロサービスモードをサポートしています。このモードでは、PDのタイムスタンプ割り当て機能とクラスタスケジューリング関数を個別のマイクロサービスに分割し、それぞれを独立してデプロイできるため、PDのパフォーマンス拡張性が向上し、大規模クラスタにおけるPDのパフォーマンスボトルネックが解消されます。 + バージョン8.0.0以降、PDはマイクロサービスモードをサポートしています。このモードでは、PDのタイムスタンプ割り当て機能とクラスタスケジューリング機能を個別のマイクロサービスに分割し、それぞれを独立してデプロイできるため、PDのパフォーマンス拡張性が向上し、大規模クラスタにおけるPDのパフォーマンスボトルネックが解消されます。 - `tso`マイクロサービス: クラスター全体に単調増加するタイムスタンプ割り当てを提供します。 - - `scheduling`マイクロサービス: 負荷分散、ホットスポット処理、レプリカ修復、レプリカ配置などを含むがこれらに限定されない、クラスタ全体のスケジューリング関数を提供します。 + - `scheduling`マイクロサービス: 負荷分散、ホットスポット処理、レプリカ修復、レプリカ配置などを含むがこれらに限定されない、クラスタ全体のスケジューリング機能を提供します。 各マイクロサービスは独立したプロセスとしてデプロイされます。マイクロサービスに複数のレプリカを設定すると、マイクロサービスは自動的にプライマリ/セカンダリのフォールトトレラントモードを実装し、サービスの高い可用性と信頼性を確保します。 @@ -36,7 +36,7 @@ TiDB バージョン: 8.0.0 - Titan エンジンの使いやすさを向上 [#16245](https://github.com/tikv/tikv/issues/16245) @[Connor1996](https://github.com/Connor1996) - - Titan blob ファイルと RocksDB ブロックファイルの共有キャッシュをデフォルトで有効にします ( [`shared-blob-cache`](/tikv-configuration-file.md#shared-blob-cache-new-in-v800)デフォルト値は`true`です)。これにより、[`blob-cache-size`](/tikv-configuration-file.md#blob-cache-size)個別に設定する必要がなくなります。 + - Titan blob ファイルと RocksDB ブロックファイルの共有キャッシュをデフォルトで有効にします ( [`shared-blob-cache`](/tikv-configuration-file.md#shared-blob-cache-new-in-v800)のデフォルト値は`true`です)。これにより、[`blob-cache-size`](/tikv-configuration-file.md#blob-cache-size)を個別に設定する必要がなくなります。 - Titanエンジンを使用する際のパフォーマンスと柔軟性を向上させるため、 [`min-blob-size`](/tikv-configuration-file.md#min-blob-size) 、 [`blob-file-compression`](/tikv-configuration-file.md#blob-file-compression) 、 [`discardable-ratio`](/tikv-configuration-file.md#min-blob-size)を動的に変更することをサポートします。 詳細については、[ドキュメント](/storage-engine/titan-configuration.md)を参照してください。 @@ -66,7 +66,7 @@ TiDB バージョン: 8.0.0 詳細については、 [ドキュメント](/system-variables.md#tidb_enable_parallel_hashagg_spill-new-in-v800)を参照してください。 -- 自動統計収集の優先キューを導入 [#50132](https://github.com/pingcap/tidb/issues/50132) @[Rustin170506](https://github.com/Rustin170506) +- 自動統計収集の優先キューを導入 [#50132](https://github.com/pingcap/tidb/issues/50132) @[hi-rustin](https://github.com/Rustin170506) オプティマイザ統計を最新の状態に保つことは、データベースのパフォーマンスを安定させる鍵となります。ほとんどのユーザーは、最新の統計情報を収集するために、TiDB が提供する[自動統計収集](/statistics.md#automatic-update)機能を利用しています。自動統計収集機能は、すべてのオブジェクトの統計ステータスをチェックし、異常なオブジェクトをキューに追加して順次収集します。以前のバージョンでは、この順序がランダムであったため、より適切な候補が更新されるまで過剰な待ち時間が発生し、パフォーマンスの低下につながる可能性がありました。 @@ -76,7 +76,7 @@ TiDB バージョン: 8.0.0 - 実行計画のキャッシュに関するいくつかの制限を削除 [#49161](https://github.com/pingcap/tidb/pull/49161) @[mjonss](https://github.com/mjonss)@[qw4990](https://github.com/qw4990) - TiDBは[プランキャッシュ](/sql-prepared-plan-cache.md)キャッシュをサポートしており、OLTPシステムのレイテンシーを効果的に削減し、パフォーマンス向上に重要な役割を果たします。バージョン8.0.0では、TiDBはプランキャッシュに関するいくつかの制限を撤廃しました。以下の項目を含む実行計画をキャッシュできるようになりました。 + TiDBは[プランキャッシュ](/sql-prepared-plan-cache.md)をサポートしており、OLTPシステムのレイテンシーを効果的に削減し、パフォーマンス向上に重要な役割を果たします。バージョン8.0.0では、TiDBはプランキャッシュに関するいくつかの制限を撤廃しました。以下の項目を含む実行計画をキャッシュできるようになりました。 - [パーティションテーブル](/partitioned-table.md) - [生成列](/generated-columns.md)(生成列に依存するオブジェクト ( [多値インデックス](/choose-index.md#multi-valued-indexes-and-plan-cache)など) を含む) @@ -96,7 +96,7 @@ TiDB バージョン: 8.0.0 - 低精度 TSO の更新間隔の構成をサポート [#51081](https://github.com/pingcap/tidb/issues/51081) @[Tema](https://github.com/Tema) - TiDBの[低精度TSO機能](/system-variables.md#tidb_low_resolution_tso)定期的に更新されるTSOをトランザクションのタイムスタンプとして使用します。古いデータの読み取りが許容されるシナリオでは、この機能はリアルタイム性能を犠牲にすることで、小規模な読み取り専用トランザクションのTSO取得のオーバーヘッドを削減し、高並行読み取りの能力を向上させます。 + TiDBの[低精度TSO機能](/system-variables.md#tidb_low_resolution_tso)は、定期的に更新されるTSOをトランザクションのタイムスタンプとして使用します。古いデータの読み取りが許容されるシナリオでは、この機能はリアルタイム性能を犠牲にすることで、小規模な読み取り専用トランザクションのTSO取得のオーバーヘッドを削減し、高並行読み取りの能力を向上させます。 バージョン8.0.0より前は、低精度TSO機能のTSO更新間隔は固定されており、実際のアプリケーション要件に応じて調整できませんでした。バージョン8.0.0では、TiDBはTSO更新間隔を制御するためのシステム変数`tidb_low_resolution_tso_update_interval`を導入しました。この機能は、低精度TSO機能が有効になっている場合にのみ有効です。 @@ -106,13 +106,13 @@ TiDB バージョン: 8.0.0 - プロキシコンポーネントTiProxyが一般提供開始(GA)になりました [#413](https://github.com/pingcap/tiproxy/issues/413) @[djshow832](https://github.com/djshow832) @[xhebox](https://github.com/xhebox) - TiDB v7.6.0では、実験的機能としてプロキシコンポーネントTiProxyが導入されました。TiProxyはTiDBの公式プロキシコンポーネントであり、クライアントとTiDBサーバーの間に配置されます。TiProxyはTiDBの負荷分散と接続維持関数を提供し、TiDBクラスタのワークロードをよりバランス良く分散させ、メンテナンス作業中のデータベースへのユーザーアクセスに影響を与えないようにします。 + TiDB v7.6.0では、実験的機能としてプロキシコンポーネントTiProxyが導入されました。TiProxyはTiDBの公式プロキシコンポーネントであり、クライアントとTiDBサーバーの間に配置されます。TiProxyはTiDBの負荷分散と接続維持機能を提供し、TiDBクラスタのワークロードをよりバランス良く分散させ、メンテナンス作業中のデータベースへのユーザーアクセスに影響を与えないようにします。 - バージョン8.0.0では、TiProxyが一般提供開始となり、署名証明書の自動生成機能と監視関数が強化されました。 + バージョン8.0.0では、TiProxyが一般提供開始となり、署名証明書の自動生成機能と監視機能が強化されました。 TiProxyの利用シナリオは以下のとおりです。 - - TiDBクラスタにおけるローリング再起動、ローリングアップグレード、スケールインなどのメンテナンス作業中、TiDBサーバーに変更が発生すると、クライアントとTiDBサーバー間の接続が中断されます。TiProxyを使用することで、これらのメンテナンス作業中に接続を他のTiDBサーバーにスムーズに移行できるため、クライアントへの影響を最小限に抑えることができます。 + - TiDBクラスタにおけるローリング再起動、ローリングアップグレード、スケールインなどのメンテナンス作業中、TiDBサーバーに変更が発生すると、クライアントとTiDBサーバー間の接続が中断されます。TiProxyを使用することで、これらのメンテナンス作業中に接続を他のTiDBサーバーにスムーズに移行できるため、クライアントは影響を受けません。 - TiDBサーバーへのクライアント接続を、他のTiDBサーバーに動的に移行することはできません。複数のTiDBサーバーのワークロードが不均衡になると、クラスタ全体のリソースは十分であっても、特定のTiDBサーバーでリソース枯渇が発生し、レイテンシーが大幅に増加する可能性があります。この問題を解決するために、TiProxyは接続の動的移行機能を提供します。これにより、クライアントに影響を与えることなく、接続をあるTiDBサーバーから別のTiDBサーバーに移行できるため、TiDBクラスタの負荷分散が実現されます。 TiProxyはTiUP、 TiDB Operator、およびTiDB Dashboardに統合されているため、設定、デプロイ、およびメンテナンスが容易です。 @@ -139,7 +139,7 @@ TiDB バージョン: 8.0.0 - `div_precision_increment` システム変数をサポートします [#51501](https://github.com/pingcap/tidb/issues/51501) @[yibin87](https://github.com/yibin87) - MySQL 8.0 では、`/` 演算子を使用した除算の結果桁数を増やすことを指定する `div_precision_increment` システム変数がサポートされています。v8.0.0 より前の TiDB ではこの変数はサポートされておらず、除算は小数点以下 4 桁で実行されます。v8.0.0 以降では、TiDB はこの変数をサポートしており、除算の結果桁数を必要に応じて増やすことができます。 + MySQL 8.0 では、`/` 演算子を使用した除算の結果の小数部の桁数をいくつ増やすかを指定する `div_precision_increment` システム変数がサポートされています。v8.0.0 より前の TiDB ではこの変数はサポートされておらず、除算は小数点以下 4 桁で実行されます。v8.0.0 以降では、TiDB はこの変数をサポートしており、除算の結果の小数部の桁数をいくつ増やすかを必要に応じて指定できます。 詳細については、 [ドキュメント](/system-variables.md#div_precision_increment-new-in-v800)を参照してください。 @@ -155,7 +155,7 @@ TiDB バージョン: 8.0.0 デフォルトでは、オプティマイザは[不可視インデックス](/sql-statements/sql-statement-create-index.md#invisible-index)を選択しません。このメカニズムは通常、インデックスを削除するかどうかを評価するために使用されます。インデックスを削除した場合のパフォーマンスへの影響が不明な場合は、インデックスを一時的に不可視に設定し、必要に応じてすぐに表示に戻すことができます。 - バージョン8.0.0以降では、セッションレベルのシステム変数[`tidb_opt_use_invisible_indexes`](/system-variables.md#tidb_opt_use_invisible_indexes-new-in-v800) `ON`に設定することで、現在のセッションで不可視インデックスを認識させることができます。この機能を使用すると、新しいインデックスを作成し、最初にインデックスを可視化してから、現在のセッションのシステム変数を変更してテストすることで、他のセッションに影響を与えることなくパフォーマンスをテストできます。この改善により、SQLチューニングの安全性が向上し、本番データベースの安定性も向上します。 + バージョン8.0.0以降では、セッションレベルのシステム変数[`tidb_opt_use_invisible_indexes`](/system-variables.md#tidb_opt_use_invisible_indexes-new-in-v800)を`ON`に設定することで、現在のセッションで不可視インデックスを認識させることができます。この機能を使用すると、新しいインデックスを作成し、最初にインデックスを可視化してから、現在のセッションのシステム変数を変更してテストすることで、他のセッションに影響を与えることなくパフォーマンスをテストできます。この改善により、SQLチューニングの安全性が向上し、本番データベースの安定性も向上します。 詳細については、 [ドキュメント](/sql-statements/sql-statement-create-index.md#invisible-index)を参照してください。 @@ -165,13 +165,13 @@ TiDB バージョン: 8.0.0 バージョン8.0.0以降では、設定項目[`log.general-log-file`](/tidb-configuration-file.md#general-log-file-new-in-v800)に有効なファイル名を設定することで、一般ログを指定したファイルに書き込むことができます。一般ログは、インスタンスログと同じローテーションおよび保持ポリシーに従います。 - さらに、履歴ログファイルが占めるディスク容量を削減するため、TiDB v8.0.0 ではネイティブのログ圧縮オプションが導入されました。設定項目[`log.file.compression`](/tidb-configuration-file.md#compression-new-in-v800) `gzip`に設定すると、ローテーションされたログが[`gzip`](https://www.gzip.org/)形式で自動的に圧縮されます。 + さらに、履歴ログファイルが占めるディスク容量を削減するため、TiDB v8.0.0 ではネイティブのログ圧縮オプションが導入されました。設定項目[`log.file.compression`](/tidb-configuration-file.md#compression-new-in-v800)を`gzip`に設定すると、ローテーションされたログが[`gzip`](https://www.gzip.org/)形式で自動的に圧縮されます。 詳細については、 [ドキュメント](/tidb-configuration-file.md#general-log-file-new-in-v800)を参照してください。 ### 可観測性 {#observability} -- 監視インデックスの使用統計をサポートする [#49830](https://github.com/pingcap/tidb/issues/49830) @[YangKeao](https://github.com/YangKeao) +- インデックス使用統計の監視をサポートする [#49830](https://github.com/pingcap/tidb/issues/49830) @[YangKeao](https://github.com/YangKeao) 適切なインデックス設計は、データベースのパフォーマンスを維持するための重要な前提条件です。TiDB v8.0.0 では、現在の TiDB ノード上のすべてのインデックスの統計情報を記録する[`INFORMATION_SCHEMA.TIDB_INDEX_USAGE`](/information-schema/information-schema-tidb-index-usage.md)テーブルが導入されました。このテーブルには、以下の情報が含まれます。 @@ -182,13 +182,13 @@ TiDB バージョン: 8.0.0 この情報を用いることで、オプティマイザで使用されていないインデックスや選択性の低いインデックスを特定し、インデックス設計を最適化することでデータベースのパフォーマンスを向上させることができます。 - さらに、TiDB v8.0.0 では MySQL と互換性のあるビュー[`sys.schema_unused_indexes`](/sys-schema/sys-schema-unused-indexes.md)が導入されました。このビューには、TiDB インスタンスの最後の起動以降に使用されていないインデックスが表示されます。v8.0.0 より前のバージョンからアップグレードされたクラスタの場合、 `sys`スキーマとビューは自動的に作成されません[`sys.schema_unused_indexes`](/sys-schema/sys-schema-unused-indexes.md#manually-create-the-schema_unused_indexes-view)を参照して手動で作成できます。 + さらに、TiDB v8.0.0 では MySQL と互換性のあるビュー[`sys.schema_unused_indexes`](/sys-schema/sys-schema-unused-indexes.md)が導入されました。このビューには、TiDB インスタンスの最後の起動以降に使用されていないインデックスが表示されます。v8.0.0 より前のバージョンからアップグレードされたクラスタの場合、 `sys`スキーマとビューは自動的に作成されません。[`sys.schema_unused_indexes`](/sys-schema/sys-schema-unused-indexes.md#manually-create-the-schema_unused_indexes-view)を参照して手動で作成できます。 詳細については、 [ドキュメント](/information-schema/information-schema-tidb-index-usage.md)を参照してください。 ### セキュリティ {#security} -- TiKV 保存時の暗号化は Google [キー管理サービス(クラウドKMS)](https://cloud.google.com/docs/security/key-management-deep-dive?hl)をサポートします (実験的) [#8906](https://github.com/tikv/tikv/issues/8906) @[glorv](https://github.com/glorv) +- TiKV 保存時の暗号化は Google [Key Management Service(Cloud KMS)](https://cloud.google.com/docs/security/key-management-deep-dive?hl)をサポートします (実験的) [#8906](https://github.com/tikv/tikv/issues/8906) @[glorv](https://github.com/glorv) TiKVは、保存データの暗号化技術を用いてデータのセキュリティを確保します。セキュリティのための保存データ暗号化の中核となるのは鍵管理です。バージョン8.0.0以降では、Google Cloud KMSを使用してTiKVのマスターキーを管理し、Cloud KMSに基づいた保存データ暗号化機能を確立することで、ユーザーデータのセキュリティを強化できます。 @@ -232,9 +232,9 @@ TiDB バージョン: 8.0.0 - TiDB Lightning は競合解決戦略を簡素化し、 `replace`戦略を使用した競合データの処理をサポートします (実験的) [#51036](https://github.com/pingcap/tidb/issues/51036) @[lyzx2001](https://github.com/lyzx2001) - 以前のバージョンでは、 TiDB Lightning には論理インポートモード用の[データ競合解決戦略](/tidb-lightning/tidb-lightning-logical-import-mode-usage.md#conflict-detection)と物理インポートモード用の[2つのデータ競合解決戦略](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#conflict-detection)ありましたが、これらは理解して設定するのが簡単ではありませんでした。 + 以前のバージョンでは、 TiDB Lightning には論理インポートモード用の[1つのデータ競合解決戦略](/tidb-lightning/tidb-lightning-logical-import-mode-usage.md#conflict-detection)と物理インポートモード用の[2つのデータ競合解決戦略](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#conflict-detection)がありましたが、これらは理解して設定するのが簡単ではありませんでした。 - バージョン 8.0.0 以降、 TiDB Lightning は[旧バージョンの競合検出](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#the-old-version-of-conflict-detection-deprecated-in-v800)物理インポートモードの戦略を非推奨とし、 [`conflict.strategy`](/tidb-lightning/tidb-lightning-configuration.md)パラメータを使用して論理インポートモードと物理インポートモードの両方の競合検出戦略を制御できるようにし、このパラメータの設定を簡素化しました。さらに、物理インポートモードでは、 `replace`戦略が、インポート時に主キーまたは一意キーの競合があるデータが検出された場合、最新のデータを保持して古いデータを上書きすることをサポートするようになりました。 + バージョン 8.0.0 以降、 TiDB Lightning は物理インポートモードの[旧バージョンの競合検出](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#the-old-version-of-conflict-detection-deprecated-in-v800)戦略を非推奨とし、 [`conflict.strategy`](/tidb-lightning/tidb-lightning-configuration.md)パラメータを使用して論理インポートモードと物理インポートモードの両方の競合検出戦略を制御できるようにし、このパラメータの設定を簡素化しました。さらに、物理インポートモードでは、 `replace`戦略が、インポート時に主キーまたは一意キーの競合があるデータが検出された場合、最新のデータを保持して古いデータを上書きすることをサポートするようになりました。 詳細については、 [ドキュメント](/tidb-lightning/tidb-lightning-configuration.md)を参照してください。 @@ -254,11 +254,11 @@ TiDB バージョン: 8.0.0 - TiUPによってデフォルトでデプロイされているPrometheusのバージョンを2.27.1から2.49.1にアップグレードします。 - TiUPによってデプロイされたデフォルトのGrafanaバージョンを7.5.11から7.5.17にアップグレードします。 -- GAではないがデフォルトで有効になっている証人関連のスケジューラを削除する [#7765](https://github.com/tikv/pd/pull/7765) @[rleungx](https://github.com/rleungx) +- GAではないがデフォルトで有効になっているWitness関連のスケジューラを削除する [#7765](https://github.com/tikv/pd/pull/7765) @[rleungx](https://github.com/rleungx) ### 動作の変更 {#behavior-changes} -- セキュリティ強化モード(SEM)で[`require_secure_transport`](/system-variables.md#require_secure_transport-new-in-v610) `ON`に設定することを禁止し、ユーザーの接続に関する潜在的な問題を防止します。 [#47665](https://github.com/pingcap/tidb/issues/47665) @[tiancaiamao](https://github.com/tiancaiamao) +- セキュリティ強化モード(SEM)で[`require_secure_transport`](/system-variables.md#require_secure_transport-new-in-v610)を`ON`に設定することを禁止し、ユーザーの接続に関する潜在的な問題を防止します。 [#47665](https://github.com/pingcap/tidb/issues/47665) @[tiancaiamao](https://github.com/tiancaiamao) - DM では、暗号化および復号化用の固定秘密キーが削除され、暗号化および復号化用の秘密キーをカスタマイズできるようになります。アップグレード前に[データソース構成](/dm/dm-source-configuration-file.md)と[移行タスクの設定](/dm/task-configuration-file-full.md)で暗号化されたパスワードが使用されている場合、追加の操作については[DMの暗号化と復号化のための秘密鍵をカスタマイズする](/dm/dm-customized-secret-key.md)のアップグレード手順を参照する必要があります。 [#9492](https://github.com/pingcap/tiflow/issues/9492) @[D3Hunter](https://github.com/D3Hunter) - v8.0.0 より前では、 `ADD INDEX`および`CREATE INDEX` ( `tidb_ddl_enable_fast_reorg = ON` ) の高速化を有効にした後、エンコードされたインデックスキーは、下流の TiKV 容量に応じて動的に調整できない固定の同時実行数`16`で TiKV にデータを取り込みます。v8.0.0 以降では、 [`tidb_ddl_reorg_worker_cnt`](/system-variables.md#tidb_ddl_reorg_worker_cnt)システム変数を使用して同時実行数を調整できます。デフォルト値は`4`です。以前のデフォルト値`16`と比較すると、新しいデフォルト値では、インデックス付きキーと値のペアを取り込むときのパフォーマンスが低下します。このシステム変数は、クラスターのワークロードに基づいて調整できます。 @@ -274,13 +274,13 @@ TiDB バージョン: 8.0.0 | `tidb_ddl_version` | 名称変更 | TiDB DDL V2 を有効にするかどうかを制御します。バージョン 8.0.0 以降、この変数は目的をより明確にするために[`tidb_enable_fast_create_table`](/system-variables.md#tidb_enable_fast_create_table-new-in-v800)に名称変更されました。 | | [`tidb_enable_collect_execution_info`](/system-variables.md#tidb_enable_collect_execution_info) | 変更 | [インデックスの使用統計](/information-schema/information-schema-tidb-index-usage.md)を記録するかどうかのコントロールを追加します。デフォルト値は`ON`です。 | | [`tidb_redact_log`](/system-variables.md#tidb_redact_log) | 変更 | TiDB ログおよびスローログを記録する際に、SAL テキスト内のユーザー情報をどのように処理するかを制御します。値のオプションは`OFF` (ログ内のユーザー情報を処理しないことを示す) と`ON` (ログ内のユーザー情報を非表示にすることを示す) です。ログ内のユーザー情報をより詳細に処理できるように、v8.0.0 ではログ情報をマークするための`MARKER`オプションが追加されました。 | -| [`div_precision_increment`](/system-variables.md#div_precision_increment-new-in-v800) | 新しく追加された | `/` 演算子を使用した除算の結果桁数を増やすかどうかを制御します。この変数はMySQLと同じです。 | +| [`div_precision_increment`](/system-variables.md#div_precision_increment-new-in-v800) | 新しく追加された | `/` 演算子を使用した除算の結果の小数部の桁数をいくつ増やすかを制御します。この変数はMySQLと同じです。 | | [`tidb_dml_type`](/system-variables.md#tidb_dml_type-new-in-v800) | 新しく追加された | DML文の実行モードを制御します。値のオプションは`"standard"`と`"bulk"`です。 | | [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-new-in-v800) | 新しく追加された | 統計情報の自動収集タスクをスケジュールするための優先度キューを有効にするかどうかを制御します。この変数を有効にすると、TiDB は統計情報を最も必要とするテーブルの統計情報の収集を優先します。 | | [`tidb_enable_parallel_hashagg_spill`](/system-variables.md#tidb_enable_parallel_hashagg_spill-new-in-v800) | 新しく追加された | TiDBが並列HashAggアルゴリズムでディスクスピルをサポートするかどうかを制御します。 `ON`の場合、並列HashAggアルゴリズムでディスクスピルがトリガーされます。この機能が将来のリリースで一般提供されるようになったら、この変数は非推奨になります。 | | [`tidb_enable_fast_create_table`](/system-variables.md#tidb_enable_fast_create_table-new-in-v800) | 新しく追加された | [TiDBがテーブル作成を高速化](/accelerated-table-creation.md)機能を有効にするかどうかを制御します。有効にするには`ON`に、無効にするには`OFF`に設定します。デフォルト値は`ON`です。この変数が有効になっている場合、TiDB は[`CREATE TABLE`](/sql-statements/sql-statement-create-table.md)を使用してテーブル作成を高速化します。 | | [`tidb_load_binding_timeout`](/system-variables.md#tidb_load_binding_timeout-new-in-v800) | 新しく追加された | バインディングの読み込みタイムアウトを制御します。バインディングの読み込み実行時間がこの値を超えると、読み込みが停止します。 | -| [`tidb_low_resolution_tso_update_interval`](/system-variables.md#tidb_low_resolution_tso_update_interval-new-in-v800) | 新しく追加された | TiDB [キャッシュタイムスタンプ](/system-variables.md#tidb_low_resolution_tso)スタンプを更新する間隔を制御します。 | +| [`tidb_low_resolution_tso_update_interval`](/system-variables.md#tidb_low_resolution_tso_update_interval-new-in-v800) | 新しく追加された | TiDB [キャッシュタイムスタンプ](/system-variables.md#tidb_low_resolution_tso)を更新する間隔を制御します。 | | [`tidb_opt_ordering_index_selectivity_ratio`](/system-variables.md#tidb_opt_ordering_index_selectivity_ratio-new-in-v800) | 新しく追加された | SQL文に`ORDER BY`および`LIMIT`句が存在するものの、インデックスでカバーされていないフィルタ条件がある場合に、SQL文の`ORDER BY`に一致するインデックスの推定行数を制御します。デフォルト値は`-1`で、このシステム変数を無効にすることを意味します。 | | [`tidb_opt_use_invisible_indexes`](/system-variables.md#tidb_opt_use_invisible_indexes-new-in-v800) | 新しく追加された | オプティマイザが現在のセッションでクエリ最適化のために[不可視インデックス](/sql-statements/sql-statement-create-index.md#invisible-index)を選択できるかどうかを制御します。変数が`ON`に設定されている場合、オプティマイザはセッション内のクエリ最適化のために不可視インデックスを選択できます。 | | [`tidb_schema_cache_size`](/system-variables.md#tidb_schema_cache_size-new-in-v800) | 新しく追加された | スキーマ情報のキャッシュに使用できるメモリの上限を制御し、メモリの過剰使用を防ぎます。この機能を有効にすると、LRUアルゴリズムを使用して必要なテーブルをキャッシュし、スキーマ情報によって占有されるメモリを効果的に削減します。 | @@ -322,7 +322,7 @@ TiDB バージョン: 8.0.0 - バージョン8.0.0以降、 [`tidb_disable_txn_auto_retry`](/system-variables.md#tidb_disable_txn_auto_retry)システム変数は非推奨となり、TiDBは楽観的トランザクションの自動再試行をサポートしなくなりました。代替策として、楽観的トランザクションの競合が発生した場合は、エラーを捕捉してアプリケーションでトランザクションを再試行するか、[悲観的トランザクションモード](/pessimistic-transaction.md)を使用してください。 - バージョン8.0.0以降、TiDBはTLSv1.0およびTLSv1.1プロトコルをサポートしなくなりました。TLSをTLSv1.2またはTLSv1.3にアップグレードする必要があります。 -- バージョン8.0.0以降、 TiDB Lightningは[旧バージョンの競合検出](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#the-old-version-of-conflict-detection-deprecated-in-v800)戦略を非推奨とし、 [`conflict.strategy`](/tidb-lightning/tidb-lightning-configuration.md)パラメータを使用して論理インポートモードと物理インポートモードの両方の競合検出戦略を制御できるようにします。旧バージョンの競合検出の[`duplicate-resolution`](/tidb-lightning/tidb-lightning-configuration.md)パラメータは、今後のリリースで削除されます。 +- バージョン8.0.0以降、 TiDB Lightningは物理インポートモードの[旧バージョンの競合検出](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#the-old-version-of-conflict-detection-deprecated-in-v800)戦略を非推奨とし、 [`conflict.strategy`](/tidb-lightning/tidb-lightning-configuration.md)パラメータを使用して論理インポートモードと物理インポートモードの両方の競合検出戦略を制御できるようにします。旧バージョンの競合検出の[`duplicate-resolution`](/tidb-lightning/tidb-lightning-configuration.md)パラメータは、今後のリリースで削除されます。 - 今後のリリースでは [実行プランバインディングの自動進化](/sql-plan-management.md#baseline-evolution)が再設計される予定であり、関連する変数や動作が変更される予定です。 ## 改善点 {#improvements} @@ -332,7 +332,7 @@ TiDB バージョン: 8.0.0 - `CREATE TABLE` DDL文の実行パフォーマンスを 10 倍向上させ、線形スケーラビリティをサポート [#50052](https://github.com/pingcap/tidb/issues/50052) @[GMHDBJD](https://github.com/GMHDBJD) - 16個の`IMPORT INTO ... FROM FILE`タスクを同時に送信することをサポートし、ターゲットテーブルへの大量データインポートを容易にし、データファイルのインポートの効率とパフォーマンスを大幅に向上させます [#49008](https://github.com/pingcap/tidb/issues/49008) @[D3Hunter](https://github.com/D3Hunter) - `Sort`オペレーターのディスクへのデータスピル処理のパフォーマンスを改善 [#47733](https://github.com/pingcap/tidb/issues/47733) @[xzhangxian1008](https://github.com/xzhangxian1008) - - ディスクへのデータ流出中にクエリをキャンセルする機能をサポートし、データ流出機能の終了メカニズムを最適化します [#50511](https://github.com/pingcap/tidb/issues/50511) @[wshwsh12](https://github.com/wshwsh12) + - ディスクへのデータスピル中にクエリをキャンセルする機能をサポートし、データスピル機能の終了メカニズムを最適化します [#50511](https://github.com/pingcap/tidb/issues/50511) @[wshwsh12](https://github.com/wshwsh12) - 複数の等しい条件を持つテーブル結合クエリを処理する際に、部分条件に一致するインデックスを使用してインデックス結合を構築することをサポートする [#47233](https://github.com/pingcap/tidb/issues/47233) @[winoros](https://github.com/winoros) - クエリ内のソート要件を識別し、ソート要件を満たすインデックスを選択するインデックスマージ機能を強化します [#48359](https://github.com/pingcap/tidb/issues/48359) @[AilinKid](https://github.com/AilinKid) - `Apply`オペレーターが同時に実行されない場合、TiDB では`SHOW WARNINGS`を実行することで、同時実行をブロックしている演算子の名前を表示できます。 [#50256](https://github.com/pingcap/tidb/issues/50256) @[hawkingrei](https://github.com/hawkingrei) @@ -340,12 +340,12 @@ TiDB バージョン: 8.0.0 - TiKVの負荷が高い時に広範囲にわたるタイムアウトが発生するのを避けるため、統計情報を同期的にロードするタスクの優先度を一時的に「高」に調整します。タイムアウトが発生すると、統計情報がロードされない可能性があります。 [#50332](https://github.com/pingcap/tidb/issues/50332) @[winoros](https://github.com/winoros) - `PREPARE`文が実行プランキャッシュにヒットしなかった場合、TiDB では`SHOW WARNINGS`を実行することで理由を確認できます。 [#50407](https://github.com/pingcap/tidb/issues/50407) @[hawkingrei](https://github.com/hawkingrei) - 同じデータ行が複数回更新された場合のクエリ推定情報の精度を向上させる [#47523](https://github.com/pingcap/tidb/issues/47523) @[terry1purcell](https://github.com/terry1purcell) - - インデックスマージは、 `OR`述語への多値インデックスと`AND`演算子の埋め込みをサポートします [#51778](https://github.com/pingcap/tidb/issues/51778) @[time-and-fate](https://github.com/time-and-fate) - - `force-init-stats` `true`に設定すると、TiDB は TiDB 起動中にサービスを提供する前に統計情報の初期化が完了するまで待機します。この設定により HTTP サーバーの起動がブロックされなくなり、ユーザーは引き続き監視できるようになります [#50854](https://github.com/pingcap/tidb/issues/50854) @[hawkingrei](https://github.com/hawkingrei) + - インデックスマージは、 `AND`述語への多値インデックスと`OR`演算子の埋め込みをサポートします [#51778](https://github.com/pingcap/tidb/issues/51778) @[time-and-fate](https://github.com/time-and-fate) + - `force-init-stats`を`true`に設定すると、TiDB は TiDB 起動中にサービスを提供する前に統計情報の初期化が完了するまで待機します。この設定により HTTP サーバーの起動がブロックされなくなり、ユーザーは引き続き監視できるようになります [#50854](https://github.com/pingcap/tidb/issues/50854) @[hawkingrei](https://github.com/hawkingrei) - MemoryTracker は `IndexLookup` オペレーターのメモリ使用量を追跡できます [#45901](https://github.com/pingcap/tidb/issues/45901) @[solotzg](https://github.com/solotzg) - MemoryTracker は `MemTableReaderExec` オペレーターのメモリ使用量を追跡できます [#51456](https://github.com/pingcap/tidb/issues/51456) @[wshwsh12](https://github.com/wshwsh12) - 大規模テーブルをクエリする際に、PD からリージョンをバッチでロードして KV 範囲からリージョンへの変換プロセスを高速化するサポート [#51326](https://github.com/pingcap/tidb/issues/51326) @[SeaRise](https://github.com/SeaRise) - - システムテーブル`INFORMATION_SCHEMA.TABLES` 、 `INFORMATION_SCHEMA.STATISTICS` 、 `INFORMATION_SCHEMA.KEY_COLUMN_USAGE` 、および`INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS`パフォーマンスを最適化しました。以前のバージョンと比較して、パフォーマンスが最大 100 倍向上しています。 [#50305](https://github.com/pingcap/tidb/issues/50305) @[ywqzzy](https://github.com/ywqzzy) + - システムテーブル`INFORMATION_SCHEMA.TABLES` 、 `INFORMATION_SCHEMA.STATISTICS` 、 `INFORMATION_SCHEMA.KEY_COLUMN_USAGE` 、および`INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS`のクエリパフォーマンスを最適化しました。以前のバージョンと比較して、パフォーマンスが最大 100 倍向上しています。 [#50305](https://github.com/pingcap/tidb/issues/50305) @[ywqzzy](https://github.com/ywqzzy) - TiKV @@ -353,12 +353,12 @@ TiDB バージョン: 8.0.0 - 未コミットトランザクションの処理パフォーマンスを向上させるため、悲観的ロックのクリーンアップロジックを最適化する [#16158](https://github.com/tikv/tikv/issues/16158) @[cfzjywxk](https://github.com/cfzjywxk) - TiKV の統一ヘルス制御を導入し、異常な単一の TiKV ノードがクラスタ アクセス パフォーマンスに与える影響を軽減します。この最適化は、 [`tikv-client.enable-replica-selector-v2`](/tidb-configuration-file.md#enable-replica-selector-v2-new-in-v800)を`false`に設定することで無効にできます。 [#16297](https://github.com/tikv/tikv/issues/16297) [#1104](https://github.com/tikv/client-go/issues/1104) [#1167](https://github.com/tikv/client-go/issues/1167) @[MyonKeminta](https://github.com/MyonKeminta)@[zyguan](https://github.com/zyguan)@[crazycs520](https://github.com/crazycs520) - PDクライアントはメタデータストレージインターフェースを使用して、以前のグローバル構成インターフェースを置き換えます [#14484](https://github.com/tikv/tikv/issues/14484) @[HuSharp](https://github.com/HuSharp) - - cf stats の書き込みによるデータ読み込み動作の判定により、スキャン性能を向上させる [#16245](https://github.com/tikv/tikv/issues/16245) @[Connor1996](https://github.com/Connor1996) - - Raft設定変更プロセス中にノードが削除され、投票者が降格された最新のハートビートをチェックして、この動作によってリージョンにアクセスできなくなることがないようにしてください [#15799](https://github.com/tikv/tikv/issues/15799) @[tonyxuqqi](https://github.com/tonyxuqqi) + - write CF の統計情報によってデータ読み込み動作を判定することで、スキャン性能を向上させる [#16245](https://github.com/tikv/tikv/issues/16245) @[Connor1996](https://github.com/Connor1996) + - Raft設定変更プロセス中に削除されるノードと降格される投票者の最新のハートビートをチェックして、この動作によってリージョンにアクセスできなくなることがないようにする [#15799](https://github.com/tikv/tikv/issues/15799) @[tonyxuqqi](https://github.com/tonyxuqqi) - パイプラインDML用のFlushおよびBufferBatchGetインターフェースを追加 [#16291](https://github.com/tikv/tikv/issues/16291) @[ekexium](https://github.com/ekexium) - cgroupのCPUとメモリ制限の監視とアラート機能を追加 [#16392](https://github.com/tikv/tikv/issues/16392) @[pingandb](https://github.com/pingandb) - リージョンワーカーとスナップショット生成ワーカーのCPU監視機能を追加 [#16562](https://github.com/tikv/tikv/issues/16562) @[Connor1996](https://github.com/Connor1996) - - ピアおよびストアメッセージの低速ログを追加 [#16600](https://github.com/tikv/tikv/issues/16600) @[Connor1996](https://github.com/Connor1996) + - ピアおよびストアメッセージのスローログを追加 [#16600](https://github.com/tikv/tikv/issues/16600) @[Connor1996](https://github.com/Connor1996) - PD @@ -383,10 +383,10 @@ TiDB バージョン: 8.0.0 - Backup & Restore (BR) - - `--load-stats` `br` を導入します。 [#50568](https://github.com/pingcap/tidb/issues/50568) @[Leavrth](https://github.com/Leavrth) - - `--tikv-max-restore-concurrency`コマンドラインツールに、新しい復元パラメータ { `br` を導入します。このパラメータは、各 TiKV ノードのダウンロードおよび取り込みファイルの最大数を制御します。また、ジョブキューの最大長を制御することで、 BRノードのメモリ消費量も制御します。 [#51621](https://github.com/pingcap/tidb/issues/51621) @[3pointer](https://github.com/3pointer) - - 粒度の粗いリージョン分散アルゴリズムを有効にして同時パラメータを適応的に取得できるようにすることで、復元パフォーマンスを向上させます [#50701](https://github.com/pingcap/tidb/issues/50701) @[3pointer](https://github.com/3pointer) - - `log`のコマンドラインヘルプ情報に`br`コマンドを表示する [#50927](https://github.com/pingcap/tidb/issues/50927) @[RidRisR](https://github.com/RidRisR) + - `br`コマンドラインツールに新しい復元パラメータ`--load-stats`を導入します。このパラメータは統計情報を復元するかどうかを制御します。 [#50568](https://github.com/pingcap/tidb/issues/50568) @[Leavrth](https://github.com/Leavrth) + - `br`コマンドラインツールに新しい復元パラメータ`--tikv-max-restore-concurrency`を導入します。このパラメータは、各 TiKV ノードのダウンロードおよび取り込みファイルの最大数を制御します。また、ジョブキューの最大長を制御することで、 BRノードのメモリ消費量も制御します。 [#51621](https://github.com/pingcap/tidb/issues/51621) @[3pointer](https://github.com/3pointer) + - 粒度の粗いリージョン分散アルゴリズムを有効にして同時実行パラメータを適応的に取得できるようにすることで、復元パフォーマンスを向上させます [#50701](https://github.com/pingcap/tidb/issues/50701) @[3pointer](https://github.com/3pointer) + - `br`のコマンドラインヘルプ情報に`log`コマンドを表示する [#50927](https://github.com/pingcap/tidb/issues/50927) @[RidRisR](https://github.com/RidRisR) - テーブルIDの再利用を最大化し、リストアパフォーマンスを向上させるため、リストアプロセス中にテーブルIDを事前割り当てする機能をサポートする [#51736](https://github.com/pingcap/tidb/issues/51736) @[Leavrth](https://github.com/Leavrth) - BR使用時にTiDB内のGCメモリ制限チューナー機能を無効にしてOOM問題を回避する [#51078](https://github.com/pingcap/tidb/issues/51078) @[Leavrth](https://github.com/Leavrth) - データ復元時のSSTファイルのマージ速度を、より効率的なアルゴリズムを使用して改善する [#50613](https://github.com/pingcap/tidb/issues/50613) @[Leavrth](https://github.com/Leavrth) @@ -405,43 +405,43 @@ TiDB バージョン: 8.0.0 - TiDB Lightning - - 論理インポートモードでのバッチ内の最大行数の設定をサポートする[`logical-import-batch-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-task) [#46607](https://github.com/pingcap/tidb/issues/46607) @[kennytm](https://github.com/kennytm) + - [`logical-import-batch-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-task)を使用した、論理インポートモードでのバッチ内の最大行数の設定をサポートする [#46607](https://github.com/pingcap/tidb/issues/46607) @[kennytm](https://github.com/kennytm) - TiDB Lightning はTiFlashの容量が不足している場合にエラーを報告する [#50324](https://github.com/pingcap/tidb/issues/50324) @[okJiang](https://github.com/okJiang) ## バグ修正 {#bug-fixes} - TiDB - - データ変更がないにもかかわらず`auto analyze`が複数回トリガーされる問題を修正 [#51775](https://github.com/pingcap/tidb/issues/51775) @[Rustin170506](https://github.com/Rustin170506) + - データ変更がないにもかかわらず`auto analyze`が複数回トリガーされる問題を修正 [#51775](https://github.com/pingcap/tidb/issues/51775) @[hi-rustin](https://github.com/Rustin170506) - `auto analyze`の同時実行設定が正しくない問題を修正 [#51749](https://github.com/pingcap/tidb/issues/51749) @[hawkingrei](https://github.com/hawkingrei) - 単一のSQL文を使用して複数のインデックスを追加した際に発生するインデックスの不整合の問題を修正 [#51746](https://github.com/pingcap/tidb/issues/51746) @[tangenta](https://github.com/tangenta) - クエリで`NATURAL JOIN`を使用する場合に発生する可能性がある`Column ... in from clause is ambiguous`エラーを修正 [#32044](https://github.com/pingcap/tidb/issues/32044) @[AilinKid](https://github.com/AilinKid) - - TiDB が`group by`の定数値を誤って削除したことによる誤ったクエリ結果の問題を修正 [#38756](https://github.com/pingcap/tidb/issues/38756) @[Rustin170506](https://github.com/Rustin170506) + - TiDB が`group by`の定数値を誤って削除したことによる誤ったクエリ結果の問題を修正 [#38756](https://github.com/pingcap/tidb/issues/38756) @[hi-rustin](https://github.com/Rustin170506) - `LEADING`ヒントが`UNION ALL`ステートメントで有効にならない問題を修正 [#50067](https://github.com/pingcap/tidb/issues/50067) @[hawkingrei](https://github.com/hawkingrei) - `BIT`型の列が一部の関数の計算に関与している場合、デコードエラーによりクエリエラーが発生する可能性がある問題を修正しました。 [#49566](https://github.com/pingcap/tidb/issues/49566) [#50850](https://github.com/pingcap/tidb/issues/50850) [#50855](https://github.com/pingcap/tidb/issues/50855) @[jiyfhust](https://github.com/jiyfhust) - PDとの相互作用の問題により、 `tiup cluster upgrade/start`を使用してローリングアップグレードを実行するとTiDBがpanicする可能性がある問題を修正しました [#50152](https://github.com/pingcap/tidb/issues/50152) @[zimulala](https://github.com/zimulala) - `ORDER BY`句を使用して`UNIQUE`インデックスルックアップを実行するとエラーが発生する可能性がある問題を修正 [#49920](https://github.com/pingcap/tidb/issues/49920) @[jackysp](https://github.com/jackysp) - TiDBが`ENUM`または`SET`型を定数伝播で処理する際に誤ったクエリ結果を返す問題を修正 [#49440](https://github.com/pingcap/tidb/issues/49440) @[winoros](https://github.com/winoros) - - クエリに Apply オペレーターが含まれている場合に TiDB がpanicを起こし、 `fatal error: concurrent map writes`エラーが発生する問題を修正しました [#50347](https://github.com/pingcap/tidb/issues/50347) @[SeaRise](https://github.com/SeaRise) + - クエリに Apply オペレーターが含まれ、 `fatal error: concurrent map writes`エラーが発生した場合に TiDB がpanicする可能性がある問題を修正しました [#50347](https://github.com/pingcap/tidb/issues/50347) @[SeaRise](https://github.com/SeaRise) - 文字列型の変数に対する`SET_VAR`の制御が無効になる可能性がある問題を修正しました [#50507](https://github.com/pingcap/tidb/issues/50507) @[qw4990](https://github.com/qw4990) - - `SYSDATE()`が`tidb_sysdate_is_now`に設定されている場合、 `1`関数がプランキャッシュ内の時間を誤って使用する問題を修正しました。 [#49299](https://github.com/pingcap/tidb/issues/49299) @[hawkingrei](https://github.com/hawkingrei) + - `tidb_sysdate_is_now`が`1`に設定されている場合、 `SYSDATE()`関数がプランキャッシュ内の時間を誤って使用する問題を修正しました。 [#49299](https://github.com/pingcap/tidb/issues/49299) @[hawkingrei](https://github.com/hawkingrei) - `CREATE GLOBAL BINDING`ステートメントを実行する際に、スキーマ名が大文字の場合、バインディングが有効にならない問題を修正しました [#50646](https://github.com/pingcap/tidb/issues/50646) @[qw4990](https://github.com/qw4990) - `Index Path`が重複したインデックスを選択する問題を修正 [#50496](https://github.com/pingcap/tidb/issues/50496) @[AilinKid](https://github.com/AilinKid) - - `PLAN REPLAYER`ステートメントに`CREATE GLOBAL BINDING`が含まれている場合`IN()`がバインディングのロードに失敗する問題を修正 [#43192](https://github.com/pingcap/tidb/issues/43192) @[King-Dylan](https://github.com/King-Dylan) - - 複数の`analyze`タスクが失敗した場合に、失敗理由が正しく記録されない問題を修正します [#50481](https://github.com/pingcap/tidb/issues/50481) @[Rustin170506](https://github.com/Rustin170506) + - `CREATE GLOBAL BINDING`ステートメントに`IN()`が含まれている場合に`PLAN REPLAYER`がバインディングのロードに失敗する問題を修正 [#43192](https://github.com/pingcap/tidb/issues/43192) @[King-Dylan](https://github.com/King-Dylan) + - 複数の`analyze`タスクが失敗した場合に、失敗理由が正しく記録されない問題を修正します [#50481](https://github.com/pingcap/tidb/issues/50481) @[hi-rustin](https://github.com/Rustin170506) - `tidb_stats_load_sync_wait`が有効にならない問題を修正 [#50872](https://github.com/pingcap/tidb/issues/50872) @[jiyfhust](https://github.com/jiyfhust) - `max_execute_time`設定が複数のレベルで互いに干渉する問題を修正 [#50914](https://github.com/pingcap/tidb/issues/50914) @[jiyfhust](https://github.com/jiyfhust) - - 統計情報の同時更新によって発生するスレッドセーフティの問題を修正 [#50835](https://github.com/pingcap/tidb/issues/50835) @[Rustin170506](https://github.com/Rustin170506) - - パーティションテーブルで`auto analyze`を実行すると TiDB がpanicを引き起こす可能性がある問題を修正 [#51187](https://github.com/pingcap/tidb/issues/51187) @[Rustin170506](https://github.com/Rustin170506) + - 統計情報の同時更新によって発生するスレッドセーフティの問題を修正 [#50835](https://github.com/pingcap/tidb/issues/50835) @[hi-rustin](https://github.com/Rustin170506) + - パーティションテーブルで`auto analyze`を実行すると TiDB がpanicを引き起こす可能性がある問題を修正 [#51187](https://github.com/pingcap/tidb/issues/51187) @[hi-rustin](https://github.com/Rustin170506) - SQL文中の`IN()`に異なる数の値が含まれている場合、SQLバインディングが機能しない可能性がある問題を修正しました [#51222](https://github.com/pingcap/tidb/issues/51222) @[hawkingrei](https://github.com/hawkingrei) - - TiDB が式内のシステム変数の型を正しく変換できない問題を修正 [#43527](https://github.com/pingcap/tidb/issues/43527) @[Rustin170506](https://github.com/Rustin170506) + - TiDB が式内のシステム変数の型を正しく変換できない問題を修正 [#43527](https://github.com/pingcap/tidb/issues/43527) @[hi-rustin](https://github.com/Rustin170506) - `force-init-stats`が設定されている場合に TiDB が対応するポートをリッスンしない問題を修正 [#51473](https://github.com/pingcap/tidb/issues/51473) @[hawkingrei](https://github.com/hawkingrei) - `determinate`モード ( `tidb_opt_objective='determinate'` ) において、クエリに述語が含まれていない場合、統計情報がロードされない可能性がある問題を修正します [#48257](https://github.com/pingcap/tidb/issues/48257) @[time-and-fate](https://github.com/time-and-fate) - - `init-stats`プロセスが TiDB をpanic、 `load stats`プロセスを終了する可能性がある問題を修正しました [#51581](https://github.com/pingcap/tidb/issues/51581) @[hawkingrei](https://github.com/hawkingrei) + - `init-stats`プロセスによって TiDB がpanicし、 `load stats`プロセスが終了する可能性がある問題を修正しました [#51581](https://github.com/pingcap/tidb/issues/51581) @[hawkingrei](https://github.com/hawkingrei) - `IN()`述語に`NULL`が含まれている場合にクエリ結果が正しくない問題を修正 [#51560](https://github.com/pingcap/tidb/issues/51560) @[winoros](https://github.com/winoros) - DDLタスクが複数のテーブルに関係する場合、ブロックされたDDL文がMDLビューに表示されない問題を修正します [#47743](https://github.com/pingcap/tidb/issues/47743) @[wjhuang2016](https://github.com/wjhuang2016) - テーブル上の`ANALYZE`タスクの`processed_rows`が、そのテーブルの総行数を超える可能性がある問題を修正しました [#50632](https://github.com/pingcap/tidb/issues/50632) @[hawkingrei](https://github.com/hawkingrei) - - `HashJoin`オペレーターがディスクにスピルしない場合に発生する可能性のあるゴルーチンリークの問題を修正 [#50841](https://github.com/pingcap/tidb/issues/50841) @[wshwsh12](https://github.com/wshwsh12) + - `HashJoin`オペレーターがディスクへのスピルに失敗した場合に発生する可能性のあるゴルーチンリークの問題を修正 [#50841](https://github.com/pingcap/tidb/issues/50841) @[wshwsh12](https://github.com/wshwsh12) - CTEクエリのメモリ使用量が制限を超えた場合に発生するゴルーチンリークの問題を修正 [#50337](https://github.com/pingcap/tidb/issues/50337) @[guo-shaoge](https://github.com/guo-shaoge) - 集計関数をグループ計算に使用した際に発生する可能性のある`Can't find column ...`エラーを修正 [#50926](https://github.com/pingcap/tidb/issues/50926) @[qw4990](https://github.com/qw4990) - `CREATE TABLE`文に特定のパーティションまたは制約が含まれている場合に、テーブル名の変更などの DDL 操作が停止する問題を修正しました [#50972](https://github.com/pingcap/tidb/issues/50972) @[lcwangchao](https://github.com/lcwangchao) @@ -455,7 +455,7 @@ TiDB バージョン: 8.0.0 - `CAST(AS DATETIME)`が特定の状況下で時間精度を失う可能性がある問題を修正 [#49555](https://github.com/pingcap/tidb/issues/49555) @[SeaRise](https://github.com/SeaRise) - テーブルにクラスター化インデックスがある場合、並列処理`Apply`が誤った結果を生成する可能性がある問題を修正 [#51372](https://github.com/pingcap/tidb/issues/51372) @[guo-shaoge](https://github.com/guo-shaoge) - `ALTER TABLE ... COMPACT TIFLASH REPLICA`が主キーの型が`VARCHAR`の場合に正しく終了しない可能性がある問題を修正 [#51810](https://github.com/pingcap/tidb/issues/51810) @[breezewish](https://github.com/breezewish) - - `NULL`ステートメントを使用してパーティションテーブルを交換する際に`DEFAULT NULL`属性の`EXCHANGE PARTITION`値のチェックが正しく行われない問題を修正しました。 [#47167](https://github.com/pingcap/tidb/issues/47167) @[jiyfhust](https://github.com/jiyfhust) + - `EXCHANGE PARTITION`ステートメントを使用してパーティションテーブルを交換する際に`DEFAULT NULL`属性の`NULL`値のチェックが正しく行われない問題を修正しました。 [#47167](https://github.com/pingcap/tidb/issues/47167) @[jiyfhust](https://github.com/jiyfhust) - パーティションテーブルの定義が、UTF8以外の文字セットを使用した場合に誤った動作を引き起こす可能性がある問題を修正しました [#49251](https://github.com/pingcap/tidb/issues/49251) @[YangKeao](https://github.com/YangKeao) - 一部のシステム変数について、 `INFORMATION_SCHEMA.VARIABLES_INFO`テーブルに誤ったデフォルト値が表示される問題を修正しました [#49461](https://github.com/pingcap/tidb/issues/49461) @[jiyfhust](https://github.com/jiyfhust) - データベース名に空の文字列を使用した場合にエラーが報告されない場合がある問題を修正 [#45873](https://github.com/pingcap/tidb/issues/45873) @[yoshikipom](https://github.com/yoshikipom) @@ -471,7 +471,7 @@ TiDB バージョン: 8.0.0 - `SET`文が明示的トランザクションの最初の行にある場合に有効にならない問題を修正 [#51387](https://github.com/pingcap/tidb/issues/51387) @[YangKeao](https://github.com/YangKeao) - `BINARY`タイプの JSON をクエリすると、場合によってはエラーが発生する問題を修正しました [#51547](https://github.com/pingcap/tidb/issues/51547) @[YangKeao](https://github.com/YangKeao) - TTLが有効期限を計算する際に、夏時間調整の移行を正しく処理しない問題を修正 [#51675](https://github.com/pingcap/tidb/issues/51675) @[lcwangchao](https://github.com/lcwangchao) - - `SURVIVAL_PREFERENCES`ステートメントの出力に`SHOW CREATE PLACEMENT POLICY`属性が特定の条件下で表示されない問題を修正しました [#51699](https://github.com/pingcap/tidb/issues/51699) @[lcwangchao](https://github.com/lcwangchao) + - `SHOW CREATE PLACEMENT POLICY`ステートメントの出力に`SURVIVAL_PREFERENCES`属性が特定の条件下で表示されない問題を修正しました [#51699](https://github.com/pingcap/tidb/issues/51699) @[lcwangchao](https://github.com/lcwangchao) - 設定ファイルに無効な設定項目が含まれている場合に、設定ファイルが有効にならない問題を修正します [#51399](https://github.com/pingcap/tidb/issues/51399) @[Defined2014](https://github.com/Defined2014) - TiKV @@ -479,7 +479,7 @@ TiDB バージョン: 8.0.0 - `tidb_enable_row_level_checksum`を有効にするとTiKVがpanicを起こす可能性がある問題を修正しました [#16371](https://github.com/tikv/tikv/issues/16371) @[cfzjywxk](https://github.com/cfzjywxk) - 例外的な状況で休止状態のリージョンがすぐに起動されない問題を修正 [#16368](https://github.com/tikv/tikv/issues/16368) @[LykxSassinator](https://github.com/LykxSassinator) - レプリカが1つオフラインになったときにリージョン全体が利用できなくなる問題を修正するため、ノードをオフラインにする前にリージョンのすべてのレプリカの最終ハートビート時間をチェックします [#16465](https://github.com/tikv/tikv/issues/16465) @[tonyxuqqi](https://github.com/tonyxuqqi) - - TiKV が、最大値`INT64`より大きく、最大値`UINT64`より小さい JSON 整数を`FLOAT64`として解析し、TiDB との不整合を引き起こす問題を修正しました。 [#16512](https://github.com/tikv/tikv/issues/16512) @[YangKeao](https://github.com/YangKeao) + - TiKV が、`INT64`の最大値より大きく、`UINT64`の最大値より小さい JSON 整数を`FLOAT64`として解析し、TiDB との不整合を引き起こす問題を修正しました。 [#16512](https://github.com/tikv/tikv/issues/16512) @[YangKeao](https://github.com/YangKeao) - 監視メトリック`tikv_unified_read_pool_thread_count`にデータがない場合がある問題を修正 [#16629](https://github.com/tikv/tikv/issues/16629) @[YuJuncen](https://github.com/YuJuncen) - PD @@ -487,19 +487,19 @@ TiDB バージョン: 8.0.0 - `MergeLabels`関数が呼び出されたときにデータ競合が発生する問題を修正します [#7535](https://github.com/tikv/pd/issues/7535) @[lhy1024](https://github.com/lhy1024) - `evict-leader-scheduler`インターフェイスを呼び出したときに出力がない問題を修正 [#7672](https://github.com/tikv/pd/issues/7672) @[CabinfeverB](https://github.com/CabinfeverB) - PD監視項目`learner-peer-count`がリーダー切り替え後に古い値を同期しない問題を修正 [#7728](https://github.com/tikv/pd/issues/7728) @[CabinfeverB](https://github.com/CabinfeverB) - - `watch etcd`正しくオフになっていない場合に発生するメモリリークの問題を修正しました [#7807](https://github.com/tikv/pd/issues/7807) @[rleungx](https://github.com/rleungx) + - `watch etcd`が正しくオフになっていない場合に発生するメモリリークの問題を修正しました [#7807](https://github.com/tikv/pd/issues/7807) @[rleungx](https://github.com/rleungx) - 一部の TSO ログでエラー原因が出力されない問題を修正 [#7496](https://github.com/tikv/pd/issues/7496) @[CabinfeverB](https://github.com/CabinfeverB) - 再起動後に予期しない負のモニタリング指標が発生する問題を修正 [#4489](https://github.com/tikv/pd/issues/4489) @[lhy1024](https://github.com/lhy1024) - Leaderのリースがログ時刻よりも後に期限切れになる問題を修正 [#7700](https://github.com/tikv/pd/issues/7700) @[CabinfeverB](https://github.com/CabinfeverB) - TiDB (PD クライアント) と PD 間の TLS スイッチが矛盾している場合に TiDB がパニックになる問題を修正[#7900](https://github.com/tikv/pd/issues/7900) [#7902](https://github.com/tikv/pd/issues/7902) [#7916](https://github.com/tikv/pd/issues/7916) @[CabinfeverB](https://github.com/CabinfeverB) - - Goroutine が正しく閉じられなかった場合にメモリリークが発生する問題を修正しました [#7782](https://github.com/tikv/pd/issues/7782) @[HuSharp](https://github.com/HuSharp) + - Goroutine が正しく閉じられなかった場合に Goroutine リークが発生する問題を修正しました [#7782](https://github.com/tikv/pd/issues/7782) @[HuSharp](https://github.com/HuSharp) - 特殊文字を含むスケジューラをpd-ctlが削除できない問題を修正 [#7798](https://github.com/tikv/pd/issues/7798) @[JmPotato](https://github.com/JmPotato) - TSO を取得するときに PD クライアントがブロックされる可能性がある問題を修正 [#7864](https://github.com/tikv/pd/issues/7864) @[CabinfeverB](https://github.com/CabinfeverB) - TiFlash - レプリカ移行中にPDとのネットワーク接続が不安定になりTiFlashがpanicになる問題を修正 [#8323](https://github.com/pingcap/tiflash/issues/8323) @[JaySon-Huang](https://github.com/JaySon-Huang) - - クエリの遅延によりメモリ使用量が大幅に増加する問題を修正 [#8564](https://github.com/pingcap/tiflash/issues/8564) @[JinheLin](https://github.com/JinheLin) + - スロークエリによりメモリ使用量が大幅に増加する問題を修正 [#8564](https://github.com/pingcap/tiflash/issues/8564) @[JinheLin](https://github.com/JinheLin) - TiFlashレプリカを削除して再追加するとTiFlashでデータ破損が発生する可能性がある問題を修正 [#8695](https://github.com/pingcap/tiflash/issues/8695) @[JaySon-Huang](https://github.com/JaySon-Huang) - ポイントインタイムリカバリ(PITR) の実行後、または`FLASHBACK CLUSTER TO`の実行後にTiFlashレプリカ データが誤って削除され、データ異常が発生する可能性がある問題を修正 [#8777](https://github.com/pingcap/tiflash/issues/8777) @[JaySon-Huang](https://github.com/JaySon-Huang) - Null 許容カラムを null 許容カラム以外に変更する`ALTER TABLE ... MODIFY COLUMN ... NOT NULL`の実行後にTiFlash がパニックになる問題を修正 [#8419](https://github.com/pingcap/tiflash/issues/8419) @[JaySon-Huang](https://github.com/JaySon-Huang) @@ -507,7 +507,7 @@ TiDB バージョン: 8.0.0 - 分散ストレージとコンピューティングアーキテクチャにおいて、 TiFlash がシャットダウン中にpanicする可能性がある問題を修正 [#8837](https://github.com/pingcap/tiflash/issues/8837) @[JaySon-Huang](https://github.com/JaySon-Huang) - リモート読み取り時にデータ競合によりTiFlashがクラッシュする可能性がある問題を修正 [#8685](https://github.com/pingcap/tiflash/issues/8685) @[solotzg](https://github.com/solotzg) - `CAST(AS JSON)`関数が JSON オブジェクト キーの重複を削除しない問題を修正 [#8712](https://github.com/pingcap/tiflash/issues/8712) @[SeaRise](https://github.com/SeaRise) - - `ENUM`列がチャンクエンコード中にTiFlashを引き起こす可能性がある問題を修正しました [#8674](https://github.com/pingcap/tiflash/issues/8674) @[yibin87](https://github.com/yibin87) + - `ENUM`列がチャンクエンコード中にTiFlashのクラッシュを引き起こす可能性がある問題を修正しました [#8674](https://github.com/pingcap/tiflash/issues/8674) @[yibin87](https://github.com/yibin87) - ツール @@ -528,8 +528,8 @@ TiDB バージョン: 8.0.0 - TiCDCが複数のチェンジフィードを同時に作成する際に`ErrChangeFeedAlreadyExists`エラーを返す問題を修正 [#10430](https://github.com/pingcap/tiflow/issues/10430) @[CharlesCheung96](https://github.com/CharlesCheung96) - `ignore-event`で`add table partition`イベントをフィルタリングした後、TiCDC が関連パーティションの他のタイプの DML 変更を下流にレプリケートしない問題を修正します。 [#10524](https://github.com/pingcap/tiflow/issues/10524) @[CharlesCheung96](https://github.com/CharlesCheung96) - アップストリームテーブルで`TRUNCATE PARTITION`が実行された後、changefeed がエラーを報告する問題を修正します [#10522](https://github.com/pingcap/tiflow/issues/10522) @[sdojjy](https://github.com/sdojjy) - - 変更フィードを再開する際に`snapshot lost caused by GC`が時間内に報告されず、変更フィードの`checkpoint-ts`が TiDB の GC セーフポイントより小さい問題を修正します [#10463](https://github.com/pingcap/tiflow/issues/10463) @[sdojjy](https://github.com/sdojjy) - - 単一行データのデータ整合性検証が有効になった後、タイムゾーンの不一致により TiCDC `TIMESTAMP`タイプのチェックサムを検証できない問題を修正 [#10573](https://github.com/pingcap/tiflow/issues/10573) @[3AceShowHand](https://github.com/3AceShowHand) + - 変更フィードを再開する際に、変更フィードの`checkpoint-ts`が TiDB の GC セーフポイントより小さいと、 `snapshot lost caused by GC`が時間内に報告されない問題を修正します [#10463](https://github.com/pingcap/tiflow/issues/10463) @[sdojjy](https://github.com/sdojjy) + - 単一行データのデータ整合性検証が有効になった後、タイムゾーンの不一致により TiCDC が`TIMESTAMP`型のチェックサムを検証できない問題を修正 [#10573](https://github.com/pingcap/tiflow/issues/10573) @[3AceShowHand](https://github.com/3AceShowHand) - Syncpoint テーブルが正しく複製されない可能性がある問題を修正しました [#10576](https://github.com/pingcap/tiflow/issues/10576) @[asddongmen](https://github.com/asddongmen) - Apache Pulsarをダウンストリームとして使用する際に、OAuth2.0、TLS、mTLSが正しく有効化できない問題を修正 [#10602](https://github.com/pingcap/tiflow/issues/10602) @[asddongmen](https://github.com/asddongmen) - TiKVがアップグレード、再起動、またはリーダーを追放した際に、変更フィードが停止する可能性がある問題を修正しました [#10584](https://github.com/pingcap/tiflow/issues/10584) @[asddongmen](https://github.com/asddongmen) @@ -545,7 +545,7 @@ TiDB バージョン: 8.0.0 - TiKVスペースのチェックによって発生するパフォーマンス低下の問題を修正 [#43636](https://github.com/pingcap/tidb/issues/43636) @[lance6716](https://github.com/lance6716) - TiDB Lightningがファイルスキャン中に無効なシンボリックリンクファイルに遭遇した際にエラーを報告する問題を修正しました [#49423](https://github.com/pingcap/tidb/issues/49423) @[lance6716](https://github.com/lance6716) - - `NO_ZERO_IN_DATE`が`sql_mode` に含まれていない場合に、 TiDB Lightning が`0`を含む日付値を正しく解析できない問題 [#50757](https://github.com/pingcap/tidb/issues/50757) @[GMHDBJD](https://github.com/GMHDBJD) + - `NO_ZERO_IN_DATE`が`sql_mode` に含まれていない場合に、 TiDB Lightning が`0`を含む日付値を正しく解析できない問題を修正 [#50757](https://github.com/pingcap/tidb/issues/50757) @[GMHDBJD](https://github.com/GMHDBJD) ## 貢献者 {#contributors} diff --git a/releases/release-8.3.0.md b/releases/release-8.3.0.md index 16239d9730287..6ce1a7ebc2734 100644 --- a/releases/release-8.3.0.md +++ b/releases/release-8.3.0.md @@ -37,13 +37,13 @@ TiDBバージョン:8.3.0 詳細については、 [ドキュメント](/system-variables.md#tiflash_hashagg_preaggregation_mode-new-in-v830)を参照してください。 -- 統計を収集するときに不要な列を無視する [#53567](https://github.com/pingcap/tidb/issues/53567) @[Rustin170506](https://github.com/Rustin170506) +- 統計を収集するときに不要な列を無視する [#53567](https://github.com/pingcap/tidb/issues/53567) @[hi-rustin](https://github.com/Rustin170506) オプティマイザが実行計画を生成する際、フィルタ条件の列、結合キーの列、集計に使用される列など、一部の列の統計情報のみが必要となります。TiDBはv8.3.0以降、SQL文で使用される列の履歴レコードを継続的に監視します。デフォルトでは、TiDBはインデックスを持つ列と、統計情報の収集が必要であると判断された列の統計情報のみを収集します。これにより、統計情報の収集が高速化され、不要なリソース消費が回避されます。 - クラスターをv8.3.0より前のバージョンからv8.3.0以降にアップグレードすると、TiDBはデフォルトで元の動作、つまりすべての列の統計情報を収集する動作を維持します。この機能を有効にするには、システム変数[`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-new-in-v830) `PREDICATE`に手動で設定する必要があります。新しくデプロイされたクラスターでは、この機能はデフォルトで有効になっています。 + クラスターをv8.3.0より前のバージョンからv8.3.0以降にアップグレードすると、TiDBはデフォルトで元の動作、つまりすべての列の統計情報を収集する動作を維持します。この機能を有効にするには、システム変数[`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-new-in-v830)を`PREDICATE`に手動で設定する必要があります。新しくデプロイされたクラスターでは、この機能はデフォルトで有効になっています。 - ランダムクエリを多数実行する分析システムの場合、ランダムクエリのパフォーマンスを確保するために、システム変数[`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-new-in-v830) `ALL`に設定して、すべての列の統計情報を収集することができます。その他のタイプのシステムでは、tidb_analyze_column_options のデフォルト設定 ( `PREDICATE` ) を維持して、必要な列のみの統計情報を収集することを[`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-new-in-v830) 。 + ランダムクエリを多数実行する分析システムの場合、ランダムクエリのパフォーマンスを確保するために、システム変数[`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-new-in-v830)を`ALL`に設定して、すべての列の統計情報を収集することができます。その他のタイプのシステムでは、 [`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-new-in-v830)のデフォルト設定(`PREDICATE`)を維持して、必要な列のみの統計情報を収集することをお勧めします。 詳細については、 [ドキュメント](/statistics.md#collect-statistics-on-some-columns)を参照してください。 @@ -71,7 +71,7 @@ TiDBバージョン:8.3.0 - `INFORMATION_SCHEMA.TIDB_INDEX_USAGE` - `INFORMATION_SCHEMA.VIEWS` -- パーティション式`EXTRACT(YEAR_MONTH...)`関数を使用する場合にパーティションプルーニングをサポートしてクエリのパフォーマンスを向上させる [#54209](https://github.com/pingcap/tidb/pull/54209) @[mjonss](https://github.com/mjonss) +- パーティション式で`EXTRACT(YEAR_MONTH...)`関数を使用する場合にパーティションプルーニングをサポートしてクエリのパフォーマンスを向上させる [#54209](https://github.com/pingcap/tidb/pull/54209) @[mjonss](https://github.com/mjonss) 以前のバージョンでは、パーティション式で`EXTRACT(YEAR_MONTH...)`関数を使用する場合、パーティションプルーニングがサポートされておらず、クエリのパフォーマンスが低下していました。v8.3.0 以降では、パーティション式で`EXTRACT(YEAR_MONTH...)`関数を使用する場合にパーティションプルーニングがサポートされ、クエリのパフォーマンスが向上します。 @@ -99,7 +99,7 @@ TiDBバージョン:8.3.0 アプリケーションコードが[カーソルフェッチ](/develop/dev-guide-connection-parameters.md#use-streamingresult-to-get-the-execution-result)を使用して結果セットを取得する場合、TiDBは通常、まず結果セット全体をメモリに格納し、その後データをバッチ処理でクライアントに返します。結果セットが大きすぎる場合は、TiDBは一時的に結果をハードディスクに書き込むことがあります。 - バージョン8.3.0以降では、システム変数[`tidb_enable_lazy_cursor_fetch`](/system-variables.md#tidb_enable_lazy_cursor_fetch-new-in-v830) `ON`に設定すると、TiDBはすべてのデータをTiDBノードに読み込むのではなく、クライアントが読み込むにつれて徐々にデータをTiDBノードに読み込むようになります。TiDBが大規模な結果セットを処理する場合、この機能によりTiDBノードのメモリ使用量が削減され、クラスタの安定性が向上します。 + バージョン8.3.0以降では、システム変数[`tidb_enable_lazy_cursor_fetch`](/system-variables.md#tidb_enable_lazy_cursor_fetch-new-in-v830)を`ON`に設定すると、TiDBはすべてのデータをTiDBノードに読み込むのではなく、クライアントが読み込むにつれて徐々にデータをTiDBノードに読み込むようになります。TiDBが大規模な結果セットを処理する場合、この機能によりTiDBノードのメモリ使用量が削減され、クラスタの安定性が向上します。 詳細については、 [ドキュメント](/system-variables.md#tidb_enable_lazy_cursor_fetch-new-in-v830)を参照してください。 @@ -126,7 +126,7 @@ TiDBバージョン:8.3.0 - `SELECT LOCK IN SHARE MODE`を排他ロックにアップグレードするサポート [#54999](https://github.com/pingcap/tidb/issues/54999) @[cfzjywxk](https://github.com/cfzjywxk) - TiDB はまだ`SELECT LOCK IN SHARE MODE`をサポートしていません。v8.3.0 以降、TiDB は`SELECT LOCK IN SHARE MODE`排他ロックにアップグレードして`SELECT LOCK IN SHARE MODE`のサポートを有効にすることをサポートしています。この機能を有効にするかどうかは、新しいシステム変数[`tidb_enable_shared_lock_promotion`](/system-variables.md#tidb_enable_shared_lock_promotion-new-in-v830)を使用して制御できます。 + TiDB はまだ`SELECT LOCK IN SHARE MODE`をサポートしていません。v8.3.0 以降、TiDB は`SELECT LOCK IN SHARE MODE`を排他ロックにアップグレードして`SELECT LOCK IN SHARE MODE`のサポートを有効にすることをサポートしています。この機能を有効にするかどうかは、新しいシステム変数[`tidb_enable_shared_lock_promotion`](/system-variables.md#tidb_enable_shared_lock_promotion-new-in-v830)を使用して制御できます。 詳細については、 [ドキュメント](/system-variables.md#tidb_enable_shared_lock_promotion-new-in-v830)を参照してください。 @@ -136,7 +136,7 @@ TiDBバージョン:8.3.0 TiDB は起動時に基本統計情報をロードします。テーブルやパーティションが多いシナリオでは、この処理に時間がかかる場合があります。設定項目[`force-init-stats`](/tidb-configuration-file.md#force-init-stats-new-in-v657-and-v710)が`ON`に設定されている場合、TiDB は初期統計情報がロードされるまでサービスを提供しません。この場合、ロード処理を監視してサービスの開始時刻を推定する必要があります。 - バージョン8.3.0以降、TiDBは初期統計情報の読み込み状況を段階的にログに出力ようになり、実行状況を把握しやすくなりました。外部ツールにフォーマット済みの結果を提供するために、TiDBは[監視API](/tidb-monitoring-api.md)を追加しました。これにより、起動フェーズ中の任意の時点で初期統計情報の読み込み状況を取得できます。 + バージョン8.3.0以降、TiDBは初期統計情報の読み込み状況を段階的にログに出力するようになり、実行状況を把握しやすくなりました。外部ツールにフォーマット済みの結果を提供するために、TiDBは[監視API](/tidb-monitoring-api.md)を追加しました。これにより、起動フェーズ中の任意の時点で初期統計情報の読み込み状況を取得できます。 - リクエストユニット(RU)設定に関するメトリクスを追加 [#8444](https://github.com/tikv/pd/issues/8444) @[nolouch](https://github.com/nolouch) @@ -144,7 +144,7 @@ TiDBバージョン:8.3.0 - PDログの秘匿化機能強化 [#8305](https://github.com/tikv/pd/issues/8305) @[JmPotato](https://github.com/JmPotato) - TiDB v8.0.0 では、ログのマスキング機能が強化され、TiDB ログ内のユーザーデータを`‹ ›`でマークできるようになりました。マークされたログに基づいて、ログを表示する際にマークされた情報をマスキングするかどうかを決定できるため、ログのマスキングの柔軟性が向上します。v8.2.0 では、 TiFlash同様のログマスキング機能強化を実装しています。 + TiDB v8.0.0 では、ログのマスキング機能が強化され、TiDB ログ内のユーザーデータを`‹ ›`でマークできるようになりました。マークされたログに基づいて、ログを表示する際にマークされた情報をマスキングするかどうかを決定できるため、ログのマスキングの柔軟性が向上します。v8.2.0 では、 TiFlashも同様のログマスキング機能強化を実装しています。 バージョン8.3.0では、PDは同様のログの秘匿化機能強化を実装しています。この機能を使用するには、PD設定項目`security.redact-info-log`の値を`"marker"`に設定します。 @@ -152,7 +152,7 @@ TiDBバージョン:8.3.0 - TiKV ログの秘匿化の強化 [#17206](https://github.com/tikv/tikv/issues/17206) @[LykxSassinator](https://github.com/LykxSassinator) - TiDB v8.0.0 では、ログのマスキング機能が強化され、TiDB ログ内のユーザーデータを`‹ ›`でマークできるようになりました。マークされたログに基づいて、ログを表示する際にマークされた情報をマスキングするかどうかを決定できるため、ログのマスキングの柔軟性が向上します。v8.2.0 では、 TiFlash同様のログマスキング機能強化を実装しています。 + TiDB v8.0.0 では、ログのマスキング機能が強化され、TiDB ログ内のユーザーデータを`‹ ›`でマークできるようになりました。マークされたログに基づいて、ログを表示する際にマークされた情報をマスキングするかどうかを決定できるため、ログのマスキングの柔軟性が向上します。v8.2.0 では、 TiFlashも同様のログマスキング機能強化を実装しています。 バージョン8.3.0では、TiKVは同様のログの秘匿化機能強化を実装しています。この機能を使用するには、TiKV設定項目`security.redact-info-log`の値を`"marker"`に設定します。 @@ -176,7 +176,7 @@ TiDBバージョン:8.3.0 ### 動作の変更 {#behavior-changes} -- コマンドの誤用を防ぐため、 `pd-ctl`はプレフィックスマッチングメカニズムを無効にします。たとえば、 `store remove-tombstone` `store remove`を介して呼び出すことはできません。 [#8413](https://github.com/tikv/pd/issues/8413) @[lhy1024](https://github.com/lhy1024) +- コマンドの誤用を防ぐため、 `pd-ctl`はプレフィックスマッチングメカニズムを無効にします。たとえば、 `store remove-tombstone`は`store remove`を介して呼び出すことはできません。 [#8413](https://github.com/tikv/pd/issues/8413) @[lhy1024](https://github.com/lhy1024) ### システム変数 {#system-variables} @@ -185,9 +185,9 @@ TiDBバージョン:8.3.0 | [`tidb_ddl_reorg_batch_size`](/system-variables.md#tidb_ddl_reorg_batch_size) | 変更 | SESSIONスコープを追加します。 | | [`tidb_ddl_reorg_worker_cnt`](/system-variables.md#tidb_ddl_reorg_worker_cnt) | 変更 | SESSIONスコープを追加します。 | | [`tidb_enable_column_tracking`](/system-variables.md#tidb_enable_column_tracking-new-in-v540) | 変更 | さらなるテストの結果、デフォルト値が`OFF`から`ON`に変更されます。これは、TiDB がデフォルトで`PREDICATE COLUMNS`を収集することを意味します。 | -| [`tidb_gc_concurrency`](/system-variables.md#tidb_gc_concurrency-new-in-v50) | 変更 | v8.3.0 以降、この変数は[ごみ収集(GC)](/garbage-collection-overview.md)プロセスの[ロックを解除する](/garbage-collection-overview.md#resolve-locks)ステップと[範囲を削除](/garbage-collection-overview.md#delete-ranges)ステップ中の同時スレッドの数を制御します。 v8.3.0 より前では、この変数は[ロックを解除する](/garbage-collection-overview.md#resolve-locks)ステップ中のスレッド数のみを制御します。 | -| [`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso) | 変更 | グローバルスコープを追加します。 | -| [`tidb_opt_projection_push_down`](/system-variables.md#tidb_opt_projection_push_down-new-in-v610) | 変更 | GLOBAL スコープを追加し、変数の値をクラスタに永続化します。さらにテストを行った結果、デフォルト値を`OFF`から`ON`に変更します。これは、オプティマイザが`Projection` TiKV コプロセッサにプッシュできることを意味します。 | +| [`tidb_gc_concurrency`](/system-variables.md#tidb_gc_concurrency-new-in-v50) | 変更 | v8.3.0 以降、この変数は[ガベージコレクション(GC)](/garbage-collection-overview.md)プロセスの[ロックを解決する](/garbage-collection-overview.md#resolve-locks)ステップと[範囲を削除](/garbage-collection-overview.md#delete-ranges)ステップ中の同時スレッドの数を制御します。 v8.3.0 より前では、この変数は[ロックを解決する](/garbage-collection-overview.md#resolve-locks)ステップ中のスレッド数のみを制御します。 | +| [`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso) | 変更 | GLOBAL スコープを追加します。 | +| [`tidb_opt_projection_push_down`](/system-variables.md#tidb_opt_projection_push_down-new-in-v610) | 変更 | GLOBAL スコープを追加し、変数の値をクラスタに永続化します。さらにテストを行った結果、デフォルト値を`OFF`から`ON`に変更します。これは、オプティマイザが`Projection`を TiKV コプロセッサにプッシュダウンできることを意味します。 | | [`tidb_schema_cache_size`](/system-variables.md#tidb_schema_cache_size-new-in-v800) | 変更 | 値の範囲は`0`または`[536870912, 9223372036854775807]`に変更されました。キャッシュサイズが小さすぎてパフォーマンスが低下するのを避けるため、最小値は`536870912`バイト (つまり 512 MiB) です。 | | [`tidb_analyze_column_options`](/system-variables.md#tidb_analyze_column_options-new-in-v830) | 新しく追加された | `ANALYZE TABLE`文の動作を制御します。デフォルト値の`PREDICATE`に設定すると、 [述語列](/statistics.md#collect-statistics-on-some-columns)の統計情報のみが収集されます。 `ALL`に設定すると、すべての列の統計情報が収集されます。 | | [`tidb_enable_lazy_cursor_fetch`](/system-variables.md#tidb_enable_lazy_cursor_fetch-new-in-v830) | 新しく追加された | [カーソルフェッチ](/develop/dev-guide-connection-parameters.md#use-streamingresult-to-get-the-execution-result)機能の動作を制御します。 | @@ -202,7 +202,7 @@ TiDBバージョン:8.3.0 | PD | [`security.redact-info-log`](/pd-configuration-file.md#redact-info-log-new-in-v50) | 変更 | PD設定項目`security.redact-info-log`の値を`"marker"`に設定することで、ログ内の機密情報を直接シールドする代わりに`‹ ›`でマークできます。 `"marker"`オプションを使用すると、マスキングルールをカスタマイズできます。 | | TiKV | [`security.redact-info-log`](/tikv-configuration-file.md#redact-info-log-new-in-v408) | 変更 | TiKV 設定項目`security.redact-info-log`の値を`"marker"`に設定することで、ログ内の機密情報を直接シールドする代わりに`‹ ›`でマークできます。 `"marker"`オプションを使用すると、マスキングルールをカスタマイズできます。 | | TiFlash | [`security.redact-info-log`](/tiflash/tiflash-configuration.md#configure-the-tiflash-learnertoml-file) | 変更 | TiFlash Learnerの設定項目`security.redact-info-log`の値を`"marker"`に設定することで、ログ内の機密情報を直接シールドする代わりに`‹ ›`でマークすることができます。 `"marker"`オプションを使用すると、マスキングルールをカスタマイズできます。 | -| BR | [`--allow-pitr-from-incremental`](/br/br-incremental-guide.md#limitations) | 新しく追加された | 増分バックアップが後続のログバックアップと互換性があるかどうかを制御します。デフォルト値は`true`で、これは増分バックアップが後続のログバックアップと互換性があることを意味します。デフォルト値`true`ままにすると、増分リストアが開始される前に、再生が必要な DDL が厳密にチェックされます。 | +| BR | [`--allow-pitr-from-incremental`](/br/br-incremental-guide.md#limitations) | 新しく追加された | 増分バックアップが後続のログバックアップと互換性があるかどうかを制御します。デフォルト値は`true`で、これは増分バックアップが後続のログバックアップと互換性があることを意味します。デフォルト値`true`のままにすると、増分リストアが開始される前に、再生が必要な DDL が厳密にチェックされます。 | ### システムテーブル {#system-tables} @@ -222,7 +222,7 @@ TiDBバージョン:8.3.0 - TiDBはv7.5.0でシステム変数[`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-new-in-v750)を導入しました。この変数を使用すると、TiDBがパーティション統計の非同期マージを使用するように設定し、メモリ不足の問題を回避できます。今後のリリースでは、パーティション統計は非同期でマージされるため、このシステム変数は非推奨となります。 - 今後のリリースでは [実行プランバインディングの自動進化](/sql-plan-management.md#baseline-evolution)が再設計される予定であり、関連する変数と動作が変更されます。 - バージョン8.0.0では、TiDBが並列ハッシュアグリゲーションアルゴリズムのディスクスピルをサポートするかどうかを制御するシステム変数[`tidb_enable_parallel_hashagg_spill`](/system-variables.md#tidb_enable_parallel_hashagg_spill-new-in-v800)が導入されました。今後のバージョンでは、 [`tidb_enable_parallel_hashagg_spill`](/system-variables.md#tidb_enable_parallel_hashagg_spill-new-in-v800)システム変数は非推奨となります。 - - TiDB Lightning のパラメータ[`conflict.max-record-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-task) 、今後のリリースで非推奨となり、その後削除されます。このパラメータは[`conflict.threshold`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-task)に置き換えられます。これは、競合するレコードの最大数が、単一のインポートタスクで許容できる競合レコードの最大数と一致することを意味します。 + - TiDB Lightning のパラメータ[`conflict.max-record-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-task)は、今後のリリースで非推奨となり、その後削除されます。このパラメータは[`conflict.threshold`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-task)に置き換えられます。これは、競合するレコードの最大数が、単一のインポートタスクで許容できる競合レコードの最大数と一致することを意味します。 - 今後のバージョンでは、以下の機能が削除される予定です。 @@ -235,17 +235,17 @@ TiDBバージョン:8.3.0 - `SELECT ... STRAIGHT_JOIN ... USING ( ... )` ステートメントをサポートします [#54162](https://github.com/pingcap/tidb/issues/54162) @[dveeden](https://github.com/dveeden) - `((idx_col_1 > 1) or (idx_col_1 = 1 and idx_col_2 > 10)) and ((idx_col_1 < 10) or (idx_col_1 = 10 and idx_col_2 < 20))`のようなフィルター条件のより正確なインデックス アクセス範囲を構築します [#54337](https://github.com/pingcap/tidb/issues/54337) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) - インデックス順序を使用して、 `WHERE idx_col_1 IS NULL ORDER BY idx_col_2`のような SQL クエリの余分なソート操作を回避します [#54188](https://github.com/pingcap/tidb/issues/54188) @[ari-e](https://github.com/ari-e) - - `mysql.analyze_jobs`システムテーブルに分析済みインデックスを表示します [#53567](https://github.com/pingcap/tidb/issues/53567) @[Rustin170506](https://github.com/Rustin170506)。 + - `mysql.analyze_jobs`システムテーブルに分析済みインデックスを表示します [#53567](https://github.com/pingcap/tidb/issues/53567) @[hi-rustin](https://github.com/Rustin170506) - `EXPLAIN`ステートメントの出力に`tidb_redact_log`設定を適用することをサポートし、ログ処理ロジックをさらに最適化します [#54565](https://github.com/pingcap/tidb/issues/54565) @[hawkingrei](https://github.com/hawkingrei) - - クエリ効率を向上させるため、多値インデックスに対して`Selection` `IndexRangeScan`オペレーターを生成するサポート [#54876](https://github.com/pingcap/tidb/issues/54876) @[time-and-fate](https://github.com/time-and-fate) + - クエリ効率を向上させるため、多値インデックスに対して`IndexRangeScan`上で`Selection`オペレーターを生成することをサポート [#54876](https://github.com/pingcap/tidb/issues/54876) @[time-and-fate](https://github.com/time-and-fate) - 設定された時間枠外で実行されている自動タスク`ANALYZE`の強制終了をサポート [#55283](https://github.com/pingcap/tidb/issues/55283) @[hawkingrei](https://github.com/hawkingrei) - 統計情報が完全に TopN で構成され、対応するテーブル統計情報の変更された行数がゼロでない場合、TopN に到達しない等価条件の推定結果を 0 から 1 に調整します。 [#47400](https://github.com/pingcap/tidb/issues/47400) @[terry1purcell](https://github.com/terry1purcell) - TopNオペレーターはディスクスピルをサポートします [#47733](https://github.com/pingcap/tidb/issues/47733) @[xzhangxian1008](https://github.com/xzhangxian1008) - TiDB ノードは`WITH ROLLUP`修飾子と`GROUPING`関数を使用したクエリの実行をサポートしています [#42631](https://github.com/pingcap/tidb/issues/42631) @[Arenatlx](https://github.com/Arenatlx) - - システム変数[`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso) `GLOBAL`スコープをサポートしています [#55022](https://github.com/pingcap/tidb/issues/55022) @[cfzjywxk](https://github.com/cfzjywxk) - - 同時範囲削除をサポートすることで、GC(ガベージコレクション)の効率を向上させます。同時実行スレッド数は、 [`tidb_gc_concurrency`](/system-variables.md#tidb_gc_concurrency-new-in-v50)を使用して制御できます [#54570](https://github.com/pingcap/tidb/issues/54570) @[ekexium](https://github.com/ekexium)。 + - システム変数[`tidb_low_resolution_tso`](/system-variables.md#tidb_low_resolution_tso)は`GLOBAL`スコープをサポートしています [#55022](https://github.com/pingcap/tidb/issues/55022) @[cfzjywxk](https://github.com/cfzjywxk) + - 同時範囲削除をサポートすることで、GC(ガベージコレクション)の効率を向上させます。同時実行スレッド数は、 [`tidb_gc_concurrency`](/system-variables.md#tidb_gc_concurrency-new-in-v50)を使用して制御できます [#54570](https://github.com/pingcap/tidb/issues/54570) @[ekexium](https://github.com/ekexium) - 一括DML実行モードのパフォーマンスを改善( `tidb_dml_type = "bulk"` ) [#50215](https://github.com/pingcap/tidb/issues/50215) @[ekexium](https://github.com/ekexium) - - スキーマ情報キャッシュ関連インターフェースのパフォーマンスを改善`SchemaByID` [#54074](https://github.com/pingcap/tidb/issues/54074) @[ywqzzy](https://github.com/ywqzzy) + - スキーマ情報キャッシュ関連のインターフェース`SchemaByID`のパフォーマンスを改善 [#54074](https://github.com/pingcap/tidb/issues/54074) @[ywqzzy](https://github.com/ywqzzy) - スキーマ情報キャッシュが有効になっている場合、特定のシステムテーブルのクエリパフォーマンスを改善します [#50305](https://github.com/pingcap/tidb/issues/50305) @[tangenta](https://github.com/tangenta) - 一意インデックスを追加する際の競合キーに関するエラーメッセージを最適化 [#53004](https://github.com/pingcap/tidb/issues/53004) @[lance6716](https://github.com/lance6716) @@ -259,14 +259,14 @@ TiDBバージョン:8.3.0 - 大規模クエリ読み取りリクエストのRU消費動作を最適化し、他のリクエストへの影響を軽減する [#8457](https://github.com/tikv/pd/issues/8457) @[nolouch](https://github.com/nolouch) - PDマイクロサービスの設定ミス時に返されるエラーメッセージを最適化する [#52912](https://github.com/pingcap/tidb/issues/52912) @[rleungx](https://github.com/rleungx) - PDマイクロサービスに`--name`起動パラメータを追加して、デプロイ中にサービス名をより正確に表示します [#7995](https://github.com/tikv/pd/issues/7995) @[HuSharp](https://github.com/HuSharp) - - 領域数に基づいて`PatrolRegionScanLimit`を動的に調整してリージョンスキャン時間を短縮する機能をサポート [#7963](https://github.com/tikv/pd/issues/7963) @[lhy1024](https://github.com/lhy1024) + - リージョン数に基づいて`PatrolRegionScanLimit`を動的に調整してリージョンスキャン時間を短縮する機能をサポート [#7963](https://github.com/tikv/pd/issues/7963) @[lhy1024](https://github.com/lhy1024) - TiKV - `async-io`が有効になっている場合、 Raftログの書き込みバッチ処理ポリシーを最適化して、ディスク I/O 帯域幅リソースの消費を削減します [#16907](https://github.com/tikv/tikv/issues/16907) @[LykxSassinator](https://github.com/LykxSassinator) - リージョン部分購読をより適切にサポートするために、TiCDCデリゲートとダウンストリームモジュールを再設計します [#16362](https://github.com/tikv/tikv/issues/16362) @[hicqu](https://github.com/hicqu) - 単一のスロークエリログのサイズを削減 [#17294](https://github.com/tikv/tikv/issues/17294) @[Connor1996](https://github.com/Connor1996) - - 新しいモニタリング指標を追加`min safe ts` [#17307](https://github.com/tikv/tikv/issues/17307) @[mittalrishabh](https://github.com/mittalrishabh) + - 新しいモニタリング指標`min safe ts`を追加 [#17307](https://github.com/tikv/tikv/issues/17307) @[mittalrishabh](https://github.com/mittalrishabh) - ピアメッセージチャネルのメモリ使用量を削減します [#16229](https://github.com/tikv/tikv/issues/16229) @[Connor1996](https://github.com/Connor1996) - TiFlash @@ -282,8 +282,8 @@ TiDBバージョン:8.3.0 - TiKVが各SSTファイルをダウンロードする前に、TiKVのディスク容量が十分かどうかを確認する機能をサポートします。容量が不足している場合、 BRはリストアを終了し、エラーを返します。[#17224](https://github.com/tikv/tikv/issues/17224) @[RidRisR](https://github.com/RidRisR) - Alibaba Cloudへのアクセス認証情報を環境変数で設定するサポート [#45551](https://github.com/pingcap/tidb/issues/45551) @[RidRisR](https://github.com/RidRisR) - BR をバックアップおよびリストアに使用する際に OOM を回避するため、 BRプロセスの利用可能なメモリに基づいて環境変数`GOMEMLIMIT`を自動的に設定します [#53777](https://github.com/pingcap/tidb/issues/53777) @[Leavrth](https://github.com/Leavrth) - - ポイントインタイムリカバリ(PITR) と互換性のある増分バックアップを作成する [#54474](https://github.com/pingcap/tidb/issues/54474) @[3pointer](https://github.com/3pointer) - - `mysql.column_stats_usage`テーブルのバックアップと復元をサポートします [#53567](https://github.com/pingcap/tidb/issues/53567) @[Rustin170506](https://github.com/Rustin170506)。 + - 増分バックアップをポイントインタイムリカバリ(PITR)と互換にする [#54474](https://github.com/pingcap/tidb/issues/54474) @[3pointer](https://github.com/3pointer) + - `mysql.column_stats_usage`テーブルのバックアップと復元をサポートします [#53567](https://github.com/pingcap/tidb/issues/53567) @[hi-rustin](https://github.com/Rustin170506) ## バグ修正 {#bug-fixes} @@ -292,19 +292,19 @@ TiDBバージョン:8.3.0 - `PipelinedWindow`の`Open`メソッドのパラメータをリセットし、 `PipelinedWindow`を`Apply`の子ノードとして使用した際に、繰り返し開閉操作によって以前のパラメータ値が再利用されることで発生する予期しないエラーを修正します。 [#53600](https://github.com/pingcap/tidb/issues/53600) @[XuHuaiyu](https://github.com/XuHuaiyu) - `tidb_mem_quota_query`で設定された制限を超えるメモリ使用量のため、クエリ終了時に処理が停止する可能性がある問題を修正しました。 [#55042](https://github.com/pingcap/tidb/issues/55042) @[yibin87](https://github.com/yibin87) - HashAggオペレーターのディスクスピルによって並列計算中にクエリ結果が不正になる問題を修正しました [#55290](https://github.com/pingcap/tidb/issues/55290) @[xzhangxian1008](https://github.com/xzhangxian1008) - - `JSON_TYPE` JSON 形式にキャストした際に`YEAR`が間違って表示される問題を修正 [#54494](https://github.com/pingcap/tidb/issues/54494) @[YangKeao](https://github.com/YangKeao) + - `YEAR`を JSON 形式にキャストした際に`JSON_TYPE`が誤っている問題を修正 [#54494](https://github.com/pingcap/tidb/issues/54494) @[YangKeao](https://github.com/YangKeao) - `tidb_schema_cache_size`システム変数の値の範囲が間違っている問題を修正 [#54034](https://github.com/pingcap/tidb/issues/54034) @[lilinghai](https://github.com/lilinghai) - パーティション式が`EXTRACT(YEAR FROM col)`の場合にパーティションプルーニングが機能しない問題を修正 [#54210](https://github.com/pingcap/tidb/issues/54210) @[mjonss](https://github.com/mjonss) - データベースに多数のテーブルが存在する場合に`FLASHBACK DATABASE`が失敗する問題を修正 [#54415](https://github.com/pingcap/tidb/issues/54415) @[lance6716](https://github.com/lance6716) - - `FLASHBACK DATABASE`多数のデータベースを処理する際に無限ループに陥る問題を修正しました [#54915](https://github.com/pingcap/tidb/issues/54915) @[lance6716](https://github.com/lance6716) + - `FLASHBACK DATABASE`が多数のデータベースを処理する際に無限ループに陥る問題を修正しました [#54915](https://github.com/pingcap/tidb/issues/54915) @[lance6716](https://github.com/lance6716) - インデックス加速モードでインデックスを追加すると失敗する可能性がある問題を修正 [#54568](https://github.com/pingcap/tidb/issues/54568) @[lance6716](https://github.com/lance6716) - `ADMIN CANCEL DDL JOBS`が原因で DDL が失敗する可能性がある問題を修正しました [#54687](https://github.com/pingcap/tidb/issues/54687) @[lance6716](https://github.com/lance6716) - DMからレプリケートされたテーブルのインデックス長が`max-index-length`で指定された最大長を超えると、テーブルのレプリケーションが失敗する問題を修正します。 [#55138](https://github.com/pingcap/tidb/issues/55138) @[lance6716](https://github.com/lance6716) - - `runtime error: index out of range` `tidb_enable_inl_join_inner_multi_pattern`が発生する可能性がある問題を修正します [#54535](https://github.com/pingcap/tidb/issues/54535) @[joechenrh](https://github.com/joechenrh) + - `tidb_enable_inl_join_inner_multi_pattern`を有効にして SQL ステートメントを実行すると、エラー`runtime error: index out of range`が発生する可能性がある問題を修正します [#54535](https://github.com/pingcap/tidb/issues/54535) @[joechenrh](https://github.com/joechenrh) - 統計情報の初期化処理中にControl + Cを使用してTiDBを終了できない問題を修正しました [#54589](https://github.com/pingcap/tidb/issues/54589) @[tiancaiamao](https://github.com/tiancaiamao) - `WITH ROLLUP`を含む相関サブクエリによって TiDB がpanicを起こし、エラー`runtime error: index out of range`を返す可能性がある問題を修正しました。 [#54983](https://github.com/pingcap/tidb/issues/54983) @[AilinKid](https://github.com/AilinKid) - SQLクエリのフィルタ条件に仮想列が含まれ、実行条件に`UnionScan`が含まれている場合に、述語が正しくプッシュダウンされない問題を修正します [#54870](https://github.com/pingcap/tidb/issues/54870) @[qw4990](https://github.com/qw4990) - - `runtime error: invalid memory address or nil pointer dereference` `tidb_enable_inl_join_inner_multi_pattern`が発生する可能性がある問題を修正しました [#55169](https://github.com/pingcap/tidb/issues/55169) @[hawkingrei](https://github.com/hawkingrei) + - `tidb_enable_inl_join_inner_multi_pattern`を有効にして SQL ステートメントを実行すると、エラー`runtime error: invalid memory address or nil pointer dereference`が発生する可能性がある問題を修正しました [#55169](https://github.com/pingcap/tidb/issues/55169) @[hawkingrei](https://github.com/hawkingrei) - `UNION`を含むクエリステートメントが誤った結果を返す可能性がある問題を修正しました [#52985](https://github.com/pingcap/tidb/issues/52985) @[XuHuaiyu](https://github.com/XuHuaiyu) - `mysql.stats_histograms`テーブルの`tot_col_size`列が負の数になる可能性がある問題を修正しました [#55126](https://github.com/pingcap/tidb/issues/55126) @[qw4990](https://github.com/qw4990) - `columnEvaluator`は入力チャンク内の列参照を識別できず、SQL文の実行時に`runtime error: index out of range`が発生する問題を修正しました。 [#53713](https://github.com/pingcap/tidb/issues/53713) @[AilinKid](https://github.com/AilinKid) @@ -313,12 +313,12 @@ TiDBバージョン:8.3.0 - `tidb_redact_log`が有効になっている場合に、内部SQLクエリがスロークエリログに表示されない問題を修正しました [#54190](https://github.com/pingcap/tidb/issues/54190) @[lcwangchao](https://github.com/lcwangchao) - トランザクションで使用されるメモリが複数回追跡される可能性がある問題を修正 [#53984](https://github.com/pingcap/tidb/issues/53984) @[ekexium](https://github.com/ekexium) - `SHOW WARNINGS;`を使用して警告を取得するとpanicが発生する可能性がある問題を修正しました [#48756](https://github.com/pingcap/tidb/issues/48756) @[xhebox](https://github.com/xhebox) - - インデックス統計情報の読み込み時にメモリリークが発生する可能性がある問題を修正 [#54022](https://github.com/pingcap/tidb/issues/54022) @[Rustin170506](https://github.com/Rustin170506) + - インデックス統計情報の読み込み時にメモリリークが発生する可能性がある問題を修正 [#54022](https://github.com/pingcap/tidb/issues/54022) @[hi-rustin](https://github.com/Rustin170506) - 照合順序が`utf8_bin`または`utf8mb4_bin`の場合に`LENGTH()`条件が予期せず削除される問題を修正しました [#53730](https://github.com/pingcap/tidb/issues/53730) @[elsa0520](https://github.com/elsa0520) - 重複する主キーに遭遇した場合に統計収集が`stats_history`テーブルを更新しない問題を修正 [#47539](https://github.com/pingcap/tidb/issues/47539) @[Defined2014](https://github.com/Defined2014) - 再帰的なCTEクエリによって無効なポインタが生成される可能性がある問題を修正 [#54449](https://github.com/pingcap/tidb/issues/54449) @[hawkingrei](https://github.com/hawkingrei) - - Grafana の接続数監視メトリックが、ハンドシェイクが完了する前に一部の接続が切断された場合に正しく表示されない問題を修正しました [#54428](https://github.com/pingcap/tidb/issues/54428) @[YangKeao](https://github.com/YangKeao) - - TiProxyとリソースグループを使用している際に、各リソースグループの接続数が正しく表示されない問題を修正しました [#54545](https://github.com/pingcap/tidb/issues/54545) @[YangKeao](https://github.com/YangKeao) + - Grafana の Connection Count 監視メトリックが、ハンドシェイクが完了する前に一部の接続が切断された場合に正しく表示されない問題を修正しました [#54428](https://github.com/pingcap/tidb/issues/54428) @[YangKeao](https://github.com/YangKeao) + - TiProxyとリソースグループを使用している際に、各リソースグループの Connection Countが正しく表示されない問題を修正しました [#54545](https://github.com/pingcap/tidb/issues/54545) @[YangKeao](https://github.com/YangKeao) - クエリに相関のないサブクエリと`LIMIT`句が含まれている場合、列のプルーニングが不完全になり、最適ではない実行計画が生成される可能性がある問題を修正しました。 [#54213](https://github.com/pingcap/tidb/issues/54213) @[qw4990](https://github.com/qw4990) - `SELECT ... FOR UPDATE`の誤ったPointGetプランを再利用してしまう問題を修正します [#54652](https://github.com/pingcap/tidb/issues/54652) @[qw4990](https://github.com/qw4990) - `TIMESTAMPADD()`関数の最初の引数が`month`で、2 番目の引数が負の値の場合に無限ループに陥る問題を修正しました。 [#54908](https://github.com/pingcap/tidb/issues/54908) @[xzhangxian1008](https://github.com/xzhangxian1008) @@ -326,8 +326,8 @@ TiDBバージョン:8.3.0 - `PointGet`の実行計画が`_tidb_rowid`に対して生成されてしまう問題を修正します [#54583](https://github.com/pingcap/tidb/issues/54583) @[Defined2014](https://github.com/Defined2014) - `SHOW IMPORT JOBS`が v7.1 からアップグレード後にエラー`Unknown column 'summary'`を報告する問題を修正 [#54241](https://github.com/pingcap/tidb/issues/54241) @[tangenta](https://github.com/tangenta) - ビュー定義で列定義としてサブクエリが使用されている場合、 `information_schema.columns`を使用して列情報を取得すると警告 1356 が返される問題を修正しました [#54343](https://github.com/pingcap/tidb/issues/54343) @[lance6716](https://github.com/lance6716) - - 厳密に自己インクリメントではないRANGEパーティションテーブルが作成できてしまう問題を修正 [#54829](https://github.com/pingcap/tidb/issues/54829) @[Defined2014](https://github.com/Defined2014) - - SQLが異常中断されたときに`INDEX_HASH_JOIN`正常に終了できない問題を修正 [#54688](https://github.com/pingcap/tidb/issues/54688) @[wshwsh12](https://github.com/wshwsh12) + - 厳密に単調増加していないRANGEパーティションテーブルが作成できてしまう問題を修正 [#54829](https://github.com/pingcap/tidb/issues/54829) @[Defined2014](https://github.com/Defined2014) + - SQLが異常中断されたときに`INDEX_HASH_JOIN`が正常に終了できない問題を修正 [#54688](https://github.com/pingcap/tidb/issues/54688) @[wshwsh12](https://github.com/wshwsh12) - 分散実行フレームワーク(DXF)を使用してインデックスを追加する際のネットワーク分断により、データインデックスに不整合が生じる可能性がある問題を修正しました [#54897](https://github.com/pingcap/tidb/issues/54897) @[tangenta](https://github.com/tangenta) - PD @@ -350,7 +350,7 @@ TiDBバージョン:8.3.0 - TiFlash - `CAST()`関数を使用して文字列をタイムゾーンまたは無効な文字を含む datetime に変換すると、結果が正しくない問題を修正しました [#8754](https://github.com/pingcap/tiflash/issues/8754) @[solotzg](https://github.com/solotzg) - - データベースにまたがる空のパーティションがあるパーティションテーブルで`RENAME TABLE ... TO ...`を実行した後にTiFlash がpanicする可能性がある問題を修正 [#9132](https://github.com/pingcap/tiflash/issues/9132) @[JaySon-Huang](https://github.com/JaySon-Huang) + - 空のパーティションを持つパーティションテーブルに対してデータベースをまたいで`RENAME TABLE ... TO ...`を実行した後にTiFlash がpanicする可能性がある問題を修正 [#9132](https://github.com/pingcap/tiflash/issues/9132) @[JaySon-Huang](https://github.com/JaySon-Huang) - 遅延マテリアライゼーションが有効になった後、一部のクエリで列型の不一致エラーが報告される可能性がある問題を修正 [#9175](https://github.com/pingcap/tiflash/issues/9175) @[JinheLin](https://github.com/JinheLin) - 仮想生成列を含むクエリが遅延マテリアライゼーション有効後に誤った結果を返す可能性がある問題を修正 [#9188](https://github.com/pingcap/tiflash/issues/9188) @[JinheLin](https://github.com/JinheLin) - TiFlashでSSL証明書の設定を空文字列に設定するとTLSが誤って有効になり、 TiFlashが起動に失敗する問題を修正しました [#9235](https://github.com/pingcap/tiflash/issues/9235) @[JaySon-Huang](https://github.com/JaySon-Huang) diff --git a/releases/release-8.4.0.md b/releases/release-8.4.0.md index 869354400dd41..8b4dc04dcf509 100644 --- a/releases/release-8.4.0.md +++ b/releases/release-8.4.0.md @@ -13,7 +13,7 @@ TiDB バージョン: 8.4.0 バージョン8.4.0では、以下の主要な機能と改善点が導入されています。 -
カテゴリ機能/改善点説明
拡張性とパフォーマンスインスタンスレベルの実行プランキャッシュ(実験的)インスタンスレベルのプランキャッシュを使用すると、同じ TiDB インスタンス内のすべてのセッションでプランキャッシュを共有できます。セッションレベルのプランキャッシュと比較して、この機能はメモリに多くの実行計画をキャッシュすることで SQL コンパイル時間を短縮し、SQL 全体の実行時間を短縮します。これにより、OLTP のパフォーマンスとスループットが向上するとともに、メモリ使用量をより適切に制御し、データベースの安定性を高めることができます。
パーティションテーブルのグローバルインデックス(GA)グローバルインデックスを使用すると、パーティション化されていない列の取得効率を効果的に向上させることができ、一意キーにパーティションキーを含める必要があるという制約を取り除くことができます。この機能により、TiDBパーティションテーブルの使用シナリオが拡張され、データ移行に必要なアプリケーションの変更作業の一部が不要になります。
TSOリクエストの並列モード高並行処理環境では、この機能を使用することでTSOの取得待ち時間を短縮し、クラスタのスループットを向上させることができます。
キャッシュされたテーブルのクエリパフォーマンスを向上させるキャッシュされたテーブルに対するインデックススキャンのクエリパフォーマンスが向上し、場合によっては最大5.4倍の改善が見られます。小規模なテーブルに対する高速クエリの場合、キャッシュされたテーブルを使用することで、全体的なパフォーマンスを大幅に向上させることができます。
信頼性と可用性 暴走クエリに対するトリガーの追加と、リソースグループの切り替えのサポート暴走クエリは、予期しないSQLパフォーマンスの問題がシステムに与える影響を軽減する効果的な手段です。TiDB v8.4.0では、識別条件としてコプロセッサーによって処理されたキーの数( PROCESSED_KEYS )とリクエストユニット( RU )が導入され、識別されたクエリを指定されたリソースグループに配置することで、暴走クエリのより正確な識別と制御が可能になりました。
リソース制御のバックグラウンドタスクにおけるリソース使用量の上限設定をサポートするリソース制御のバックグラウンドタスクに最大パーセンテージ制限を設定することで、さまざまなアプリケーションシステムのニーズに基づいてリソース消費を制御できます。これにより、バックグラウンドタスクの消費量を低く抑え、オンラインサービスの品質を確保できます。
TiProxyはトラフィックのキャプチャと再生をサポートします(実験的)。 TiProxyを使用して、クラスターのアップグレード、移行、デプロイメントの変更などの主要な操作を行う前に、TiDB本番クラスターから実際のワークロードをキャプチャします。これらのワークロードをターゲットのテストクラスターで再生することで、パフォーマンスを検証し、変更が確実に成功することを確認します。
同時自動統計収集TiDBクラスタ内での同時実行自動分析操作の数を制御するために、システム変数tidb_auto_analyze_concurrencyを導入します。TiDBは、ノードの規模とハードウェア仕様に基づいて、スキャンタスクの同時実行数を自動的に決定します。これにより、システムリソースを最大限に活用して統計情報の収集効率が向上し、手動による調整が削減され、クラスタの安定したパフォーマンスが確保されます。
SQLベクトル検索(実験的)ベクトル検索は、データの意味論に基づいた検索手法であり、より関連性の高い検索結果を提供します。AIや大規模言語モデル(LLM)の中核関数の一つとして、ベクトル検索は、検索拡張生成(RAG)、セマンティック検索、推薦システムなど、さまざまなシナリオで活用できます。
データベースの運用と可観測性TiKVとTiDBのCPU時間をメモリテーブルに表示するCPU時間はシステムテーブルに統合され、セッションやSQLなどの他のメトリックと並べて表示されるようになりました。これにより、CPU使用率の高い操作を複数の視点から把握し、診断効率を向上させることができます。これは、インスタンスにおけるCPUスパイクやクラスタにおける読み書きホットスポットなどのシナリオを診断する際に特に役立ちます。
テーブルまたはデータベースごとに集計されたTiKV CPU時間を表示する機能をサポートします。ホットスポットの問題が個々のSQL文によって引き起こされていない場合、 Top SQLでテーブルまたはデータベースレベルごとに集計されたCPU時間を使用することで、ホットスポットの原因となっているテーブルやアプリケーションを迅速に特定でき、ホットスポットやCPU消費の問題の診断効率を大幅に向上させることができます。
IMDSv2サービスが有効になっているTiKVインスタンスのバックアップをサポートします。 AWS EC2 では、デフォルトのメタデータサービスとして IMDSv2 が使用されるようになりました。TiDB は、IMDSv2 が有効になっている TiKV インスタンスからのデータバックアップをサポートしており、パブリッククラウド サービスで TiDB クラスターをより効率的に実行するのに役立ちます。
Securityログバックアップデータのクライアント側暗号化(実験的)ログバックアップデータをバックアップストレージにアップロードする前に、バックアップデータを暗号化することで、保管中および転送中のセキュリティを確保できます。
+
カテゴリ機能/改善点説明
拡張性とパフォーマンスインスタンスレベルの実行プランキャッシュ(実験的)インスタンスレベルのプランキャッシュを使用すると、同じ TiDB インスタンス内のすべてのセッションでプランキャッシュを共有できます。セッションレベルのプランキャッシュと比較して、この機能はメモリに多くの実行計画をキャッシュすることで SQL コンパイル時間を短縮し、SQL 全体の実行時間を短縮します。これにより、OLTP のパフォーマンスとスループットが向上するとともに、メモリ使用量をより適切に制御し、データベースの安定性を高めることができます。
パーティションテーブルのグローバルインデックス(GA)グローバルインデックスを使用すると、パーティション化されていない列の取得効率を効果的に向上させることができ、一意キーにパーティションキーを含める必要があるという制約を取り除くことができます。この機能により、TiDBパーティションテーブルの使用シナリオが拡張され、データ移行に必要なアプリケーションの変更作業の一部が不要になります。
TSOリクエストの並列モード高並行処理環境では、この機能を使用することでTSOの取得待ち時間を短縮し、クラスタのスループットを向上させることができます。
キャッシュされたテーブルのクエリパフォーマンスを向上させるキャッシュされたテーブルに対するインデックススキャンのクエリパフォーマンスが向上し、場合によっては最大5.4倍の改善が見られます。小規模なテーブルに対する高速クエリの場合、キャッシュされたテーブルを使用することで、全体的なパフォーマンスを大幅に向上させることができます。
信頼性と可用性 暴走クエリに対するトリガーの追加と、リソースグループの切り替えのサポート暴走クエリは、予期しないSQLパフォーマンスの問題がシステムに与える影響を軽減する効果的な手段です。TiDB v8.4.0では、識別条件としてコプロセッサーによって処理されたキーの数( PROCESSED_KEYS )とリクエストユニット( RU )が導入され、識別されたクエリを指定されたリソースグループに配置することで、暴走クエリのより正確な識別と制御が可能になりました。
リソース制御のバックグラウンドタスクにおけるリソース使用量の上限設定をサポートするリソース制御のバックグラウンドタスクに最大パーセンテージ制限を設定することで、さまざまなアプリケーションシステムのニーズに基づいてリソース消費を制御できます。これにより、バックグラウンドタスクの消費量を低く抑え、オンラインサービスの品質を確保できます。
TiProxyはトラフィックのキャプチャと再生をサポートします(実験的) TiProxyを使用して、クラスターのアップグレード、移行、デプロイメントの変更などの主要な操作を行う前に、TiDB本番クラスターから実際のワークロードをキャプチャします。これらのワークロードをターゲットのテストクラスターで再生することで、パフォーマンスを検証し、変更が確実に成功することを確認します。
同時自動統計収集TiDBクラスタ内での同時実行自動分析操作の数を制御するために、システム変数tidb_auto_analyze_concurrencyを導入します。TiDBは、ノードの規模とハードウェア仕様に基づいて、スキャンタスクの同時実行数を自動的に決定します。これにより、システムリソースを最大限に活用して統計情報の収集効率が向上し、手動による調整が削減され、クラスタの安定したパフォーマンスが確保されます。
SQLベクトル検索(実験的)ベクトル検索は、データの意味論に基づいた検索手法であり、より関連性の高い検索結果を提供します。AIや大規模言語モデル(LLM)の中核機能の一つとして、ベクトル検索は、検索拡張生成(RAG)、セマンティック検索、推薦システムなど、さまざまなシナリオで活用できます。
データベースの運用と可観測性TiKVとTiDBのCPU時間をメモリテーブルに表示するCPU時間はシステムテーブルに統合され、セッションやSQLなどの他のメトリックと並べて表示されるようになりました。これにより、CPU使用率の高い操作を複数の視点から把握し、診断効率を向上させることができます。これは、インスタンスにおけるCPUスパイクやクラスタにおける読み書きホットスポットなどのシナリオを診断する際に特に役立ちます。
テーブルまたはデータベースごとに集計されたTiKV CPU時間を表示する機能をサポートします。ホットスポットの問題が個々のSQL文によって引き起こされていない場合、 Top SQLでテーブルまたはデータベースレベルごとに集計されたCPU時間を使用することで、ホットスポットの原因となっているテーブルやアプリケーションを迅速に特定でき、ホットスポットやCPU消費の問題の診断効率を大幅に向上させることができます。
IMDSv2サービスが有効になっているTiKVインスタンスのバックアップをサポートします AWS EC2 では、デフォルトのメタデータサービスとして IMDSv2 が使用されるようになりました。TiDB は、IMDSv2 が有効になっている TiKV インスタンスからのデータバックアップをサポートしており、パブリッククラウド サービスで TiDB クラスターをより効率的に実行するのに役立ちます。
セキュリティログバックアップデータのクライアント側暗号化(実験的)ログバックアップデータをバックアップストレージにアップロードする前に、バックアップデータを暗号化することで、保管中および転送中のセキュリティを確保できます。
## 機能の詳細 {#feature-details} @@ -71,7 +71,7 @@ TiDB バージョン: 8.4.0 - 一部のシナリオでキャッシュされたテーブルのクエリパフォーマンスを改善 [#43249](https://github.com/pingcap/tidb/issues/43249) @[tiancaiamao](https://github.com/tiancaiamao) - バージョン8.4.0では、TiDBは`SELECT ... LIMIT 1` `IndexLookup`と共に実行する際に、キャッシュされたテーブルのクエリパフォーマンスを最大5.4倍向上させます。さらに、TiDBはフルテーブルスキャンと主キークエリのシナリオにおいて、 `IndexLookupReader`のパフォーマンスを向上させます。 + バージョン8.4.0では、TiDBは`IndexLookup`で`SELECT ... LIMIT 1`を実行する際に、キャッシュされたテーブルのクエリパフォーマンスを最大5.4倍向上させます。さらに、TiDBはフルテーブルスキャンと主キークエリのシナリオにおいて、 `IndexLookupReader`のパフォーマンスを向上させます。 ### 信頼性 {#reliability} @@ -81,7 +81,7 @@ TiDB バージョン: 8.4.0 複数の条件を同時に設定することができ、いずれかの条件が満たされた場合、そのクエリは暴走クエリとして識別されます。 - 履歴実行に基づいて条件値を決定するには、 概要表で対応するフィールド( `RESOURCE_GROUP` `MAX_REQUEST_UNIT_WRITE` `MAX_REQUEST_UNIT_READ` 、 `MAX_PROCESSED_KEYS` )[ステートメントサマリーテーブル](/statement-summary-tables.md)を確認できます。 + 履歴実行に基づいて条件値を決定するには、 [ステートメントサマリーテーブル](/statement-summary-tables.md)で対応するフィールド(`RESOURCE_GROUP`、`MAX_REQUEST_UNIT_WRITE`、`MAX_REQUEST_UNIT_READ`、`MAX_PROCESSED_KEYS`)を確認できます。 詳細については、 [ドキュメント](/tidb-resource-control-runaway-queries.md)を参照してください。 @@ -91,7 +91,7 @@ TiDB バージョン: 8.4.0 詳細については、 [ドキュメント](/tidb-resource-control-runaway-queries.md#query_limit-parameters)を参照してください。 -- `tidb_scatter_region` システム変数を使用してクラスターレベルのリージョン散乱戦略を設定することをサポートします [#55184](https://github.com/pingcap/tidb/issues/55184) @[D3Hunter](https://github.com/D3Hunter) +- `tidb_scatter_region` システム変数を使用してクラスターレベルのリージョン分散戦略を設定することをサポートします [#55184](https://github.com/pingcap/tidb/issues/55184) @[D3Hunter](https://github.com/D3Hunter) バージョン8.4.0より前では、 `tidb_scatter_region`システム変数は有効化または無効化のみが可能でした。有効化すると、TiDBはバッチテーブル作成時にテーブルレベルの分散戦略を適用します。しかし、バッチで数十万ものテーブルを作成する場合、この戦略によってリージョンが少数のTiKVノードに集中し、それらのノードでOOM(メモリ不足)の問題が発生します。 @@ -118,12 +118,12 @@ TiDB バージョン: 8.4.0 TiProxy v1.3.0以降では、 `tiproxyctl`を使用してTiProxyインスタンスに接続し、TiDB本番クラスタのアクセストラフィックをキャプチャして、指定したレートでテストクラスタに再生できます。この機能により、本番クラスタの実際のワークロードをテスト環境で再現し、SQL文の実行結果とパフォーマンスを検証できます。 - 交通状況のリプレイは、次のような状況で役立ちます。 + トラフィック再生は、次のようなシナリオで役立ちます。 - TiDBのバージョンアップグレードを確認する - 変更の影響を評価する - TiDBを拡張する前にパフォーマンスを検証する - - 試験性能限界 + - パフォーマンスの限界をテストする 詳細については、[ドキュメント](/tiproxy/tiproxy-traffic-replay.md)を参照してください。 @@ -131,7 +131,7 @@ TiDB バージョン: 8.4.0 - ベクトル検索のサポート (実験的) [#54245](https://github.com/pingcap/tidb/issues/54245) [#17290](https://github.com/tikv/tikv/issues/17290) [#9032](https://github.com/pingcap/tiflash/issues/9032) @[breezewish](https://github.com/breezewish)@[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger)@[zimulala](https://github.com/zimulala)@[EricZequan](https://github.com/EricZequan)@[JaySon-Huang](https://github.com/JaySon-Huang)@[winoros](https://github.com/winoros)@[wk989898](https://github.com/wk989898) - ベクトル検索は、データの意味論に基づいた検索手法であり、より関連性の高い検索結果を提供します。AIや大規模言語モデル(LLM)の中核関数の一つとして、ベクトル検索は、検索拡張生成(RAG)、セマンティック検索、推薦システムなど、さまざまなシナリオで活用できます。 + ベクトル検索は、データの意味論に基づいた検索手法であり、より関連性の高い検索結果を提供します。AIや大規模言語モデル(LLM)の中核機能の一つとして、ベクトル検索は、検索拡張生成(RAG)、セマンティック検索、推薦システムなど、さまざまなシナリオで活用できます。 v8.4.0 以降、TiDB は [ベクトルデータ型](/ai/reference/vector-search-data-types.md)と[ベクトル検索インデックス](/ai/reference/vector-search-index.md)をサポートし、強力なベクトル検索機能を提供します。 TiDB ベクトルデータ型は、最大 16,383 次元をサポートし、L2 距離 (ユークリッド距離)、コサイン距離、負の内積、L1 距離 (マンハッタン距離) を含むさまざまな[距離関数](/ai/reference/vector-search-functions-and-operators.md#vector-functions)をサポートします。 @@ -145,7 +145,7 @@ TiDB バージョン: 8.4.0 - BRはログバックアップデータのクライアント側暗号化をサポートします (実験的) [#55834](https://github.com/pingcap/tidb/issues/55834) @[Tristan1900](https://github.com/Tristan1900) - 以前のTiDBバージョンでは、スナップショットバックアップデータのみがクライアント側で暗号化されていました。v8.4.0以降では、ログバックアップデータもクライアント側で暗号化できるようになりました。ログバックアップデータをバックアップストレージにアップロードする前に、以下のいずれかの方法でバックアップデータを暗号化してセキュリティを確保できます。 + 以前のTiDBバージョンでは、スナップショットバックアップデータのみをクライアント側で暗号化できました。v8.4.0以降では、ログバックアップデータもクライアント側で暗号化できるようになりました。ログバックアップデータをバックアップストレージにアップロードする前に、以下のいずれかの方法でバックアップデータを暗号化してセキュリティを確保できます。 - カスタム固定キーを使用して暗号化する - ローカルディスクに保存されているマスターキーを使用して暗号化します。 @@ -163,7 +163,7 @@ TiDB バージョン: 8.4.0 - TiDBとTiKVが消費したCPU時間をシステムテーブルに表示する [#55542](https://github.com/pingcap/tidb/issues/55542) @[yibin87](https://github.com/yibin87) - [TiDB Dashboard](/dashboard/dashboard-intro.md)の[Top SQLページ](/dashboard/top-sql.md)CPU 使用率の高い SQL文を表示します。バージョン 8.4.0 以降、TiDB はシステムテーブルに CPU 使用時間情報を追加し、セッションや SQL の他のメトリックと並べて表示することで、CPU 使用率の高い操作をさまざまな視点から簡単に把握できるようにしました。この情報は、インスタンスの CPU スパイクやクラスタ内の読み書きホットスポットなどのシナリオで、問題の原因を迅速に特定するのに役立ちます。 + [TiDB Dashboard](/dashboard/dashboard-intro.md)の[Top SQLページ](/dashboard/top-sql.md)では、CPU 使用率の高い SQL文が表示されます。バージョン 8.4.0 以降、TiDB はシステムテーブルに CPU 使用時間情報を追加し、セッションや SQL の他のメトリックと並べて表示することで、CPU 使用率の高い操作をさまざまな視点から簡単に把握できるようにしました。この情報は、インスタンスの CPU スパイクやクラスタ内の読み書きホットスポットなどのシナリオで、問題の原因を迅速に特定するのに役立ちます。 - [ステートメントサマリーテーブル](/statement-summary-tables.md)には`AVG_TIDB_CPU_TIME`と`AVG_TIKV_CPU_TIME`が追加され、過去の個々の SQL文によって消費された平均 CPU 時間が表示されます。 - [INFORMATION_SCHEMA.PROCESSLIST](/information-schema/information-schema-processlist.md)テーブルには、 `TIDB_CPU`と`TIKV_CPU`が追加され、現在セッションで実行されている SQL文の累積 CPU 消費量が表示されます。 @@ -175,7 +175,7 @@ TiDB バージョン: 8.4.0 - Top SQLは、テーブルまたはデータベースごとに集計されたCPU時間結果を表示する機能をサポートしています [#55540](https://github.com/pingcap/tidb/issues/55540) @[nolouch](https://github.com/nolouch) - バージョン8.4.0より前は、 [Top SQL](/dashboard/top-sql.md) SQLごとにCPU時間を集計していました。CPU時間が少数のSQL文によって消費されていない場合、SQLによる集計では問題を効果的に特定できませんでした。バージョン8.4.0以降では、CPU時間を**テーブル**別または**データベース**別に集計できるようになりました。複数のシステムが存在するシナリオでは、この新しい集計方法により、特定のシステムからの負荷変動をより効果的に特定でき、診断効率が向上します。 + バージョン8.4.0より前は、 [Top SQL](/dashboard/top-sql.md)は SQLごとにCPU時間を集計していました。CPU時間が少数のSQL文によって消費されていない場合、SQLによる集計では問題を効果的に特定できませんでした。バージョン8.4.0以降では、CPU時間を**By TABLE**または**By DB**で集計できるようになりました。複数のシステムが存在するシナリオでは、この新しい集計方法により、特定のシステムからの負荷変動をより効果的に特定でき、診断効率が向上します。 詳細については、[ドキュメント](/dashboard/top-sql.md#use-top-sql)を参照してください。 @@ -189,9 +189,9 @@ TiDB バージョン: 8.4.0 ### データ移行 {#data-migration} -- TiCDC Claim-Check は、Kafka メッセージの`value`フィールドの外部ストレージへの送信のみをサポートします [#11396](https://github.com/pingcap/tiflow/issues/11396) @[3AceShowHand](https://github.com/3AceShowHand) +- TiCDC Claim-Check は、Kafka メッセージの`value`フィールドのみを外部ストレージに送信することをサポートします [#11396](https://github.com/pingcap/tiflow/issues/11396) @[3AceShowHand](https://github.com/3AceShowHand) - バージョン 8.4.0 より前では、クレームチェック機能が有効になっている場合 ( `large-message-handle-option`を`claim-check`に設定した場合)、TiCDC は大きなメッセージを処理する際に、 `key`と`value`フィールドの両方をエンコードして外部ストレージシステムに保存します。 + バージョン 8.4.0 より前では、Claim-Check 機能が有効になっている場合 ( `large-message-handle-option`を`claim-check`に設定した場合)、TiCDC は大きなメッセージを処理する際に、 `key`と`value`フィールドの両方をエンコードして外部ストレージシステムに保存します。 バージョン8.4.0以降、TiCDCはKafkaメッセージの`value`フィールドのみを外部ストレージに送信する機能をサポートしています。この機能は、Open Protocol以外のプロトコルにのみ適用されます。 `claim-check-raw-value`パラメータを設定することで、この機能を制御できます。 @@ -251,14 +251,14 @@ TiDB バージョン: 8.4.0 | PD | [`max-merge-region-keys`](/pd-configuration-file.md#max-merge-region-keys) | 変更 | デフォルト値を`200000`から`540000`に変更します。 | | PD | [`max-merge-region-size`](/pd-configuration-file.md#max-merge-region-size) | 変更 | デフォルト値を`20`から`54`に変更します。 | | TiFlash | [`storage.format_version`](/tiflash/tiflash-configuration.md) | 変更 | ベクトルインデックスの作成とストレージをサポートするため、デフォルトのTiFlashストレージフォーマットバージョンを`5`から`7`に変更します。このフォーマット変更により、v8.4.0以降のバージョンにアップグレードされたTiFlashクラスタでは、以前のバージョンへのインプレースダウングレードはサポートされません。 | -| TiDB Binlog | `--enable-binlog` | 削除済み | バージョン8.4.0では、 [TiDB Binlog](https://docs-archive.pingcap.com/tidb/v8.3/tidb-binlog-overview/)が削除されました。このパラメータは、TiDBbinlogの生成を有効にするかどうかを制御するもので、バージョン8.4.0以降は削除されます。 | +| TiDB Binlog | `--enable-binlog` | 削除済み | バージョン8.4.0では、 [TiDB Binlog](https://docs-archive.pingcap.com/tidb/v8.3/tidb-binlog-overview/)が削除されました。このパラメータは、TiDB Binlogの生成を有効にするかどうかを制御するもので、バージョン8.4.0以降は削除されます。 | | TiCDC | [`claim-check-raw-value`](/ticdc/ticdc-sink-to-kafka.md#send-the-value-field-to-external-storage-only) | 新しく追加された | TiCDCがKafkaメッセージの`value`フィールドのみを外部ストレージに送信するかどうかを制御します。この機能は、Open Protocolを使用しないシナリオでのみ適用されます。 | | TiDB Lightning | [`logical-import-prep-stmt`](/tidb-lightning/tidb-lightning-configuration.md) | 新しく追加された | 論理インポートモードでは、このパラメーターは、パフォーマンスを向上させるためにプリペアドステートメントとステートメントキャッシュを使用するかどうかを制御します。デフォルト値は`false`です。 | -| BR | [`--log.crypter.key`](/br/br-pitr-manual.md#encrypt-the-log-backup-data) | 新しく追加された | ログバックアップデータの暗号化キーを16進数文字列形式で指定します。アルゴリズム`aes128-ctr`の場合は128ビット(16バイト)のキー、アルゴリズム`aes192-ctr` `aes256-ctr`の場合は32バイトのキーです。 | +| BR | [`--log.crypter.key`](/br/br-pitr-manual.md#encrypt-the-log-backup-data) | 新しく追加された | ログバックアップデータの暗号化キーを16進数文字列形式で指定します。アルゴリズム`aes128-ctr`の場合は128ビット(16バイト)のキー、アルゴリズム`aes192-ctr`の場合は24バイトのキー、アルゴリズム`aes256-ctr`の場合は32バイトのキーです。 | | BR | [`--log.crypter.key-file`](/br/br-pitr-manual.md#encrypt-the-log-backup-data) | 新しく追加された | ログバックアップデータのキーファイルを指定します。 `crypter.key`を渡さずに、キーが格納されているファイルパスをパラメータとして直接渡すことができます。 | | BR | [`--log.crypter.method`](/br/br-pitr-manual.md#encrypt-the-log-backup-data) | 新しく追加された | ログバックアップデータの暗号化アルゴリズムを指定します。指定できる値は、 `aes128-ctr` 、 `aes192-ctr` 、または`aes256-ctr`です。デフォルト値は`plaintext`で、データが暗号化されないことを示します。 | | BR | [`--master-key`](/br/br-pitr-manual.md#encrypt-the-log-backup-data) | 新しく追加された | ログバックアップデータのマスターキーを指定します。ローカルディスクに保存されているマスターキー、またはクラウドキー管理サービス(KMS)によって管理されているマスターキーを指定できます。 | -| BR | [`--master-key-crypter-method`](/br/br-pitr-manual.md#encrypt-the-log-backup-data) | 新しく追加された | ログバックアップデータのマスターキーに基づく暗号化アルゴリズムを指定します。マスターキーは、 `aes128-ctr` 、 `aes192-ctr` 、または`aes256-ctr`のいずれかです。デフォルト値は`plaintext`で、データが暗号化されないことを示します。 | +| BR | [`--master-key-crypter-method`](/br/br-pitr-manual.md#encrypt-the-log-backup-data) | 新しく追加された | ログバックアップデータのマスターキーに基づく暗号化アルゴリズムを指定します。指定できる値は、 `aes128-ctr` 、 `aes192-ctr` 、または`aes256-ctr`です。デフォルト値は`plaintext`で、データが暗号化されないことを示します。 | ### オフラインパッケージの変更 {#offline-package-changes} @@ -310,7 +310,7 @@ TiDB をアップグレードする前に、オペレーティングシステム - 特定のシナリオにおける`DELETE`操作のために TiKV から取得する列の詳細の数を減らし、これらの操作のリソースオーバーヘッドを削減します [#38911](https://github.com/pingcap/tidb/issues/38911) @[winoros](https://github.com/winoros) - TiDBクラスタ内での自動分析操作の同時実行設定をシステム変数`tidb_auto_analyze_concurrency`を使用してサポートする [#53460](https://github.com/pingcap/tidb/issues/53460) @[hawkingrei](https://github.com/hawkingrei) - 多数の列を持つテーブルをクエリする際のパフォーマンスを向上させるため、内部関数のロジックを最適化します [#52112](https://github.com/pingcap/tidb/issues/52112) @[Rustin170506](https://github.com/Rustin170506) - - `a = 1 AND (a > 1 OR (a = 1 AND b = 2))`から`a = 1 AND b = 2`のようなフィルター条件を簡素化 [#56005](https://github.com/pingcap/tidb/issues/56005) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) + - `a = 1 AND (a > 1 OR (a = 1 AND b = 2))`のようなフィルター条件を`a = 1 AND b = 2`に簡素化 [#56005](https://github.com/pingcap/tidb/issues/56005) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) - 最適ではない実行計画のリスクが高いシナリオでは、コストモデルでテーブルスキャンのコストを増やし、オプティマイザがインデックスを優先するようにします [#56012](https://github.com/pingcap/tidb/issues/56012) @[terry1purcell](https://github.com/terry1purcell) - TiDB は 2つの引数を持つバリアント`MID(str, pos)`をサポートしています [#52420](https://github.com/pingcap/tidb/issues/52420) @[dveeden](https://github.com/dveeden) - バイナリ型以外の主キーを持つテーブルのTTLタスクの分割をサポート [#55660](https://github.com/pingcap/tidb/issues/55660) @[lcwangchao](https://github.com/lcwangchao) @@ -318,22 +318,22 @@ TiDB をアップグレードする前に、オペレーティングシステム - 自動分析操作に新しい優先度キューを実装して、分析パフォーマンスを向上させ、キューの再構築コストを削減します [#55906](https://github.com/pingcap/tidb/issues/55906) @[Rustin170506](https://github.com/Rustin170506) - 統計モジュールがDDLイベントを購読できるように、DDL通知機能を導入する [#55722](https://github.com/pingcap/tidb/issues/55722) @[fzzf678](https://github.com/fzzf678) @[lance6716](https://github.com/lance6716) @[Rustin170506](https://github.com/Rustin170506) - TiDB のアップグレード中に、新しい TiDB ノードが DDL の所有権を引き継ぐように強制することで、古い TiDB ノードが所有権を引き継ぐことによる互換性の問題を回避する [#51285](https://github.com/pingcap/tidb/pull/51285) @[wjhuang2016](https://github.com/wjhuang2016) - - クラスターレベルの散乱リージョンをサポート [#8424](https://github.com/tikv/pd/issues/8424) @[River2000i](https://github.com/River2000i) + - クラスターレベルの Scatter Region をサポート [#8424](https://github.com/tikv/pd/issues/8424) @[River2000i](https://github.com/River2000i) - TiKV - - リージョンのデフォルト値を 96 MiB から 256 MiB に増やして、Region が多すぎることによる余分なオーバーヘッドを回避します [#17309](https://github.com/tikv/tikv/issues/17309) @[LykxSassinator](https://github.com/LykxSassinator) + - リージョンのデフォルト値を 96 MiB から 256 MiB に増やして、リージョンが多すぎることによる余分なオーバーヘッドを回避します [#17309](https://github.com/tikv/tikv/issues/17309) @[LykxSassinator](https://github.com/LykxSassinator) - リージョンまたはTiKVインスタンスにおけるインメモリ悲観的ロックのメモリ使用量制限の設定をサポートします。ホットライトシナリオで多数の悲観的ロックが発生する場合、構成によってメモリ制限を増やすことができます。これにより、悲観的ロックがディスクに書き込まれることによって発生するCPUおよびI/Oオーバーヘッドを回避できます。 [#17542](https://github.com/tikv/tikv/issues/17542) @[cfzjywxk](https://github.com/cfzjywxk) - - Raft Engineに新しい設定項目`spill-dir`を導入し、 Raftログのマルチディスクストレージをサポートします。ホームディレクトリ ( `dir`が配置されているディスクの空き容量がなくなると、 Raft Engine は新しいログを自動的に`spill-dir`に書き込み、システムの継続的な動作を保証します [#17356](https://github.com/tikv/tikv/issues/17356) @[LykxSassinator](https://github.com/LykxSassinator) + - Raft Engineに新しい設定項目`spill-dir`を導入し、 Raftログのマルチディスクストレージをサポートします。ホームディレクトリ(`dir`)が配置されているディスクの空き容量がなくなると、 Raft Engine は新しいログを自動的に`spill-dir`に書き込み、システムの継続的な動作を保証します [#17356](https://github.com/tikv/tikv/issues/17356) @[LykxSassinator](https://github.com/LykxSassinator) - RocksDB の圧縮トリガー メカニズムを最適化し、多数の DELETE バージョンを処理する際のディスク領域の再利用を加速します [#17269](https://github.com/tikv/tikv/issues/17269) @[AndreMouche](https://github.com/AndreMouche) - 書き込み操作のフロー制御構成を動的に変更するサポート [#17395](https://github.com/tikv/tikv/issues/17395) @[glorv](https://github.com/glorv) - 空のテーブルと小さなリージョンを含むシナリオでのリージョンマージの速度を改善 [#17376](https://github.com/tikv/tikv/issues/17376) @[LykxSassinator](https://github.com/LykxSassinator) - - [パイプラインDML](https://github.com/pingcap/tidb/blob/release-8.4/docs/design/2024-01-09-pipelined-DML.md)resolved-ts を長期間ブロックしないようにします [#17459](https://github.com/tikv/tikv/issues/17459) @[ekexium](https://github.com/ekexium) + - [パイプラインDML](https://github.com/pingcap/tidb/blob/release-8.4/docs/design/2024-01-09-pipelined-DML.md)が resolved-ts を長期間ブロックしないようにします [#17459](https://github.com/tikv/tikv/issues/17459) @[ekexium](https://github.com/ekexium) - PD - TiDB Lightningによるデータインポート中のTiKVノードのグレースフルオフラインをサポート [#7853](https://github.com/tikv/pd/issues/7853) @[okJiang](https://github.com/okJiang) - - `scatter-range`コマンドで`scatter-range-scheduler`を`pd-ctl`に名前変更する [#8379](https://github.com/tikv/pd/issues/8379) @[okJiang](https://github.com/okJiang) + - `pd-ctl`コマンドで`scatter-range`を`scatter-range-scheduler`に名前変更する [#8379](https://github.com/tikv/pd/issues/8379) @[okJiang](https://github.com/okJiang) - `grant-hot-leader-scheduler`の競合検出機能を追加 [#4903](https://github.com/tikv/pd/issues/4903) @[lhy1024](https://github.com/lhy1024) - TiFlash @@ -357,7 +357,7 @@ TiDB をアップグレードする前に、オペレーティングシステム - `tidb_restricted_read_only`変数が`true`に設定されている場合にデッドロックが発生する可能性がある問題を修正します。 [#53822](https://github.com/pingcap/tidb/issues/53822) [#55373](https://github.com/pingcap/tidb/issues/55373) @[Defined2014](https://github.com/Defined2014) - TiDBが正常シャットダウン中に自動コミットトランザクションの完了を待たない問題を修正 [#55464](https://github.com/pingcap/tidb/issues/55464) @[YangKeao](https://github.com/YangKeao) - TTLジョブ実行中に`tidb_ttl_delete_worker_count`の値を減らすとジョブが完了しない問題を修正 [#55561](https://github.com/pingcap/tidb/issues/55561) @[lcwangchao](https://github.com/lcwangchao) - - テーブルのインデックスに生成列が含まれている場合、 `Unknown column 'column_name' in 'expression'`ステートメントを使用してテーブルの統計情報を収集する際に`ANALYZE`エラーが発生する可能性がある問題を修正しました。 [#55438](https://github.com/pingcap/tidb/issues/55438) @[hawkingrei](https://github.com/hawkingrei) + - テーブルのインデックスに生成列が含まれている場合、 `ANALYZE`ステートメントを使用してテーブルの統計情報を収集する際に`Unknown column 'column_name' in 'expression'`エラーが発生する可能性がある問題を修正しました。 [#55438](https://github.com/pingcap/tidb/issues/55438) @[hawkingrei](https://github.com/hawkingrei) - 統計関連の不要な設定を非推奨にして、冗長なコードを削減する [#55043](https://github.com/pingcap/tidb/issues/55043) @[Rustin170506](https://github.com/Rustin170506) - 相関サブクエリとCTEを含むクエリを実行するとTiDBがハングアップしたり、誤った結果を返す可能性がある問題を修正しました [#55551](https://github.com/pingcap/tidb/issues/55551) @[guo-shaoge](https://github.com/guo-shaoge) - `lite-init-stats`を無効にすると統計情報が同期的に読み込まれない可能性がある問題を修正しました [#54532](https://github.com/pingcap/tidb/issues/54532) @[hawkingrei](https://github.com/hawkingrei) @@ -388,7 +388,7 @@ TiDB をアップグレードする前に、オペレーティングシステム - マスターキーがキー管理サービス(KMS)に保存されている場合にマスターキーのローテーションが妨げられる問題を修正しました [#17410](https://github.com/tikv/tikv/issues/17410) @[hhwyt](https://github.com/hhwyt) - 大きなテーブルやパーティションを削除した後に発生する可能性のあるトラフィック制御の問題を修正 [#17304](https://github.com/tikv/tikv/issues/17304) @[Connor1996](https://github.com/Connor1996) - - TiKVが、遅い分割操作と新しいレプリカの即時削除によってトリガーされる、古いレプリカがRaftスナップショットを処理する際にpanicする可能性がある問題を修正しました [#17469](https://github.com/tikv/tikv/issues/17469) @[hbisheng](https://github.com/hbisheng) + - 遅い分割操作と新しいレプリカの即時削除をきっかけに、古いレプリカがRaftスナップショットを処理する際にTiKVがpanicする可能性がある問題を修正しました [#17469](https://github.com/tikv/tikv/issues/17469) @[hbisheng](https://github.com/hbisheng) - TiFlash @@ -403,7 +403,7 @@ TiDB をアップグレードする前に、オペレーティングシステム - TiDBノードが停止した際に、監視中のPITRチェックポイント間隔が異常に増加し、実際の状況を反映しない問題を修正しました [#42419](https://github.com/pingcap/tidb/issues/42419) @[YuJuncen](https://github.com/YuJuncen) - バックアップ処理中にTiKVが応答しなくなった場合にバックアップタスクが停止する可能性がある問題を修正 [#53480](https://github.com/pingcap/tidb/issues/53480) @[Leavrth](https://github.com/Leavrth) - ログバックアップが有効になっている場合に、 BRログに機密の認証情報が出力される可能性がある問題を修正 [#55273](https://github.com/pingcap/tidb/issues/55273) @[RidRisR](https://github.com/RidRisR) - - ログバックアップPITRタスクが失敗して停止した後、そのタスクに関連するセーフポイントが正しくクリアされない問題を修正しました(PD) [#17316](https://github.com/tikv/tikv/issues/17316) @[Leavrth](https://github.com/Leavrth) + - ログバックアップPITRタスクが失敗して停止した後、そのタスクに関連するセーフポイントがPD内で正しくクリアされない問題を修正しました [#17316](https://github.com/tikv/tikv/issues/17316) @[Leavrth](https://github.com/Leavrth) - TiDB Data Migration (DM)