TiDB 3.0 ベータ版リリースノート

2019 年 1 月 19 日に、TiDB 3.0 ベータ版がリリースされました。対応する TiDB Ansible 3.0 Beta もリリースされています。 TiDB 3.0 ベータ版は、安定性、SQL オプティマイザー、統計、実行エンジンに重点を置いて TiDB 2.1 をベースに構築されています。

TiDB

  • 新機能
    • サポートビュー
    • サポートウィンドウの機能
    • 範囲分割のサポート
    • ハッシュパーティショニングのサポート
  • SQLオプティマイザー
    • AggregationElimination #7676の最適化ルールを再サポートします。
    • NOT EXISTSサブクエリを最適化し、Anti Semi Join #7842に変換します。
    • 新しい Cascades オプティマイザーをサポートするには、 tidb_enable_cascades_planner変数を追加します。現在、カスケード オプティマイザーはまだ完全には実装されておらず、デフォルトではオフになっています#7879
    • トランザクションでのインデックス結合の使用のサポート#7877
    • 外部結合での定数伝播を最適化することで、結合結果の外部テーブルに関連するフィルター条件を外部結合を通じて外部テーブルにプッシュダウンできるようになり、外部結合の無駄な計算が削減され、実行パフォーマンスが向上します#7794
    • 冗長なProject演算子#7909を避けるために、射影消去の最適化ルールを集計消去後の位置に調整します。
    • IFNULL関数を最適化し、入力パラメータが非 NULL 属性を持つ場合はこの関数を削除します#7924
    • _tidb_rowid構築クエリのサポート範囲。テーブル全体のスキャンを回避し、クラスターのストレスを軽減します。 #8047
    • 集計後に内部結合を実行するようにINサブクエリを最適化し、この最適化ルールを有効にしてデフォルトで開くかどうかを制御するtidb_opt_insubq_to_join_and_agg変数を追加します#7531
    • DOステートメントでのサブクエリの使用のサポート#8343
    • 外部結合除去の最適化ルールを追加して、不要なテーブル スキャンと結合操作を削減し、実行パフォーマンスを向上させます#8021
    • TIDB_INLJオプティマイザーのヒント動作を変更すると、オプティマイザーはヒントで指定されたテーブルをインデックス結合#8243内部テーブルとして使用します。
    • Prepareステートメントの実行プラン キャッシュが有効になるときに使用できるように、 PointGet広範囲で使用します#8108
    • 貪欲Join Reorderアルゴリズムを導入して、複数のテーブルを結合する際の結合順序の選択を最適化します#8394
    • サポートビュー#8757
    • サポート窓口機能#8630
    • TIDB_INLJが有効でない場合にクライアントに警告を返し、使いやすさを向上させます#9037
    • フィルタリング条件とテーブル統計に基づいてフィルタリングされたデータの統計を推定するサポート#7921
    • Range Partition #8885のPartition Pruning最適化ルールを改善
  • SQLエグゼキュータ
    • 空のON条件をサポートするようにMerge Join演算子を最適化します#9037
    • ログを最適化し、ステートメントEXECUTEの実行時に使用されたユーザー変数を出力します#7684
    • COMMITステートメント#7951の遅いクエリ情報を出力するようにログを最適化します。
    • SQL チューニング プロセスを容易にするEXPLAIN ANALYZE機能のサポート#7827
    • 多くの列を含む幅の広いテーブルの書き込みパフォーマンスを最適化する#7935
    • サポートadmin show next_row_id #8242
    • tidb_init_chunk_size変数を追加して、実行エンジンによって使用される初期Chunkのサイズを制御します#8480
    • shard_row_id_bitsを改善し、自動インクリメント ID をクロスチェックする#8936
  • Prepareステートメント
    • Prepare異なるユーザー変数が入力された場合にクエリ プランが正しいことを保証するために、サブクエリを含むステートメントをクエリ プラン キャッシュに追加することを禁止します#8064
    • クエリ プラン キャッシュを最適化して、ステートメントに非決定的関数が含まれる場合でもプランをキャッシュできるようにします#8105
    • クエリ プラン キャッシュを最適化して、 DELETE / UPDATE / INSERTのクエリ プランをキャッシュできるようにします#8107
    • クエリ プラン キャッシュを最適化して、 DEALLOCATEステートメント#8332の実行時に対応するプランを削除します。
    • メモリ使用量を制限することで、クエリ プラン キャッシュを最適化し、キャッシュするプランが多すぎることによって発生する TiDB OOM 問題を回避します#8339
    • Prepareステートメントを最適化して、 ORDER BY / GROUP BY / LIMIT句の?プレースホルダーの使用をサポートします#8206
  • 権限管理
    • ANALYZEステートメント#8486に権限チェックを追加します。
    • USEステートメント#8414に権限チェックを追加します。
    • SET GLOBALステートメント#8837に権限チェックを追加します。
    • SHOW PROCESSLISTステートメント#7858に権限チェックを追加します。
  • サーバ
    • Trace機能#9029をサポート
    • プラグインフレームワーク#8788のサポート
    • unix_socketと TCP を同時に使用してデータベース#8836に接続することをサポートします。
    • interactive_timeoutシステム変数をサポートします#8573
    • wait_timeoutシステム変数をサポートします#8346
    • tidb_batch_commit変数#8293を使用したステートメントの数に基づいてトランザクションを複数のトランザクションに分割することをサポートします。
    • ADMIN SHOW SLOWステートメントを使用した遅いログのチェックをサポート#7785
  • 互換性
    • ALLOW_INVALID_DATES SQL モードをサポート#9027
    • LoadData CSV ファイルの耐障害性の向上#9005
    • MySQL 320 ハンドシェイク プロトコルのサポート#8812
    • 符号なしbigint列を自動インクリメント列#8181として使用するサポート
    • SHOW CREATE DATABASE IF NOT EXISTS構文#8926をサポートします。
    • ユーザー変数を使用してウィンドウ関数の動作を模擬する MySQL の動作との互換性を向上させるために、フィルタリング条件にユーザー変数が含まれる場合、述語プッシュダウン操作を放棄します#8412
  • DDL
    • 誤って削除されたテーブルの高速リカバリをサポート#7937
    • ADD INDEXの同時実行数の動的調整をサポート#8295
    • テーブルまたは列の文字セットのutf8 / utf8mb4 #8037への変更をサポート
    • デフォルトの文字セットをutf8からutf8mb4に変更します#7965
    • サポート範囲パーティション#8011

ツール

  • TiDB Lightning
    • SQL ステートメントから KV ペアへの変換が大幅に高速化#110
    • インポートのパフォーマンスと安定性を向上させるために、単一テーブルのバッチ インポートをサポートします#113

PD

  • リージョンメタデータを個別に保存するにはRegionStorageを追加します#1237
  • シャッフル ホットリージョンスケジューラ#1361を追加
  • スケジューリングパラメータ関連のメトリクスを追加#1406
  • クラスターラベル関連メトリックの追加#1402
  • インポートデータシミュレータ#1263の追加
  • リーダー選出#1396に関するWatch問題を修正

TiKV

  • 分散 GC #3179をサポート
  • Write Stall #3606を回避するには、スナップショットを適用する前に RocksDB レベル 0 ファイルを確認してください。
  • raw_scanおよびraw_batch_scanをサポート#3742
  • HTTP を使用した監視情報の取得のサポート#3855
  • DST のサポートの改善#3786
  • バッチ#3931でのRaftメッセージの送受信のサポート
  • 新しいstorageエンジン Titan #3985を導入
  • gRPC を v1.17.2 にアップグレードする#4023
  • バッチ#4043でのクライアント要求の受信と応答の送信をサポート
  • マルチスレッド適用#4044サポート
  • マルチスレッドRaftstore #4066をサポート

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

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