TiDB 4.0 ベータ リリース ノート
発売日: 2020年1月17日
TiDB バージョン: 4.0.0-beta
TiDB Ansible バージョン: 4.0.0-beta
ティビ
INSERT
#14289REPLACE
/DELETE
/UPDATE
の実行中に使用されるメモリがMemQuotaQuery
構成項目で指定された制限を超えた場合に、ログを印刷するか、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 #12116 #12067が含まれている場合に、一時ファイルを使用して中間結果をキャッシュするかどうかを制御します。create index
alter table
して式インデックスを作成し、drop index
を使用して式インデックス#14117を削除することをサポートします。- 切り捨てられた 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から通常の
Analyze
TopN
情報を抽出し、頻繁に発生する値#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 進数表現をサポートIndexLookupJoin
#12349IndexHashJoin
IndexMergeJoin
に分割することで、IndexLookupJoin
のパフォーマンスを向上させ、実行時のメモリ消費量を削減します#8861 #12139 #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
のパフォーマンスを最適化します。
ティクヴ
- RocksDBバージョンを6.4.6にアップグレードする
- TiKV の起動時に 2GB の空のファイルを自動的に作成することで、ディスク領域が使い果たされると、システムが正常に圧縮タスクを実行できない問題を修正しました#6321
- 迅速なバックアップと復元をサポート
- Followerレプリカからのデータの読み取りをサポート
- インデックス#5682を介してデータを読み取るTiDBのパフォーマンスを向上
CAST
関数が TiKV と TiDB で一貫性のない動作をする問題を修正しました
PD
- storageノードの負荷情報に応じてホットスポットのスケジュールを最適化することをサポート
- さまざまなスケジュールルールを組み合わせて、任意のデータ範囲のレプリカ数、storageの場所、storageホストの種類、およびロールを制御できる配置ルール機能を追加します。
- プラグインの使用をサポート(実験的) #1799
- スケジューラがカスタマイズされた構成とキー範囲をサポートする機能を追加する(実験的) #1735 #1783 #1791
- クラスタ負荷情報に応じてスケジューリング速度を自動的に調整する機能をサポート(実験的、デフォルトでは無効) #1875 #1887 #1902
ツール
- TiDB Lightning
- コマンドラインツールにパラメータを追加して、ダウンストリームデータベース#253のパスワードを設定します。