TiDB 2.1 GA リリースノート

2018 年 11 月 30 日に、TiDB 2.1 GA がリリースされました。このリリースの次の更新を参照してください。 TiDB 2.0 と比較すると、このリリースでは、安定性、パフォーマンス、互換性、および使いやすさが大幅に向上しています。

TiDB

  • SQL オプティマイザー

    • Index Joinの選択範囲を最適化して実行性能を向上

    • 外部表の選択をIndex Joinに最適化し、Row Count の推定値が小さい方の表を外部表として使用する

    • Join Hint TIDB_SMJを最適化して、適切なインデックスがなくても Merge Join を使用できるようにする

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

    • 相関サブクエリを最適化し、フィルターを押し下げ、インデックス選択範囲を拡張して、一部のクエリの効率を桁違いに改善します

    • UPDATEステートメントとDELETEステートメントでの Index Hint と Join Hint の使用のサポート

    • より多くの関数を押し下げるサポート: ABS / CEIL / FLOOR / IS TRUE / IS FALSE

    • 組み込み関数IFおよびIFNULLの定数畳み込みアルゴリズムを最適化する

    • EXPLAINステートメントの出力を最適化し、階層構造を使用して演算子間の関係を示す

  • SQL エグゼキュータ

    • すべての集計関数をリファクタリングし、 Stream番目とHash番目の集計演算子の実行効率を改善します

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

    • 並列Project演算子を実装すると、一部のシナリオでパフォーマンスが 74% 向上します

    • Hash Joinの内表と外表のデータを同時に読み込んで実行性能を向上させる

    • REPLACE INTOステートメントの実行速度を最適化し、パフォーマンスを10倍近く向上させます

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

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

    • 幅の広いテーブルを挿入または更新する際の TiDB のパフォーマンスを 20 倍改善

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

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

    • EXPLAIN ANALYZEステートメントを使用して実行時間と各演算子の返された行数を含むランタイム統計をチェックするサポート

  • 統計

    • 1 日の特定の期間のみ自動 ANALYZE 統計を有効にするサポート

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

    • ANALYZE TABLE WITH BUCKETSステートメントを使用したヒストグラム内のバケット数の構成をサポート

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

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

      • json_contains

      • json_contains_path

      • encode/decode

  • サーバ

    • 競合するトランザクションのパフォーマンスを最適化するために、tidb-server インスタンス内でローカルに競合するトランザクションのキューイングをサポート

    • サーバー側カーソルのサポート

    • HTTP APIを追加

      • TiKV クラスター内のテーブル リージョンの分布を分散させる

      • general logを開くかどうかを制御します

      • ログレベルのオンライン変更をサポート

      • TiDB クラスター情報を確認する

  • DDL

  • 互換性

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

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

    • SHOW PRIVILEGESステートメントをサポート

    • LOAD DATAステートメントでCHARACTER SET構文をサポートする

    • CREATE USERステートメントでIDENTIFIED WITH構文をサポートする

    • LOAD DATA IGNORE LINESステートメントをサポート

    • Show ProcessListステートメントはより正確な情報を返します

プレースメントDriver(PD)

TiKV

ツール

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

  • 新しいストレージ エンジンが採用されているため、TiDB 2.1 は v2.0.x 以前へのダウングレードをサポートしていません。
  • 並列 DDL は TiDB 2.1 で有効になっているため、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 操作が完了するまで待ってから、更新をロールします。
エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.