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- 駆動テーブルと被駆動テーブルの両方の行数を考慮して、
Index Joinのコスト計算の精度を高めます。 #12085 - オプティマイザの動作を制御し、オプティマイザをより安定させるために 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 が含まれている場合に、一時ファイルを使用して中間結果をキャッシュするかどうかを制御します。 #12067 #12116create indexを使用して式インデックスを作成し、drop indexを使用して式インデックスを削除することalter tableサポートします。 #14117- 切り捨てられたSQL出力の数を減らすには、パラメータ
query-log-max-lenのデフォルト値を4096に増やしてください。このパラメータは動的に調整できます#12491 - 列属性に
AutoRandomキーワードを追加して、システムが主キーにランダムな整数を自動的に割り当てるかどうかを制御できるようになりました。これにより、AUTO_INCREMENT主キーによって引き起こされるホットスポット問題が回避されます。 #13127 - サポートテーブルロック#11038
- 条件付きフィルタリングで
ADMIN SHOW DDL JOBSのLIKEまたはWHERE句の使用をサポート #12484 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バインディング の自動キャプチャと進化をサポート #12434 #13199
Chunkを使用してTiKVによる通信のエンコード形式を最適化し、通信パフォーマンスを向上させる#12023 #12536 #12613 #12621 #12899 #13060 #13349- ワイドテーブルのパフォーマンスを向上させるために新しい行ストア形式をサポートします。 #12634
Recover Binlogインターフェースを最適化して、すべてのトランザクションがコミットされてからクライアントに戻るようにする #13740- HTTP
info/allインターフェースを介してクラスタ内の TiDB サーバーによって有効になっているbinlogのステータスを照会する機能をサポート #13025 - 悲観的トランザクションモードを使用する場合、MySQL互換の
Read Committedトランザクション分離レベルをサポートします。 #14087 - 大規模トランザクションをサポートします。トランザクションサイズは物理メモリのサイズによって制限されます。
Killの安定性を向上 #10841LOAD DATAで16進数と2進数の表現を区切り文字としてサポート #11029IndexLookupJoinIndexHashJoinとIndexMergeJoinに分割することで、IndexLookupJoinのパフォーマンスを向上させ、実行時のメモリ消費量を削減します#8861 #12139 #12349 #13238 #13451 #13714- RBAC #13896 #13820 #13940 #14090 に関連するいくつかの問題を修正 #13014 #13940
SELECT文にunionが含まれているためVIEW作成できない問題を修正しました #12595CAST関数に関連するいくつかの問題を修正- トラブルシューティングを容易にするために、TiKV RPCの詳細な
backoff情報をスローログに出力します#13770 - 高価なログのメモリ統計のフォーマットを最適化および統一する #12809
EXPLAINの明示的なフォーマットを最適化し、オペレータのメモリとディスクの使用状況に関する情報の出力をサポートします#13914 #13692 #13686 #11415 #13927 #13764 #13720- トランザクションサイズに基づいて
LOAD DATAの重複値のチェックを最適化し、tidb_dml_batch_sizeパラメータを構成することでトランザクションサイズの設定をサポートします。 #11132 - データ準備ルーチンとコミットルーチンを分離し、ワークロードを異なるワーカー に割り当てることで、
LOAD DATAのパフォーマンスを最適化します。 #11284 #11533
TiKV
- RocksDBのバージョンを6.4.6にアップグレードします
- TiKVの時に2GBの空ファイルを自動的に作成することで、ディスク容量が不足するとシステムが正常に圧縮タスクを実行できない問題を修正しました。 #6321
- 迅速なバックアップと復元をサポート
- Followerレプリカからのデータの読み取りをサポート
- インデックスを介したTiDBの読み取りデータのパフォーマンスを向上 #5682
CAST関数が TiKV と TiDB で一貫性のない動作をする問題を修正しました
PD
- ストレージノードの負荷情報に応じてホットスポットのスケジュールを最適化することをサポート
- さまざまなスケジュールルールを組み合わせて、任意のデータ範囲のレプリカ数、ストレージの場所、ストレージホストの種類、およびロールを制御できる配置ルール機能を追加します。
- プラグインの使用によるサポート(実験的) #1799
- スケジューラがカスタマイズされた構成とキー範囲をサポートする機能を追加します(実験的) #1735 #1783 #1791
- クラスタ負荷情報に応じてスケジュール速度を自動的に調整する機能をサポート(実験的、デフォルトでは無効) #1875 #1887 #1902
ツール
- TiDB Lightning
- コマンドラインツールにパラメータを追加して、ダウンストリームデータベースのパスワードを設定します。 #253