📣
TiDB Cloud Premium はパブリックプレビュー中です。エンタープライズワークロード向けの無制限のスケーリング、即時の弾力性、高度なセキュリティを提供します。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDB 2.1 GA リリースノート



2018年11月30日にTiDB 2.1 GAがリリースされました。このリリースでは、以下の更新内容をご確認ください。TiDB 2.0と比較して、このリリースでは安定性、パフォーマンス、互換性、そして使いやすさが大幅に向上しています。

TiDB

  • SQLオプティマイザ

    • 実行パフォーマンスを向上させるために、選択範囲Index Joinを最適化します。

    • Index Joinの外部テーブルの選択を最適化し、行数の推定値がより小さいテーブルを外部テーブルとして使用します。

    • 適切なインデックスがなくてもマージ結合を使用できるように結合ヒントTIDB_SMJを最適化します。

    • 結合ヒントTIDB_INLJを最適化して、結合する内部テーブルを指定します。

    • 相関サブクエリを最適化し、フィルタをプッシュダウン、インデックスの選択範囲を拡張することで、一部のクエリの効率が桁違いに向上します。

    • UPDATEDELETEのステートメントでインデックスヒントと結合ヒントの使用をサポートします

    • より多くの関数のプッシュダウンをサポート: ABS / CEIL / FLOOR / IS TRUE / IS FALSE

    • 組み込み関数IFIFNULL定数畳み込みアルゴリズムを最適化する

    • EXPLAIN文の出力を最適化し、階層構造を使用してオペレーター間の関係を表示します。

  • SQLエグゼキューター

    • すべての集計関数をリファクタリングし、 StreamHash集計オペレーターの実行効率を改善します。

    • 並列Hash Aggregateオペレーターを実装し、いくつかのシナリオで計算パフォーマンスを350%向上させます。

    • 並列Projectオペレーターを実装し、いくつかのシナリオでパフォーマンスを74%向上させます。

    • 実行パフォーマンスを向上させるために、 Hash Joinの内部テーブルと外部テーブルのデータを同時に読み取ります。

    • REPLACE INTO文の実行速度を最適化し、パフォーマンスを約10倍向上

    • 時間データ型のメモリ使用量を最適化し、時間データ型のメモリ使用量を 50% 削減します。

    • ポイント選択のパフォーマンスを最適化し、Sysbench のポイント選択効率の結果を 60% 向上します。

    • ワイドテーブルの挿入や更新における TiDB のパフォーマンスを 20 倍向上

    • 設定ファイル内の単一ステートメントのメモリ上限の設定をサポート

    • ハッシュ結合の実行を最適化します。結合タイプが内部結合またはセミ結合で、内部テーブルが空の場合、外部テーブルからデータを読み取らずに結果を返します。

    • EXPLAIN ANALYZEを使用して、各オペレーターの実行時間と返された行数を含む実行時統計をチェックすることをサポートします。

  • 統計

    • 一日の特定の時間帯のみに自動分析統計を有効にすることをサポート

    • クエリのフィードバックに応じてテーブル統計を自動的に更新する機能をサポート

    • ANALYZE TABLE WITH BUCKETSステートメントを使用してヒストグラム内のバケットの数を設定できるようになりました

    • 等価クエリと範囲クエリの混合クエリのヒストグラムを使用して行数推定アルゴリズムを最適化します

  • 表現

    • 次の組み込み関数をサポートします:

      • json_contains

      • json_contains_path

      • encode/decode

  • サーバ

  • DDL

  • 互換性

    • より多くのMySQL構文をサポート

    • BITの集計関数がALLパラメータをサポートするようにする

    • SHOW PRIVILEGES文をサポートする

    • LOAD DATA文のCHARACTER SET構文をサポートする

    • CREATE USER文のIDENTIFIED WITH構文をサポートする

    • LOAD DATA IGNORE LINES文をサポートする

    • Show ProcessList文はより正確な情報を返す

Placement Driver(PD)

  • 可用性を最適化する

    • バージョン管理メカニズムを導入し、クラスタのローリングアップデートを互換性を持ってサポートする

    • ネットワーク分離後にネットワークが回復したときにリーダーの再選出を回避するためにPDノード間でRaft PreVoteを有効にする

    • スケジュール中にマシン障害によってデータが利用できなくなるリスクを軽減するために、デフォルトでraft learnerを有効にします。

    • TSO 割り当てはシステムクロックの逆戻りの影響を受けなくなりました。

    • メタデータによってもたらされるオーバーヘッドを削減するRegion merge機能をサポートする

  • スケジューラを最適化する

    • ダウンストアの処理を最適化してレプリカの作成を高速化します

    • ホットスポットスケジューラを最適化し、トラフィック統計情報の変動時の適応性を向上させる

    • PDの再起動による不要なスケジュールを削減するためにコーディネーターの起動を最適化します。

    • Balance Scheduler が小さなリージョンを頻繁にスケジュールする問題を最適化します。

    • リージョン内の行数を考慮してリージョンのマージを最適化します

    • スケジュールポリシーを制御するためのコマンドを追加する

    • スケジューリングシナリオをシミュレートするためにPDシミュレータ改善

  • APIと操作ツール

    • TiDB reverse scan機能をサポートするにはGetPrevRegionインターフェースを追加します

    • BatchSplitRegionインターフェースを追加すると TiKVリージョン分割が高速化されます

    • TiDBで分散GCをサポートするにはGCSafePointインターフェースを追加します

    • TiDBで分散GCをサポートするには、 GetAllStoresインターフェースを追加します。

    • pd-ctl は以下をサポートします:

      - [リージョン分割の統計情報を使用する](/pd-control.md#operator-check--show--add--remove) - [`jq`を呼び出してJSON出力をフォーマットする](/pd-control.md#jq-formatted-json-output-usage) - [指定されたストアのリージョン情報を確認する](/pd-control.md#region-store-store_id) - [バージョン別にソートされた上位Nリージョンリストを確認する](/pd-control.md#region-topconfver-limit) - [規模順に並べられた上位Nリージョンリストを確認する](/pd-control.md#region-topsize-limit) - [より正確なTSOエンコーディング](/pd-control.md#tso)
    • pd-回復 max-replicaパラメータを提供する必要がない

  • メトリクス

    • Filterの関連指標を追加

    • etcd Raftステートマシンに関するメトリクスを追加する

  • パフォーマンス

    • リージョンハートビートのパフォーマンスを最適化し、ハートビートによって発生するメモリオーバーヘッドを削減します。

    • リージョンツリーのパフォーマンスを最適化

    • ホットスポット統計の計算パフォーマンスを最適化

TiKV

ツール

アップグレードの注意事項

  • TiDB 2.1は、新しいストレージエンジンの採用により、v2.0.x以前へのダウングレードをサポートしていません。
  • TiDB 2.1では並列DDLが有効になっているため、TiDBバージョン2.0.1より前のクラスタはローリングアップデートを使用して2.1にアップグレードできません。以下の2つのオプションのいずれかを選択できます。

    • クラスターを停止し、2.1に直接アップグレードします
    • 2.0.1 以降の 2.0.x バージョンにロール アップデートし、その後 2.1 バージョンにロール アップデートします。
  • TiDB 2.0.6 以前から TiDB 2.1 にアップグレードする場合は、実行中の DDL 操作、特に時間のかかるAdd Index操作がないか確認してください。DDL 操作はアップグレードプロセスを遅くするためです。実行中の DDL 操作がある場合は、DDL 操作が完了するまで待ってからロール更新を実行してください。

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