TiDB 2.1 RC1 リリースノート

2018 年 8 月 24 日、TiDB 2.1 RC1 がリリースされました! TiDB 2.1 Beta と比較すると、このリリースでは、安定性、SQL オプティマイザ、統計情報、および実行エンジンが大幅に改善されています。

TiDB

  • SQL オプティマイザー
    • 場合によっては、相関サブクエリが非相関になった後に間違った結果が返される問題を修正します#6972
    • Explain #7011 #7041の出力結果を最適化する
    • IndexJoin #7019の外側のテーブルの選択戦略を最適化する
    • PREPAREステートメント#7040の Plan Cache を削除します
    • INSERTステートメントが解析されず、正しく実行されない場合がある問題を修正します#7068
    • IndexJoin結果が正しくない場合がある問題を修正#7150
    • 場合によっては一意のインデックスを使用してNULLの値が見つからない問題を修正します#7163
    • UTF-8 #7194のプレフィックス インデックスの範囲計算の問題を修正します。
    • 場合によってはProject演算子を削除すると、結果が正しくない問題を修正します#7257
    • 主キーが整数#7316の場合、 USE INDEX(PRIMARY)が使えない問題を修正
    • 場合によっては、相関列を使用してインデックス範囲を計算できない問題を修正します#7357
  • SQL 実行エンジン
    • サマータイムが正しく計算されない場合がある問題を修正#6823
    • 集計関数フレームワークをリファクタリングして、 StreamおよびHash集計演算子の実行効率を改善する#6852
    • Hash集約演算子が場合によっては正常に終了できない問題を修正#6982
    • BIT_AND / BIT_OR / BIT_XORが非整数データを正しく処理しない問題を修正#6994
    • REPLACE INTOステートメントの実行速度を最適化し、パフォーマンスを 10 倍近く向上させます#7027
    • 時間型データのメモリ使用量を最適化し、時間型データのメモリ使用量を 50% 削減します#7043
    • 返される結果がUNIONステートメントで符号付き整数と符号なし整数が混在する問題を修正します。MySQL #7112とは互換性がありません。
    • LPAD / RPAD / TO_BASE64 / FROM_BASE64 / REPEAT #7171 #7266 #7409 #7431によって適用されるメモリが多すぎるために発生するpanicの問題を修正します。
    • MergeJoin / IndexJoinNULLの値#7255を処理するときの誤った結果を修正します。
    • 場合によってはOuter Joinの誤った結果を修正します#7288
    • Data Truncatedのエラー メッセージを改善して、間違ったデータとテーブル内の対応するフィールドを見つけやすくします#7401
    • 場合によってはdecimalの誤った結果を修正します#7001 #7113 #7202 #7208
    • ポイント セレクトのパフォーマンスを最適化する#6937
    • 根本的な問題を回避するために分離レベルRead Committedを禁止する#7211
    • 場合によってはLTRIM / RTRIM / TRIMの間違った結果を修正#7291
    • 返される結果が 1 行を超えないことをMaxOneRow演算子が保証できない問題を修正し#7375
    • 範囲が多すぎるコプロセッサー要求を分割します#7454
  • 統計
    • 統計の動的収集のメカニズムを最適化する#6796
    • Auto Analyzeデータ更新頻度が高いと動作しない問題を修正#7022
    • 統計の動的更新プロセス中の書き込み競合を減らします#7124
    • 統計が正しくない場合のコスト見積もりの最適化#7175
    • AccessPathコスト見積もり戦略を最適化する#7233
  • サーバ
    • 特典情報読み込み時の不具合修正#6976
    • Killコマンドが権限チェックで厳しすぎる問題を修正#6954
    • 一部のバイナリ数値型を削除する問題を修正します#6922
    • 出力ログを短くする#7029
    • mismatchClusterID問題#7053を処理する
    • advertise-address構成アイテム#7078を追加
    • GrpcKeepAliveオプション#7100を追加
    • 接続またはToken時間モニター#7110を追加します。
    • データのデコード パフォーマンスを最適化する#7149
    • INFORMMATION_SCHEMA #7236PROCESSLISTテーブルを追加
    • 権限の検証で複数のルールがヒットした場合の順序の問題を修正します#7211
    • エンコーディング関連のシステム変数の一部のデフォルト値を UTF-8 に変更#7198
    • スロー クエリ ログにより詳細な情報を表示する#7302
    • tidb-server 関連情報の PD への登録と HTTP API による取得をサポート#7082
  • 互換性
    • セッション変数warning_countおよびerror_count #6945をサポート
    • システム変数の読み取り時にチェックをScope追加#6958
    • MAX_EXECUTION_TIME構文#7012をサポート
    • SET構文#7020のより多くのステートメントをサポート
    • システム変数の設定時に有効性チェックを追加#7117
    • Prepareステートメント#7162PlaceHolderの数の検証を追加します。
    • サポートset character_set_results = null #7353
    • flush status構文#7369をサポート
    • information_schema #7347SET型とENUM型の列サイズを固定
    • テーブルを作成するステートメントのNATIONAL CHARACTERの構文をサポートします#7378
    • LOAD DATAステートメント#7391CHARACTER SET構文をサポート
    • SET型とENUM型の列情報を修正#7417
    • CREATE USERステートメント#7402IDENTIFIED WITH構文をサポート
    • TIMESTAMP計算プロセス中に精度が失われる問題を修正#7418
    • より多くの変数の妥当性検証をサポートSYSTEM #7196
    • CHAR_LENGTH関数がバイナリ文字列#7410を計算するときの誤った結果を修正します。
    • GROUP BY #7448を含むステートメントの誤ったCONCATの結果を修正します
    • DECIMAL型をSTRING#7451にキャストするときの不正確な型の長さの問題を修正
  • DML
    • Load Data#6927の安定性の問題を修正
    • 一部の操作を実行するときのメモリ使用量の問題を修正しますBatch #7086
    • Replace Intoステートメント#7027のパフォーマンスを改善する
    • CURRENT_TIMESTAMP #7355を書き込むときの精度の不一致の問題を修正
  • DDL
    • 場合によっては誤判定を避けるために、 Schemaが複製されているかどうかの DDL 判定方法を改善します#7319
    • インデックス処理#6993の追加でSHOW CREATE TABLEの結果を修正
    • 非制限sql-mode #7230text / blob / jsonのデフォルト値を NULL にすることを許可する
    • 場合によってはADD INDEXの問題を修正します#7142
    • UNIQUE-KEYインデックス操作の追加速度を大幅に向上#7132
    • UTF-8 文字セット#7109のプレフィックス インデックスの切り捨ての問題を修正します。
    • 環境変数tidb_ddl_reorg_priorityを追加して、 add-index操作の優先順位を制御します#7116
    • information_schema.tables #7037分のAUTO-INCREMENTの表示の問題を修正
    • admin show ddl jobs <number>コマンドをサポートし、指定された数の DDL ジョブの出力をサポートします#7028
    • 並列 DDL ジョブ実行のサポート#6955
  • テーブル パーティション (実験的)
    • 最上位パーティションをサポート
    • サポートRange Partition

PD

  • 特徴
    • バージョン管理メカニズムを導入し、互換性のあるクラスターのローリング アップデートをサポートします。
    • region merge機能を有効にする
    • GetPrevRegionのインターフェースをサポート
    • バッチでのリージョンの分割をサポート
    • GCセーフポイントの保存をサポート
  • 改良点
    • TSO 割り当てがシステム クロックの逆行の影響を受ける問題を最適化します。
    • リージョンのハートビート処理のパフォーマンスを最適化する
    • リージョンツリーのパフォーマンスを最適化する
    • ホットスポット統計の計算パフォーマンスを最適化する
    • APIインターフェースのエラーコードを返す最適化
    • スケジューリング戦略を制御するオプションを追加
    • labelで特殊文字の使用を禁止する
    • スケジューリング シミュレーターの改善
    • pd-ctl の統計を使用したリージョンの分割をサポート
    • pd-ctl でjqを呼び出すことにより、JSON 出力の書式設定をサポートします
    • etcd Raftステート マシンに関するメトリクスを追加する
  • バグの修正
    • リーダーの切り替え後にネームスペースがリロードされない問題を修正
    • 名前空間のスケジュールがスケジュールの制限を超える問題を修正します
    • ホットスポットのスケジュールがスケジュールの制限を超える問題を修正
    • PD クライアントの終了時に誤ったログが出力される問題を修正
    • リージョンハートビートレイテンシーの誤った統計を修正する

TiKV

  • 特徴
    • ホット リージョンでの書き込み操作によって発生する大きすぎるリージョンを避けるためにbatch splitをサポートします。
    • 行数に基づいたリージョンの分割をサポートして、インデックス スキャンの効率を向上させます
  • パフォーマンス
    • LocalReaderを使用して、raftstore スレッドから読み取り操作を分離し、読み取りレイテンシーを下げます。
    • MVCC フレームワークをリファクタリングし、メモリ使用量を最適化し、スキャン読み取りパフォーマンスを向上させます
    • I/O 使用量を削減するために、統計の推定に基づいてリージョンを分割することをサポートします
    • ロールバック レコードに対する連続書き込み操作によって読み取りパフォーマンスが影響を受ける問題を最適化します。
    • プッシュダウン集計計算のメモリ使用量を削減する
  • 改良点
    • 多数の組み込み関数のプッシュダウン サポートとより優れた文字セット サポートを追加します。
    • GC ワークフローを最適化し、GC 速度を向上させ、GC がシステムに与える影響を軽減します。
    • prevoteを有効にすると、ネットワークが異常な場合にサービスの回復が高速化されます
    • 関連する RocksDB ログ ファイルの構成項目を追加します。
    • scheduler_latchのデフォルト構成を調整します
    • tikv-ctl を使用してデータを手動で圧縮する場合に、RocksDB の最レイヤーのデータを圧縮するかどうかの設定をサポートします
    • TiKV起動時の環境変数チェックを追加
    • 既存のデータに基づいてdynamic_level_bytesつのパラメーターを動的に構成するサポート
    • ログ形式のカスタマイズをサポート
    • tikv-ctl に tikv-fail を統合する
    • スレッドの I/O メトリックを追加する
  • バグの修正
    • 小数関連の問題を修正
    • gRPC max_send_message_lenが誤って設定される問題を修正
    • region_sizeの設定ミスによる問題を修正
エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.