TiDB 4.0 ベータ版リリースノート
発売日:2020年1月17日
TiDB バージョン: 4.0.0-beta
TiDB Ansible バージョン: 4.0.0-beta
TiDB
INSERT/REPLACE/DELETE/UPDATEの実行中に使用されたメモリが#14289MemQuotaQuery項目で指定された制限を超えた場合、ログを出力するか、SQL 実行をキャンセルします。実際の動作はOOMAction設定に依存します。13 #14179 #14299- 駆動テーブルと被駆動テーブル#12085の両方の行数を考慮して、
Index Joinのコスト計算の精度を高めます。 - オプティマイザの動作を制御し、オプティマイザをより安定させるために 15 個の SQL ヒントを追加します。
- クエリに含まれる列がインデックス#12022で完全にカバーできる場合のパフォーマンスを向上
- インデックスマージ機能をサポートすることでテーブルクエリのパフォーマンスが向上します#10121 #10512 #11245 #12225 #12248 #12305 #12843
- インデックス結果をキャッシュし、重複する結果を排除することで、範囲計算のパフォーマンスを向上させ、CPUオーバーヘッドを削減します#12856
- スローログのレベルを通常のログのレベルから切り離す#12359
oom-use-tmp-storageパラメータ(デフォルトはtrue)を追加して、単一の SQL 文の実行でメモリ使用量がmem-quota-query超え、SQL にHash Join#11832 #11937 #12116 #12067が含まれている場合に、一時ファイルを使用して中間結果をキャッシュするかどうかを制御します。create indexを使用して式インデックスを作成し、drop indexを使用して式インデックス#14117を削除することalter tableサポートします。- 切り捨てられたSQL出力の数を減らすには、パラメータ
query-log-max-lenのデフォルト値を4096に増やしてください。このパラメータは動的に調整できます#12491 - 列属性に
AutoRandomキーワードを追加して、システムが主キーにランダムな整数を自動的に割り当てるかどうかを制御できるようになりました。これにより、AUTO_INCREMENT主キー#13127によって引き起こされるホットスポット問題が回避されます。 - サポートテーブルロック#11038
- 条件付きフィルタリング#12484で
ADMIN SHOW DDL JOBSのLIKEまたはWHERE句の使用をサポート information_schema.tables表のTIDB_ROW_ID_SHARDING_INFO列目を追加してRowID散乱情報を出力します(たとえば、表AのSHARD_ROW_ID_BITS列目の値は"SHARD_BITS={bit_number}"です) #13418- SQL エラー メッセージのエラー コードを最適化して、
ERROR 1105 (HY000)コードが複数のエラー メッセージ (Unknown Error種類) に使用される状況を回避します。 - 離散型の狭いデータ範囲を
point setに変換し、CM-Sketchを使用して行数を推定する際の推定精度を向上させる#11524 - CM-Sketchから法線
AnalyzeTopN情報を抽出し、頻繁に発生する値#11409を別途保持する - CM-Sketchの深さと幅、および
TopN情報#11278数を動的に調整する機能をサポート - SQLバインディング#13199 #12434の自動キャプチャと進化をサポート
Chunkを使用してTiKVによる通信のエンコード形式を最適化し、通信パフォーマンスを向上させる#12023 #12536 #12613 #12621 #12899 #13060 #13349- ワイドテーブル#12634のパフォーマンスを向上させるために新しい行ストア形式をサポートします。
Recover Binlogインターフェースを最適化して、すべてのトランザクションがコミットされてからクライアント#13740に戻るようにする- HTTP
info/allインターフェース#13025を介してクラスタ内の TiDB サーバーによって有効になっているbinlogのステータスを照会する機能をサポート - 悲観的トランザクションモード#14087を使用する場合、MySQL互換の
Read Committedトランザクション分離レベルをサポートします。 - 大規模トランザクションをサポートします。トランザクションサイズは物理メモリのサイズによって制限されます。
Kill#10841の安定性を向上LOAD DATA#11029で16進数と2進数の表現を区切り文字としてサポートIndexLookupJoinIndexHashJoinとIndexMergeJoinに分割することで、IndexLookupJoinのパフォーマンスを向上させ、実行時のメモリ消費量を削減します#8861 #12139 #12349 #13238 #13451 #13714- RBAC #13896 #13820 #13940 #14090 #13940 #13014に関連するいくつかの問題を修正
SELECT文にunion#12595が含まれているためVIEW作成できない問題を修正しましたCAST関数に関連するいくつかの問題を修正- トラブルシューティングを容易にするために、TiKV RPCの詳細な
backoff情報をスローログに出力します#13770 - 高価なログ#12809のメモリ統計のフォーマットを最適化および統一する
EXPLAINの明示的なフォーマットを最適化し、オペレータのメモリとディスクの使用状況に関する情報の出力をサポートします#13914 #13692 #13686 #11415 #13927 #13764 #13720- トランザクションサイズに基づいて
LOAD DATAの重複値のチェックを最適化し、tidb_dml_batch_sizeパラメータ#11132を構成することでトランザクションサイズの設定をサポートします。 - データ準備ルーチンとコミットルーチンを分離し、ワークロードを異なるワーカー#11533 #11284に割り当てることで、
LOAD DATAのパフォーマンスを最適化します。
TiKV
- RocksDBのバージョンを6.4.6にアップグレードします
- TiKVの#6321時に2GBの空ファイルを自動的に作成することで、ディスク容量が不足するとシステムが正常に圧縮タスクを実行できない問題を修正しました。
- 迅速なバックアップと復元をサポート
- Followerレプリカからのデータの読み取りをサポート
- インデックス#5682を介したTiDBの読み取りデータのパフォーマンスを向上
CAST関数が TiKV と TiDB で一貫性のない動作をする問題を修正しました
PD
- storageノードの負荷情報に応じてホットスポットのスケジュールを最適化することをサポート
- さまざまなスケジュールルールを組み合わせて、任意のデータ範囲のレプリカ数、storageの場所、storageホストの種類、およびロールを制御できる配置ルール機能を追加します。
- プラグインの使用によるサポート(実験的) #1799
- スケジューラがカスタマイズされた構成とキー範囲をサポートする機能を追加します(実験的) #1735 #1783 #1791
- クラスタ負荷情報に応じてスケジュール速度を自動的に調整する機能をサポート(実験的、デフォルトでは無効) #1875 #1887 #1902
ツール
- TiDB Lightning
- コマンドラインツールにパラメータを追加して、ダウンストリームデータベース#253のパスワードを設定します。