TiDB 2.1 RC1 リリースノート

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

ティビ

  • SQL オプティマイザー
    • 相関サブクエリが非相関化された後に間違った結果が返される場合がある問題を修正#6972
    • Explain #7011 #7041の出力結果を最適化する
    • IndexJoin #7019の外部テーブルの選択戦略を最適化する
    • PREPARE以外のステートメント#7040のプランキャッシュを削除します。
    • INSERT文が解析されず、場合によっては正しく実行されない問題を修正#7068
    • IndexJoin結果が場合によっては正しくない問題を修正#7150
    • 場合によってはユニークインデックスを使用してNULL値を見つけられない問題を修正しました#7163
    • UTF-8 #7194のプレフィックスインデックスの範囲計算の問題を修正
    • 場合によってはProject演算子を削除することで結果が正しくなくなる問題を修正#7257
    • 主キーが整数#7316場合にUSE INDEX(PRIMARY)使用できない問題を修正
    • 相関列を使用してインデックス範囲を計算できない場合がある問題を修正#7357
  • SQL実行エンジン
    • 夏時間が正しく計算されない場合がある問題を修正#6823
    • 集計関数フレームワークをリファクタリングして、集計演算子StreamHashの実行効率を向上させる#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 IndexJoin NULL#7255処理するときの誤った結果を修正
    • Outer Joinの誤った結果がいくつかのケースで発生する問題を修正#7288
    • Data Truncatedのエラー メッセージを改善して、間違ったデータとテーブル#7401内の対応するフィールドを見つけやすくします。
    • いくつかのケースでdecimalの誤った結果を修正#7001 #7113 #7202 #7208
    • ポイント選択パフォーマンスを最適化する#6937
    • 根本的な問題#7211を回避するために分離レベルRead Committedを禁止する
    • いくつかのケースでLTRIM / RTRIM / TRIMの誤った結果を修正#7291
    • MaxOneRow演算子が返される結果が 1 行を超えないことを保証できない問題を修正しました#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
    • PD に tidb-server 関連情報を登録し、HTTP API #7082でこの情報を取得することをサポート
  • 互換性
    • セッション変数warning_counterror_count #6945をサポート
    • システム変数#6958読み取り時にチェックをScope追加
    • MAX_EXECUTION_TIME構文#7012サポートする
    • SET構文#7020のより多くのステートメントをサポートする
    • システム変数#7117設定するときに有効性チェックを追加する
    • Prepare#7162PlaceHolderの数の検証を追加する
    • サポートset character_set_results = null #7353
    • flush status構文#7369サポートする
    • information_schema #7347SETENUMの列サイズを修正
    • テーブル#7378を作成するためのステートメントのNATIONAL CHARACTER構文をサポートします
    • LOAD DATA#7391CHARACTER SET構文をサポートする
    • SETENUMタイプの列情報を修正#7417
    • CREATE USER#7402IDENTIFIED WITH構文をサポートする
    • TIMESTAMP計算プロセス#7418中に精度が失われる問題を修正
    • SYSTEM以上の変数の妥当性検証をサポート#7196
    • CHAR_LENGTH関数がバイナリ文字列#7410を計算するときの誤った結果を修正
    • GROUP BY #7448を含む文の誤った結果CONCAT修正します。
    • DECIMAL型をSTRING型にキャストする際の不正確な型長の問題を修正#7451
  • DMML の
    • Load Data#6927の安定性の問題を修正
    • いくつBatchの操作を実行する際のメモリ使用量の問題を修正#7086
    • Replace Into#7027のパフォーマンスを向上させる
    • CURRENT_TIMESTAMP #7355書き込む際の一貫性のない精度の問題を修正
  • DDL
    • Schemaが複製されているかどうかをDDLで判断する方法を改善し、場合によっては誤判断を回避する#7319
    • インデックス追加プロセス#6993SHOW 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 #7037AUTO-INCREMENTの表示問題を修正
    • admin show ddl jobs <number>コマンドをサポートし、指定された数のDDLジョブ#7028の出力をサポートします。
    • 並列DDLジョブ実行をサポート#6955
  • テーブルパーティション (Experimental)
    • トップレベルのパーティションをサポート
    • サポートRange Partition

PD

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

ティクヴ

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

このページは役に立ちましたか?