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

TiDB 3.0.0-rc.1 リリースノート



リリース日:2019年5月10日

TiDB バージョン: 3.0.0-rc.1

TiDB Ansible バージョン: 3.0.0-rc.1

概要

2019年5月10日にTiDB 3.0.0-rc.1がリリースされました。対応するTiDB Ansibleバージョンは3.0.0-rc.1です。このリリースでは、TiDB 3.0.0-beta.1と比較して、安定性、使いやすさ、機能、SQLオプティマイザ、統計、実行エンジンが大幅に改善されています。

TiDB

  • SQLオプティマイザ

    • 列間の順序相関を使用してコスト見積りの精度を向上させます。相関を見積りに直接使用できない場合に、インデックススキャンの優先順位を制御するヒューリスティックパラメータtidb_opt_correlation_exp_factorを導入します#9839
    • フィルタに関連する列がある場合、複合インデックスのアクセス条件を抽出するときに、インデックスのプレフィックス列をさらに一致させます。 #10053
    • 結合に含まれるテーブルの数がtidb_opt_join_reorder_threshold未満の場合に、結合操作の実行順序を指定するには、動的計画法アルゴリズムを使用します#8816
    • アクセス条件として複合インデックスを使用する場合、インデックス結合を構築する内部テーブル内のインデックスのプレフィックス列をさらに一致させる#8471
    • NULL値を持つ単一列インデックスの行数推定の精度を向上#9474
    • 論理最適化フェーズで集計関数を削除するときに、誤った実行を防ぐためにGROUP_CONCAT特別に処理します#9967
    • フィルタが定数の場合、結合オペレーターの子ノードにフィルタを適切にプッシュダウンします。 #9848
    • MySQL との非互換性を防ぐために、論理最適化フェーズで列をプルーニングするときにRAND()などのいくつかの関数を特別に処理します。 #10064
    • FAST ANALYZEサポートします。これは、領域全体をスキャンするのではなく、領域をサンプリングすることで統計収集を高速化します。この機能は変数tidb_enable_fast_analyzeによって制御されます#10258
    • SQL文の実行計画のバインドを実行することで実行の安定性を確保するSQL計画管理をサポートします。この機能は現在ベータ版であり、SELECT文のバインド実行計画のみをサポートします。本番環境での使用は推奨されません#10284
  • 実行エンジン

    • 3つの演算子TableReader IndexLookupReader メモリ使用量の追跡と制御をサポートしますIndexReader #10003
    • コプロセッサのタスク数、実行時間/待機時間の平均/最長/90%、実行時間または待機時間が最も長い TiKV のアドレスなど、スローログ内のコプロセッサタスクに関する詳細情報の表示をサポートします#10165
    • プレースホルダなしの準備済みDDL文をサポートする#10144
  • サーバ

    • TiDB の起動時にのみ DDL 所有者にブートストラップの実行を許可する#10029
    • トランザクション分離レベルをSERIALIZABLE に設定するときにTiDBがエラーを報告しないようにするために、変数tidb_skip_isolation_level_checkを追加します。 #10065
    • 暗黙的なコミット時間とSQL実行時間をスローログにマージする #10294
      • SQL ロールのサポート (RBAC権限管理)
      • SHOW GRANTをサポート #10016
      • SET DEFAULT ROLEをサポート #9949
    • GRANT ROLEをサポート #9721
    • TiDB を終了させるwhitelistプラグインのConnectionEventエラーを修正します#9889
    • トランザクション履歴に読み取り専用ステートメントを誤って追加する問題を修正#9723
    • kill文を改善して SQL 実行を停止し、リソースをより早く解放する#9844
    • 設定ファイルの有効性をチェックするための起動オプションconfig-checkを追加する #9855
    • 厳密なSQLモードが無効になっている場合にNULLフィールドを挿入する際の妥当性チェックを修正#10161
  • DDL

    • CREATE TABLE文にpre_split_regionsオプションを追加します。このオプションは、テーブルの作成時にテーブルリージョンを事前に分割して、テーブルの作成後に大量の書き込みによって発生する書き込みホットスポットを回避することをサポートします#10138
    • 一部のDDL文の実行パフォーマンスを最適化する#10170
    • FULLTEXT KEY ではフルテキストインデックスがサポートされていないという警告を追加します #9821
    • TiDB の古いバージョンにおける UTF8 および UTF8MB4 文字セットの互換性の問題を修正しました #9820
    • 表のshard_row_id_bitsの潜在的なバグを修正 #9868
    • テーブルの文字セットを変更しても列の文字セットが変更されないバグを修正#9790
    • 列のデフォルト値としてBINARY / BITを使用する場合のSHOW COLUMNの潜在的なバグを修正#9897
    • SHOW FULL COLUMNS文でCHARSET COLLATION説明を表示する際の互換性の問題を修正 #10007
    • SHOW COLLATIONS文が TiDB でサポートされている照合順序のみをリストする問題を修正しました #10186

PD

  • ETCD アップグレード #1452
    • etcdとPDサーバーのログ形式を統一する
    • 事前投票でLeaderを選出できない問題を修正
    • 後続のリクエストをブロックしないように、失敗する可能性のある"propose"および"read"リクエストを迅速にドロップすることをサポートします。
    • リースのデッドロック問題を修正
  • ホットストアがキーの統計情報を正しく生成しない問題を修正 #1487
  • 単一のPDノードからPDクラスターを強制的に再構築するサポート #1485
  • regionScattererが無効なOperatorStep を生成する可能性がある問題を修正 #1482
  • MergeRegionオペレーターの短すぎるタイムアウト問題を修正 #1495
  • ホットリージョンのスケジュールに高い優先度を与えるサポート#1492
  • PDサーバー側でTSOリクエストの処理時間を記録するためのメトリックを追加します #1502
  • 対応するストアIDとアドレスをストア関連の指標に追加します。 #1506
  • GetOperatorサービスサポートする #1477
  • ストアが見つからないため、ハートビートストリームでエラーを送信できない問題を修正しました#1521

TiKV

  • エンジン

    • 読み取りトラフィックの統計情報が不正確になる可能性がある問題を修正#4436
    • 範囲を削除するときにプレフィックス抽出プログラムがpanicを起こす可能性がある問題を修正しました #4503
    • メモリ管理を最適化してメモリ割り当てとコピーを削減Iterator Key Bound Option #4537
    • ラーナーのログギャップを考慮しないと、場合によってはpanicが発生する可能性がある問題を修正しました#4559
    • 異なるcolumn families 間でのblock cache共有をサポート #4612
  • サーバ

    • コンテキストスイッチのオーバーヘッドをbatch commands 削減 #4473
    • シークイテレータステータスの有効性をチェックする #4470
  • ラフトストア

    • 構成可能なproperties index distance をサポート #4517
  • コプロセッサー

    • バッチインデックススキャンエグゼキュータを追加 #4419
    • ベクトル化評価フレームワークを追加 #4322
    • バッチエグゼキュータ実行サマリーフレームワークの追加 #4433
    • RPN式を構築するときに最大列をチェックして、評価panicを引き起こす可能性のある無効な列オフセットを回避します。 #4481
    • BatchLimitExecutor を加える #4469
    • ReadPoolの元のfutures-cpupooltokio-threadpoolに置き換えてコンテキストスイッチを減らす #4486
    • バッチ集計フレームワークを追加 #4533
    • BatchSelectionExecutor を加える #4562
    • バッチ攻撃機能の追加AVG #4570
    • RPN関数LogicalAnd を追加 #4575
  • その他

    • メモリアロケータとしてのサポートtcmalloc #4370

ツール

  • TiDB Binlog

    • unsigned int 型の主キー列のbinlogデータが負の場合にレプリケーションが中止される問題を修正しました。 #573
    • ダウンストリームがpbの場合は圧縮オプションを提供しません。ダウンストリーム名をpbからfileに変更します#559
    • Pumpにローカルストレージへの非同期フラッシュを許可するstorage.sync-log設定項目を追加する #509
    • PumpとDrainer間の通信のトラフィック圧縮をサポート #495
    • 異なるSQLモードでのDDLクエリの解析をサポートするために、 Drainerにsyncer.sql-mode設定項目を追加します。 #511
    • レプリケーションを必要としないテーブルを除外するための設定項目をsyncer.ignore-table追加します#520
  • Lightning

    • 行IDまたはデフォルトの列値を使用して、ダンプファイルで欠落した列データを入力します。 #170
    • SST の一部がインポートに失敗した場合でも、インポート成功が返される可能性があるインポーターのバグを修正しました#4566
    • SST を TiKV にアップロードする際のインポーターの速度制限をサポート #4412
    • 大きなテーブルに対するチェックサムと分析によるクラスターへの影響を軽減し、チェックサムと分析成功率を向上させるために、サイズによるテーブルインポートをサポートします。 #156
    • データソースファイルをTiDBのtypes.Datumとして直接解析し、KVエンコーダからの余分な解析オーバーヘッドを削減することで、LightningのSQLエンコードパフォーマンスを50%向上しました。 #145
    • ログ形式を統合ログ形式 に変更 #162
    • 設定ファイルが見つからない場合に使用するコマンドラインオプションをいくつか追加します#157
  • sync-diff-inspector

    • チェックポイントをサポートし、検証ステータスを記録し、再起動後に最後に保存したポイントから検証を続行します#224
    • チェックサムを計算してデータの整合性をチェックするための設定項目only-use-checksumを追加します #215

TiDB Ansible

  • より多くの TiKV 監視パネルをサポートし、Ansible、Grafana、Prometheus のバージョンを更新しました。 #727
    • クラスターのステータスを表示するサマリーダッシュボード
    • 問題のトラブルシューティングのためのトラブルシューティングダッシュボード
    • 開発者が問題を分析するための詳細ダッシュボード
  • Kafka バージョンの TiDB Binlogのダウンロードに失敗するバグを修正しました #730
  • CentOS 7.0以降、Red Hat 7.0以降などのサポート対象オペレーティングシステムのバージョン制限を変更します#733
  • ローリングアップデート中のバージョン検出モードをマルチ同時実行に変更 #736
  • README のドキュメントリンクを更新 #740
  • 冗長な TiKV 監視メトリックを削除し、トラブルシューティング用の新しいメトリックを追加します#735
  • table-regions.pyスクリプトを最適化して、表のリーダー分布を表示する #739
  • Drainer の設定ファイルを更新します #745
  • SQL カテゴリ別にレイテンシーを表示する新しいパネルで TiDB モニタリングを最適化#747
  • Lightning設定ファイルを更新し、 tidb_lightning_ctlスクリプト#1e946f8を追加します。

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