📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDB 2.0 リリースノート



2018 年 4 月 27 日に、TiDB 2.0 GA がリリースされました。TiDB 1.0 と比較して、このリリースでは、MySQL 互換性、SQL オプティマイザー、エグゼキューター、安定性が大幅に向上しています。

TiDB

  • SQLオプティマイザー
    • よりコンパクトなデータ構造を使用して、統計情報のメモリ使用量を削減します。
    • tidb-server プロセスを起動するときに統計情報の読み込みを高速化します
    • 統計情報の動的な更新をサポート [実験的]
    • コストモデルを最適化して、より正確なクエリコスト評価を提供します
    • Count-Min Sketch使用すると、ポイントクエリのコストをより正確に見積もることができます。
    • インデックスを最大限に活用するために、より複雑な条件の分析をサポート
    • STRAIGHT_JOIN構文を使用してJoin順序を手動で指定することをサポートします
    • GROUP BY句が空の場合は、パフォーマンスを向上させるためにストリーム集計演算子を使用します。
    • MAX/MIN関数のインデックスの使用をサポート
    • 相関サブクエリの処理アルゴリズムを最適化し、より多くの種類の相関サブクエリの非相関化をサポートし、それらをLeft Outer Joinに変換します。
    • インデックスプレフィックスのマッチングに使用する拡張IndexLookupJoin
  • SQL実行エンジン
    • Chunkアーキテクチャを使用してすべての演算子をリファクタリングし、分析クエリの実行パフォーマンスを向上させ、メモリ使用量を削減しました。TPC-Hベンチマークの結果は大幅に改善されました。
    • ストリーミング集計演算子のプッシュダウンをサポート
    • Insert Into Ignoreステートメントを最適化すると、パフォーマンスが10倍以上向上します
    • Insert On Duplicate Key Updateステートメントを最適化すると、パフォーマンスが10倍以上向上します
    • Load Data最適化してパフォーマンスを10倍以上向上
    • より多くのデータ型と関数を TiKV にプッシュダウン
    • 物理演算子のメモリ使用量を計算し、メモリ使用量がしきい値を超えた場合の処理動作を構成ファイルとシステム変数で指定することをサポートします。
    • OOM のリスクを軽減するために、単一の SQL 文によるメモリ使用量の制限をサポートします。
    • CRUD 操作で暗黙的な RowID の使用をサポート
    • ポイントクエリのパフォーマンスを向上
  • サーバ
    • プロキシプロトコルをサポートする
    • 監視メトリックを追加し、ログを改良する
    • 構成ファイルの検証をサポート
    • HTTP API 経由で TiDB パラメータの情報を取得する機能をサポート
    • バッチモードでロックを解決してガベージコレクションを高速化します
    • マルチスレッドガベージコレクションをサポート
    • TLSをサポート
  • 互換性
    • より多くのMySQL構文をサポート
    • OGGデータレプリケーションツールをサポートするために、構成ファイル内のlower_case_table_namesシステム変数を変更することをサポートします。
    • Navicat管理ツールとの互換性を向上
    • テーブル作成時間をInformation_Schemaで表示できるようになりました
    • 一部の関数/式の戻り値の型がMySQLと異なる問題を修正しました
    • JDBCとの互換性を向上
    • より多くのSQLモードをサポート
  • DDL
    • Add Index操作を最適化して、いくつかのシナリオで実行速度を大幅に向上させます。
    • オンラインビジネスへの影響を軽減するために、 Add Index操作の優先度を下げます。
    • DDLジョブのより詳細なステータス情報をAdmin Show DDL Jobsで出力します
    • Admin Show DDL Job Queries JobIDを使用して現在実行中のDDLジョブの元のステートメントを照会する機能をサポート
    • 災害復旧のためにAdmin Recover Indexを使用してインデックスデータの復旧をサポート
    • Alterステートメントを使用してテーブル オプションを変更することをサポートします

PD

  • サポートRegion Merge 、データを削除した後に空の領域を結合する [実験的]
  • サポートRaft Learner [実験的]
  • スケジューラを最適化する
    • スケジューラをさまざまなリージョンサイズに適応させる
    • TiKV 障害時のデータ復元の優先度と速度を向上
    • TiKVノードを削除する際のデータ転送を高速化
    • TiKVノードのスペースが不足しているときにディスクがいっぱいにならないようにスケジュールポリシーを最適化します。
    • バランスリーダースケジューラのスケジューリング効率を向上
    • バランス領域スケジューラのスケジューリングオーバーヘッドを削減する
    • ホットリージョンスケジューラの実行効率を最適化する
  • 操作インターフェースと構成
    • TLSをサポート
    • PDリーダーの優先順位付けをサポート
    • ラベルに基づいてスケジュールポリシーを構成することをサポート
    • 特定のラベルを持つストアがRaftリーダーをスケジュールしないように構成することをサポートします
    • 単一のリージョン内のホットスポットを処理するために、手動でリージョンを分割することをサポートします。
    • 場合によっては、指定されたリージョンを分散して手動でリージョン分布を調整できるようにサポートします。
    • 構成パラメータのチェックルールを追加し、構成項目の有効性チェックを改善します。
  • デバッグインターフェース
    • Drop Regionデバッグインターフェースを追加する
    • 各PDのヘルスステータスを列挙するためのインターフェースを追加します
  • 統計
    • 異常な地域に関する統計情報を追加する
    • リージョン分離レベルに関する統計情報を追加する
    • スケジュール関連の指標を追加する
  • パフォーマンス
    • 書き込みパフォーマンスを向上させるために、PDリーダーとetcdリーダーを同じノードにまとめます。
    • リージョンハートビートのパフォーマンスを最適化

TiKV

  • 特徴
    • 重要な構成を誤った変更から保護する
    • サポートRegion Merge [実験的]
    • Raw DeleteRange APIを追加する
    • GetMetric APIを追加する
    • Raw Batch Put Raw Batch Get Raw Batch Scan Raw Batch Delete
    • RawKV API にカラムファミリ オプションを追加し、特定のカラムファミリでの操作の実行をサポートします。
    • コプロセッサーでのストリーミングとストリーミング集計をサポート
    • コプロセッサーのリクエストタイムアウトの設定をサポート
    • リージョンハートビートでタイムスタンプを伝送
    • RocksDBパラメータの一部をオンラインで変更することをサポートします。例: block-cache-size
    • 警告やエラーが発生した場合のコプロセッサーの動作の構成をサポートします
    • データのインポートプロセス中の書き込み増幅を削減するために、データのインポートモードでの起動をサポートします。
    • 手動でリージョンを半分に分割する機能をサポート
    • データ復旧ツールtikv-ctl改善
    • TiDBの動作をガイドするためにコプロセッサーでより多くの統計を返す
    • SST ファイルをインポートするためのImportSST API をサポート [実験的]
    • TiKV インポーターバイナリを追加してTiDB Lightningと統合し、データを素早くインポートします [実験的]
  • パフォーマンス
    • ReadPool使用して読み取りパフォーマンスを最適化し、 raw_get/get/batch_getを30%増加させます
    • メトリクスのパフォーマンスを向上させる
    • Raftショットプロセスが完了したらすぐにPDに通知して、バランス調整を高速化します。
    • RocksDBのフラッシュによって発生するパフォーマンスジッターを解決する
    • データを削除した後のスペース回収メカニズムを最適化
    • サーバーの起動時にガベージクリーンアップを高速化
    • DeleteFilesInRanges使用してレプリカ移行中のI/Oオーバーヘッドを削減
  • 安定性
    • PDリーダーが切り替わったときにgRPC呼び出しが返されない問題を修正しました
    • スナップショットによってノードがオフラインになる速度が遅くなる問題を修正しました
    • レプリカの移行によって消費される一時スペースの使用を制限する
    • 長期間にわたりリーダーを選出できない地域を報告する
    • 圧縮イベントに応じてリージョンサイズ情報を随時更新します
    • リクエストのタイムアウトを回避するためにスキャンロックのサイズを制限する
    • OOMを回避するためにスナップショットを受信するときにメモリ使用量を制限する
    • CIテストの速度を上げる
    • スナップショットが多すぎることによるOOM問題を修正
    • gRPCのkeepalive構成する
    • リージョン番号の増加によって発生するOOM問題を修正

ティスパーク

TiSpark は個別のバージョン番号を使用します。現在の TiSpark バージョンは 1.0 GA です。TiSpark 1.0 のコンポーネントは、Apache Spark を使用した TiDB データの分散コンピューティングを提供します。

  • TiKVからデータを読み取るためのgRPC通信フレームワークを提供する
  • TiKVコンポーネントデータと通信プロトコルのエンコードとデコードを提供します
  • 以下を含む計算プッシュダウンを提供します:
    • 集計プッシュダウン
    • 述語プッシュダウン
    • TopNプッシュダウン
    • リミットプッシュダウン
  • インデックス関連のサポートを提供する
    • 述語をリージョンキー範囲またはセカンダリインデックスに変換する
    • Index Onlyクエリを最適化 -リージョンごとにインデックススキャンをテーブルスキャンに適応的にダウングレード
  • コストベースの最適化を提供する
    • サポート統計
    • インデックスを選択
    • 放送テーブル費用の見積もり
  • 複数のSparkインターフェースのサポートを提供する
    • Spark Shell をサポート
    • ThriftServer/JDBC をサポート
    • Spark-SQL の連携をサポート
    • PySpark Shell をサポート
    • SparkRをサポート

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