TiDB 2.1 RC1 リリースノート

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

TiDB

  • 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
    • 集計関数フレームワークをリファクタリングして、 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
    • 根本的な問題#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 サーバー関連情報の登録と HTTP API #7082によるこの情報の取得のサポート
  • 互換性
    • セッション変数warning_countおよびerror_countをサポート#6945
    • システム変数を読み取るときのチェックをScope追加#6958
    • MAX_EXECUTION_TIME構文#7012をサポートします。
    • SET構文#7020のより多くのステートメントをサポートします。
    • システム変数設定時の有効性チェックを追加#7117
    • PrepareステートメントにPlaceHolderの数の検証を追加します#7162
    • サポートset character_set_results = null #7353
    • flush status構文#7369をサポートします。
    • information_schema #7347SETENUM型の列サイズを修正
    • テーブルを作成するためのステートメントのNATIONAL CHARACTER構文のサポート#7378
    • LOAD DATAステートメントでCHARACTER SET構文をサポートします#7391
    • SET型とENUM型の列情報を修正#7417
    • CREATE USERステートメントでIDENTIFIED WITH構文をサポートします#7402
    • 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
    • 場合によっては誤判定を避けるため、DDL でSchemaが複製されているかどうかを判定する方法を改善しました#7319
    • インデックス追加処理#6993の結果SHOW CREATE TABLEを修正
    • 非制限sql-mode #7230では、デフォルト値text / 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クライアント終了時に誤ったログが出力される問題を修正
    • リージョンのハートビートレイテンシーの誤った統計を修正

TiKV

  • 特徴
    • ホット リージョンでの書き込み操作によって発生する大きすぎるリージョンを回避するためのサポート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の構成ミスによって引き起こされる問題を修正する

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

Playground
新規
登録なしで TiDB の機能をワンストップでインタラクティブに体験できます。
製品
TiDB Cloud
TiDB
価格
PoC お問い合わせ
エコシステム
TiKV
TiFlash
OSS Insight
© 2024 PingCAP. All Rights Reserved.
Privacy Policy.