diff --git a/releases/release-8.1.0.md b/releases/release-8.1.0.md index 01a52a0844d6e..0e5cbc02be392 100644 --- a/releases/release-8.1.0.md +++ b/releases/release-8.1.0.md @@ -15,9 +15,9 @@ TiDB バージョン: 8.1.0 TiDB 8.1.0 は長期サポートリリース (LTS) です。 -以前のLTSバージョン7.5.0と比較して、8.1.0にはバージョン[7.6.0-DMR](/releases/release-7.6.0.md)と[8.0.0-DMR](/releases/release-8.0.0.md)でリリースされた新機能、改善、バグ修正が含まれています。7.5.xから8.1.0にアップグレードする場合は、バージョン[TiDB リリースノート PDF](https://docs-download.pingcap.com/pdf/tidb-v7.6-to-v8.1-en-release-notes.pdf)をダウンロードして、2つのLTSバージョン間のすべてのリリースノートをご覧いただけます。以下の表は、7.6.0から8.1.0への主な変更点です。 +以前のLTSバージョン7.5.0と比較して、8.1.0にはバージョン[7.6.0-DMR](/releases/release-7.6.0.md)と[8.0.0-DMR](/releases/release-8.0.0.md)でリリースされた新機能、改善、バグ修正が含まれています。7.5.xから8.1.0にアップグレードする場合は、[TiDB リリースノート PDF](https://docs-download.pingcap.com/pdf/tidb-v7.6-to-v8.1-en-release-notes.pdf)をダウンロードして、2つのLTSバージョン間のすべてのリリースノートをご覧いただけます。以下の表は、7.6.0から8.1.0への主な変更点です。 -
| カテゴリ | 機能/拡張機能 | 説明 |
|---|---|---|
| スケーラビリティとパフォーマンス | クラスター スナップショットの復元速度の高速化(v8.0.0 で GA) | この機能により、 BRはクラスタのスケールメリットを最大限に活用し、クラスタ内のすべてのTiKVノードがデータ復元の準備ステップに参加できるようになります。この機能により、大規模クラスタにおける大規模データセットの復元速度が大幅に向上します。実環境テストでは、この機能によりダウンロード帯域幅が飽和状態になり、ダウンロード速度が8~10倍、エンドツーエンドの復元速度が約1.5~3倍向上することが示されています。 |
| バッチでテーブルを作成する場合、最大 10 倍の高速化を実現します(実験的、v7.6.0 で導入) | v7.6.0での新しいDDLアーキテクチャの実装により、バッチテーブル作成のパフォーマンスが大幅に向上し、最大10倍高速化しました。この大幅な機能強化により、多数のテーブル作成に必要な時間が大幅に短縮されます。この高速化は、数万から数十万に及ぶ大量のテーブルが頻繁に使用されるSaaSシナリオにおいて特に顕著です。 | |
| アクティブ PD フォロワーを使用して、PD のリージョン情報クエリサービスを強化します(実験的、v7.6.0 で導入) | TiDB v7.6.0では、PDフォロワーがリージョン情報クエリサービスを提供できる実験的機能"Active PD Follower"が導入されました。この機能により、多数のTiDBノードとリージョンを持つクラスターにおいて、PDクラスターのGetRegionおよびScanRegionsリクエスト処理能力が向上し、PDリーダーのCPU負荷が軽減されます。 | |
| 大規模なトランザクションのためのバルク DML (実験的、v8.0.0 で導入) | 大規模なクリーンアップジョブ、結合、集計といった大規模なバッチDMLジョブは、大量のメモリを消費する可能性があり、これまでは非常に大規模なスケールでは制限されていました。バルクDML( tidb_dml_type = "bulk" )は、トランザクション保証を提供し、OOM(メモリ不足)の問題を軽減しながら、大規模なバッチDMLタスクをより効率的に処理するための新しいDMLタイプです。この機能は、データのロードに使用する場合、インポート、ロード、リストアの各操作とは異なります。 | |
| 膨大な数のテーブルがある場合のスキーマ情報のキャッシュの安定性を向上 (実験的、v8.0.0 で導入) | マルチテナントアプリケーションの記録システムとしてTiDBを使用しているSaaS企業は、多くの場合、膨大な数のテーブルを保存する必要があります。以前のバージョンでは、100万個以上のテーブル数を処理することは可能でしたが、全体的なユーザーエクスペリエンスが低下する可能性がありました。TiDB v8.0.0では、 auto analyzeに優先キューを実装することで状況が改善され、プロセスの柔軟性が向上し、より広範なテーブルにわたる安定性が向上しました。 | |
| 信頼性と可用性 | グローバルソート(v8.0.0 で GA) | グローバルソート機能は、 IMPORT INTOおよびCREATE INDEXの安定性と効率性を向上させることを目的としています。処理対象のデータをグローバルにソートすることで、TiKVへのデータ書き込みの安定性、制御性、スケーラビリティが向上し、結果としてデータのインポートとインデックス作成におけるユーザーエクスペリエンスとサービス品質が向上します。グローバルソートを有効にすると、各IMPORT INTOまたはCREATE INDEXステートメントで、最大40TiBのデータのインポートまたはインデックスの追加がサポートされるようになりました。 |
| データベース間 SQL バインディング(v7.6.0 で導入) | 同じスキーマを持つ数百のデータベースを管理する場合、これらのデータベース全体にSQLバインディングを適用する必要があることがよくあります。例えば、SaaSまたはPaaSデータプラットフォームでは、各ユーザーは通常、同じスキーマを持つ別々のデータベースを操作し、それらに対して類似のSQLクエリを実行します。このような場合、各データベースにSQLを個別にバインドするのは現実的ではありません。TiDB v7.6.0では、スキーマが同等なすべてのデータベース間で一致するバインディングを可能にする、データベース間SQLバインディングが導入されています。 | |
| TiProxy をサポート(v8.0.0 で GA) | デプロイメントツールを使用して簡単にデプロイできる TiProxy サービスを完全にサポートし、ローリング リスタート、アップグレード、またはスケーリング イベントを通じて TiDB への接続を管理および維持できるようにします。 | |
| データ移行(DM)はMySQL 8.0(バージョン7.6.0でGA)を正式にサポートします | これまで、DMを使用したMySQL 8.0からのデータ移行は実験的機能であり、本番環境ではご利用いただけませんでした。TiDB v7.6.0では、この機能の安定性と互換性が向上し、本番環境においてMySQL 8.0からTiDBへのデータ移行をスムーズかつ迅速に実行できるようになります。v7.6.0では、この機能が一般提供(GA)されます。 | |
| TiDB リソース制御は、予想よりも多くのリソースを消費するクエリの管理をサポートします (v8.1.0 で GA) | TiDBは、リソースグループのルールを通じて、予想以上にリソースを消費するクエリを自動的に識別し、それらのクエリを制限またはキャンセルすることができます。ルールで識別されないクエリでも、手動でクエリ特性を追加し、適切な対策を講じることで、突発的なクエリパフォーマンスの問題がデータベース全体に与える影響を軽減できます。 | |
| DB操作と可観測性 | インデックス使用状況統計の監視をサポート(v8.0.0 で導入) | 適切なインデックス設計は、データベースのパフォーマンス維持に不可欠な前提条件です。TiDB v8.0.0では、インデックスの使用状況統計を提供するINFORMATION_SCHEMA.TIDB_INDEX_USAGEテーブルとsys.schema_unused_indexesビューが導入されました。この機能は、データベース内のインデックスの効率性を評価し、インデックス設計を最適化するのに役立ちます。 |
| データ移行 | TiCDC はSimpleプロトコルをサポートしています (v8.0.0 で導入) | TiCDCは、新しいプロトコル「Simpleプロトコル」を導入しました。このプロトコルは、DDLおよびBOOTSTRAPイベントにテーブルスキーマ情報を埋め込むことで、スキーマをインバンドで追跡する機能を提供します。 |
| TiCDC はDebezium 形式プロトコル(v8.0.0 で導入) をサポートしています。 | TiCDC は新しいプロトコル、Debezium プロトコルを導入しました。TiCDC は、Debezium スタイルのメッセージを生成するプロトコルを使用して、データ変更イベントを Kafka シンクにパブリッシュできるようになりました。 | |
| TiCDC はクライアント認証をサポートしています (v8.1.0 で導入) | TiCDCは、相互トランスポート層Security(mTLS)またはTiDBユーザー名とパスワードを使用したクライアント認証をサポートしています。この機能により、CLIまたはOpenAPIクライアントはTiCDCへの接続を認証できます。 |
| カテゴリ | 機能/拡張機能 | 説明 |
|---|---|---|
| スケーラビリティとパフォーマンス | クラスター スナップショットの復元速度の高速化(v8.0.0 で GA) | この機能により、 BRはクラスタのスケールメリットを最大限に活用し、クラスタ内のすべてのTiKVノードがデータ復元の準備ステップに参加できるようになります。この機能により、大規模クラスタにおける大規模データセットの復元速度が大幅に向上します。実環境テストでは、この機能によりダウンロード帯域幅が飽和状態になり、ダウンロード速度が8~10倍、エンドツーエンドの復元速度が約1.5~3倍向上することが示されています。 |
| バッチでテーブルを作成する場合、最大 10 倍の高速化を実現します(実験的、v7.6.0 で導入) | v7.6.0での新しいDDLアーキテクチャの実装により、バッチテーブル作成のパフォーマンスが大幅に向上し、最大10倍高速化しました。この大幅な機能強化により、多数のテーブル作成に必要な時間が大幅に短縮されます。この高速化は、数万から数十万に及ぶ大量のテーブルが頻繁に使用されるSaaSシナリオにおいて特に顕著です。 | |
| アクティブ PD フォロワーを使用して、PD のリージョン情報クエリサービスを強化します(実験的、v7.6.0 で導入) | TiDB v7.6.0では、PDフォロワーがリージョン情報クエリサービスを提供できる実験的機能"Active PD Follower"が導入されました。この機能により、多数のTiDBノードとリージョンを持つクラスターにおいて、PDクラスターのGetRegionおよびScanRegionsリクエスト処理能力が向上し、PDリーダーのCPU負荷が軽減されます。 | |
| 大規模なトランザクションのためのバルク DML (実験的、v8.0.0 で導入) | 大規模なクリーンアップジョブ、結合、集計といった大規模なバッチDMLジョブは、大量のメモリを消費する可能性があり、これまでは非常に大規模なスケールでは制限されていました。バルクDML( tidb_dml_type = "bulk" )は、トランザクション保証を提供し、OOM(メモリ不足)の問題を軽減しながら、大規模なバッチDMLタスクをより効率的に処理するための新しいDMLタイプです。この機能は、データのロードに使用する場合、インポート、ロード、リストアの各操作とは異なります。 | |
| 膨大な数のテーブルがある場合のスキーマ情報のキャッシュの安定性を向上 (実験的、v8.0.0 で導入) | マルチテナントアプリケーションの記録システムとしてTiDBを使用しているSaaS企業は、多くの場合、膨大な数のテーブルを保存する必要があります。以前のバージョンでは、100万個以上のテーブル数を処理することは可能でしたが、全体的なユーザーエクスペリエンスが低下する可能性がありました。TiDB v8.0.0では、 auto analyzeに優先キューを実装することで状況が改善され、プロセスの柔軟性が向上し、より広範なテーブルにわたる安定性が向上しました。 | |
| 信頼性と可用性 | グローバルソート(v8.0.0 で GA) | グローバルソート機能は、 IMPORT INTOおよびCREATE INDEXの安定性と効率性を向上させることを目的としています。処理対象のデータをグローバルにソートすることで、TiKVへのデータ書き込みの安定性、制御性、スケーラビリティが向上し、結果としてデータのインポートとインデックス作成におけるユーザーエクスペリエンスとサービス品質が向上します。グローバルソートを有効にすると、各IMPORT INTOまたはCREATE INDEXステートメントで、最大40TiBのデータのインポートまたはインデックスの追加がサポートされるようになりました。 |
| データベース間 SQL バインディング(v7.6.0 で導入) | 同じスキーマを持つ数百のデータベースを管理する場合、これらのデータベース全体にSQLバインディングを適用する必要があることがよくあります。例えば、SaaSまたはPaaSデータプラットフォームでは、各ユーザーは通常、同じスキーマを持つ別々のデータベースを操作し、それらに対して類似のSQLクエリを実行します。このような場合、各データベースにSQLを個別にバインドするのは現実的ではありません。TiDB v7.6.0では、スキーマが同等なすべてのデータベース間で一致するバインディングを可能にする、データベース間SQLバインディングが導入されています。 | |
| TiProxy をサポート(v8.0.0 で GA) | デプロイメントツールを使用して簡単にデプロイできる TiProxy サービスを完全にサポートし、ローリング リスタート、アップグレード、またはスケーリング イベントを通じて TiDB への接続を管理および維持できるようにします。 | |
| データ移行(DM)はMySQL 8.0(バージョン7.6.0でGA)を正式にサポートします | これまで、DMを使用したMySQL 8.0からのデータ移行は実験的機能であり、本番環境ではご利用いただけませんでした。TiDB v7.6.0では、この機能の安定性と互換性が向上し、本番環境においてMySQL 8.0からTiDBへのデータ移行をスムーズかつ迅速に実行できるようになります。v7.6.0では、この機能が一般提供(GA)されます。 | |
| TiDB リソース制御は、予想よりも多くのリソースを消費するクエリの管理をサポートします (v8.1.0 で GA) | TiDBは、リソースグループのルールを通じて、予想以上にリソースを消費するクエリを自動的に識別し、それらのクエリを制限またはキャンセルすることができます。ルールで識別されないクエリでも、手動でクエリ特性を追加し、適切な対策を講じることで、突発的なクエリパフォーマンスの問題がデータベース全体に与える影響を軽減できます。 | |
| DB操作と可観測性 | インデックス使用状況統計の監視をサポート(v8.0.0 で導入) | 適切なインデックス設計は、データベースのパフォーマンス維持に不可欠な前提条件です。TiDB v8.0.0では、インデックスの使用状況統計を提供するINFORMATION_SCHEMA.TIDB_INDEX_USAGEテーブルとsys.schema_unused_indexesビューが導入されました。この機能は、データベース内のインデックスの効率性を評価し、インデックス設計を最適化するのに役立ちます。 |
| データ移行 | TiCDC はSimpleプロトコルをサポートしています (v8.0.0 で導入) | TiCDCは、新しいプロトコル「Simpleプロトコル」を導入しました。このプロトコルは、DDLおよびBOOTSTRAPイベントにテーブルスキーマ情報を埋め込むことで、スキーマをインバンドで追跡する機能を提供します。 |
| TiCDC はDebezium 形式プロトコル(v8.0.0 で導入) をサポートしています。 | TiCDC は新しいプロトコル、Debezium プロトコルを導入しました。TiCDC は、Debezium スタイルのメッセージを生成するプロトコルを使用して、データ変更イベントを Kafka シンクにパブリッシュできるようになりました。 | |
| TiCDC はクライアント認証をサポートしています (v8.1.0 で導入) | TiCDCは、相互トランスポート層セキュリティ(mTLS)またはTiDBユーザー名とパスワードを使用したクライアント認証をサポートしています。この機能により、CLIまたはOpenAPIクライアントはTiCDCへの接続を認証できます。 |
| カテゴリ | 機能/改善点 | 説明 |
|---|---|---|
| 信頼性と可用性 | TiProxyは複数のロードバランシングポリシーをサポートしています。 | TiDB v8.2.0では、TiProxyはステータス、接続数、健全性、メモリ、CPU、ロケーションなど、さまざまな要素に基づいてTiDBノードを評価し、ランク付けします。 policy設定項目で指定された負荷分散ポリシーに従って、TiProxyはデータベース操作を実行する最適なTiDBノードを動的に選択します。これにより、リソース使用率全体が最適化され、クラスタのパフォーマンスが向上し、スループットが増加します。 |
| TiDB の並列 HashAgg アルゴリズムはディスクスピル (GA) をサポートします | HashAgg は、同じフィールド値を持つ行を効率的に集計するために TiDB で広く使用されている集計オペレーターです。TiDB v8.0.0 では、処理速度をさらに向上させる実験的機能として parallel HashAgg が導入されました。メモリリソースが不足している場合、parallel HashAgg は一時的にソートされたデータをディスクに書き出すことで、過剰なメモリ使用による潜在的な OOM リスクを回避します。これにより、ノードの安定性を維持しながらクエリパフォーマンスが向上します。v8.2.0 では、この機能が一般提供 (GA) となり、デフォルトで有効になっているため、 tidb_executor_concurrencyを使用して parallel HashAgg の同時実行性を安全に構成できます。 | |
| 統計情報の読み込み効率を最大10倍向上 | SaaSやPaaSサービスなど、テーブルとパーティションの数が多いクラスタでは、統計情報のロード効率を改善することで、TiDBインスタンスの起動速度低下の問題を解決し、統計情報の動的ロードの成功率を高めることができます。この改善により、統計情報のロード失敗によるパフォーマンス低下が軽減され、クラスタの安定性が向上します。 | |
| データベースの運用と可観測性 | リソースグループの切り替えに対する特権制御を導入する | リソース制御は広く利用されているため、リソースグループの切り替えに関する権限制御は、データベースユーザーによるリソースの不正使用を防ぎ、管理者によるリソース使用全体の保護を強化し、クラスタの安定性を向上させることができる。 |
| カテゴリ | 機能/改善点 | 説明 |
|---|---|---|
| 信頼性と可用性 | TiProxyは複数のロードバランシングポリシーをサポートしています。 | TiDB v8.2.0では、TiProxyはステータス、接続数、健全性、メモリ、CPU、ロケーションなど、さまざまな要素に基づいてTiDBノードを評価し、ランク付けします。 policy設定項目で指定された負荷分散ポリシーに従って、TiProxyはデータベース操作を実行する最適なTiDBノードを動的に選択します。これにより、リソース使用率全体が最適化され、クラスタのパフォーマンスが向上し、スループットが増加します。 |
| TiDB の並列 HashAgg アルゴリズムはディスクスピル (GA) をサポートします | HashAgg は、同じフィールド値を持つ行を効率的に集計するために TiDB で広く使用されている集計オペレーターです。TiDB v8.0.0 では、処理速度をさらに向上させる実験的機能として 並列 HashAgg が導入されました。メモリリソースが不足している場合、並列 HashAgg はソート済みの一時データをディスクに書き出すことで、過剰なメモリ使用による潜在的な OOM リスクを回避します。これにより、ノードの安定性を維持しながらクエリパフォーマンスが向上します。v8.2.0 では、この機能が一般提供 (GA) となり、デフォルトで有効になっているため、 tidb_executor_concurrencyを使用して 並列 HashAgg の同時実行性を安全に構成できます。 | |
| 統計情報の読み込み効率を最大10倍向上 | SaaSやPaaSサービスなど、テーブルとパーティションの数が多いクラスタでは、統計情報のロード効率を改善することで、TiDBインスタンスの起動速度低下の問題を解決し、統計情報の動的ロードの成功率を高めることができます。この改善により、統計情報のロード失敗によるパフォーマンス低下が軽減され、クラスタの安定性が向上します。 | |
| データベースの運用と可観測性 | リソースグループの切り替えに対する特権制御を導入する | リソース制御は広く利用されているため、リソースグループの切り替えに関する権限制御は、データベースユーザーによるリソースの不正使用を防ぎ、管理者によるリソース使用全体の保護を強化し、クラスタの安定性を向上させることができます。 |