4.0の新しい特徴

TiDB v4.0(以下略記4.0)が2020年5月28日にリリースされ、使いやすさ、安定性、パーフォーマンス、セキュリティおよび機能の方が大幅に改善されました。この記事では、改善されたことの簡単にを説明します、ユーザーは、実際のユースケースに基づいて4.0にアップグレードするかどうかを決定する必要があります。

コア機能

スケジューリング機能

  • ホットスポットの対応ために、より多くのメトリックが考慮されます。これによに、書き込み、読み取りトラフィックに基づくスケジューリング基準しながら、新しいkeyのメトリックは考慮する。新しいスケジューリング方法は、トラフィックのみを考慮する場合と比較して、CPUリソースの使用率の不均一性の問題を大幅に改善できます。詳しくはスケジューリングをご覧ください。

ストレージエンジン。

  • TiFlashRealtime HTAP機能用にTiDBによって追加されたコンポーネントです。TiFlashMulti-Raft Learnerプロトコルを使用してTiKVからリアルタイムでデータリードレプリカをコピーし、行方向ストレージエンジンTiKVとカラム型ストレージTiFlashの完全一貫性を確保します。TiKVTiFlashを異なるマシンにデプロイして、HTAPリソース割り当てと分離の問題を解決できます。詳しくはTiFlashをご覧ください。

  • TiKV v4.0や新しいストレージフォーマットにある、幅の広いテーブルデータのエンコードとデコードの効率を向上させる。

TiDB Dashboard

DBAはTiDB DashboardUIを介してクラスターのトポロジー、構成情報、ログ情報、ハードウェア情報、オペレーティングシステム情報、スロークエリ情報、SQL情報、診断レポートなど。この情報は、DBAがデータベースシステムをすばやく理解して分析するのに役立ちます。詳細は以下の通りです。

  • クラスター情報は、TiDBTiKVPDTiFlashおよびインスタンスの実行状態。

  • Key VisualizerTiDBクラスターの一定期間にトラフィックに関する履歴情報を取得して、DBAがTiDBクラスターの使用モードとホットスポットを分析します。

  • SQLステートメント情報は、データベースに実行されたすべてのSQLと、実行回数、実行時間の記録して、ユーザーがデータベースのSQL実行ステータスをすばやく分析し、ホットスポットを含むSQLを見つける。

  • Slow Queriesは、クラスターのすべてのスロークエリステートメントを取得して、問題の解決に役立ちます。

  • Diagnostic Reportは、データベースが定期的に起こりうる障害を自動的に診断し、その診断結果とクラスター関連のメトリックを診断レポートにまとめます。診断レポートはWebページであり、ブラウザに保存した後、オフラインで読むおよび共有できます。

  • Log Search & Downloadは、クラスターログを視覚的に把握して、DBAによるシステム問題の分析、メンテナンスの効率を向上させる。

デプロイとメンテナンスのツール

TiUPは、TiDB 4.0でリリースされたデプロイとメンテナンスのツール。TiUPの主な役割はTiDBに関連するすべてのパッケージ、コンポーネント管理、ローカルデプロイ(Playground)、クラスター管理(Cluster)、アップグレードフレームワーク(TUF)、オフラインデプロイメントなどの機能があり、TiDBのインストール、デプロイメント、メンテナンスをツール化し、DBAの効率を向上させる。

  • コンポーネント管理機能は、ワンクリックのコンポーネント情報クエリ、インストール、アップグレード、アンインストールなどの機能を提供し、DBAがTiDBのすべてのコンポーネントを管理しやすくします。

  • コンポーネント管理。コンポーネント情報を照会し、クラスターを簡単にインストール、アップグレード、およびアンインストールできます。DBAにとって、TiDBコンポーネントの管理はよりもはるかに簡単です。

  • クラスター管理機能(Cluster)は、複数のTiDBクラスターの展開、拡張、縮小、アップグレード、構成変更、開始、停止、再起動、クラスターの情報を取得の機能であり。

  • ローカルデプロイ(Playground)は、TiDBの基本機能をすばやく体験と理解するために、ローカル環境にやすいでTiDBクラスターをデプロイして。注:この機能はプロダクション運用環境に使えない。

  • プライベートミラー管理(Mirror)は、もしオフィシャルのミラーアクセスできないので、TiUPはプライベートミラーを構築するための方法を提供し、オフライン展開機能を提供します。

  • パーフォーマンス試験の機能(Benchmark)は、TPC-CおよびTPC-Hパフォーマンステストのワークロードを提供します。自動に展開と試験の機能があります。

トランザクション

  • ペシミスティックのトランザクションが正式なリリースして、デフォルトモードで。ペシミスティックのトランザクションはRead Committedの分離レベルとSELECT FOR UPDATE NOWAITをサポートする。詳しくはペシミスティックのトランザクションをご覧ください。

  • 大きなトランザクションをサポートして、トランザクションのサイズ制限が100 MBから10 GBに増加しました、楽観的およびペシミスティックの両方がサポートされます。詳しくはトランザクションのサイズ制限をご覧ください。

SQL 機能

  • SQLプラン管理のSQL Bindを自動キャプチャと進化をサポートする、実行プランの使いやすさと安定性を向上させます。詳しくはSQLプラン管理をご覧ください。

  • 15の新しいSQL Hintが追加され、オプティマイザの実行プランの生成とクエリ実行時のエンジンの動作を制御します。詳しくはSQL Hintをご覧ください。

  • SELECT INTO outfileステートメントをサポートし、テーブルデータを指定したファイルにエクスポートできます。LOAD DATAを使用すると、データベース間でデータを簡単にインポート/エクスポートできます。

  • カスタムシーケンスをサポートし、CACHE/NO_CACHECYCLE/NO_CYCLEオプションをサポート、ユーザーはシーケンスを使用してID作成できます。詳しくはSequenceをご覧ください。

  • 新しいFlashbackは、誤ってTruncateされたテーブルを復元する。

  • OOMを回避するには、JoinSortの中間結果をディスクに書き込みます、システムの安定性を向上させる。

  • EXPLAINEXPLAIN ANALYZEの表示を改善して、より多くの情報を表示して、トラブルシューティングの効率を向上させます。詳しくはEXPLAIN ANALYZEEXPLAINをご覧ください。

  • Index Mergeをサポートする。Index Mergeは新しいテーブルデータアクセスメソッド。単一のテーブルを含むクエリの場合、複数のインデックスデータを自動的に読み取りにオプティマイザ、その結果を合併して、パフォーマンスを向上させます。詳しくはIndex Mergeをご覧ください。

  • TiDBカラムをAUTO_RANDOMのキーの属性をサポートする。ホットスポットの問題の解決を助ける、MySQLユーザーのマイグレーションのコストを節約することができる。詳しくはAUTO_RANDOMのキーをご覧ください。

  • クラスターのトポロジー、構成情報、ログ情報、ハードウェア情報、オペレーティングシステム情報、スロークエリ情報、SQL情報のテーブルを追加する。DBAがデータベースシステムをすばやく理解して分析するのに役立ちます。詳しくはInformation SchemaSQL Diagnosisをご覧ください。詳細は以下の通りです。

    • データベースシステムテーブル
      • cluster_infoのテーブルは、クラスターのトポロジーの情報を保存する。
      • cluster_logのテーブルは、クラスターのログの情報を保存する。
      • cluster_hardwarecluster_hardwareのテーブルは、クラスターのハードウェアとオペレーティングシステムの情報を保存する。
    • スロークエリ、SQL情報のテーブル
      • cluster_slow_queryのテーブルは、グローバルのスロークエリの情報を保存する。
      • cluster_processlistのテーブルは、グローバルのプロセスリストの情報を保存する。
      • inspection_resultのテーブルは、システムのボトルネックを自動的に分析し、DBAがパフォーマンス分析レポートを役立ちます。障害分析の効率を向上させる。
      • metrics_summarymetric_summary_by_labelテーブルは、システムの全てのメトリックの情報を保存する、DBAがSQLを介してメトリックの読みますおよび過去のデータと比較する。
      • inspection_summaryテーブルは、複数のデータリンクとアクセスリンク中のさまざまな主要な監視メトリックを保存する。DBAが読み取り、書き込みなどのリンクの障害を分析できます。

文字セットと照合順序

TiDB 4.0は大文字小文字を区別しませんutf8mb4_general_ciとアクセントを区別しないutf8_general_ci,详情参阅をサポートする。詳しくは文字セットと照合順序をご覧ください。

セキュリティ

  • クライアントとサーバー、コンポーネント間の暗号化された通信を改善し、コネクタの安全を保証する。受信と送信されたデータがアタッカーによって読み取られたり改変されたりしないように保護します。証明書ベースの認証、オンラインで証明書を更新する、TLS証明書のCommonName属性を確認してなど。

  • 透過的データ暗号化(TDE)はTiDBの新機能です、許可されているアプリケーションにデータを自動的に復号化して。TDEはファイルに対して、ディスク書き込み前に暗号化し、メモリに読み取り前に復号化して。AES128-CTRAES192-CTRAES256-CTRの暗号化アルゴリズムおよびAWS KMSにキーの管理をサポートする。詳しくは保存時の暗号化をご覧ください。

バックアップと復元

バックアップの所要時間を短縮するテクニックは、単一のTiDBクラスターをバックアップと復元できます。高速の完全バックアップと復元をサポートし、データのソートして、範囲による分割をサポート。詳しくはバックアップと復元をご覧ください。

サービスレベル

  • Prepare/Executeリクエストの実行プランのキャッシュをサポートして、SQL実行効率を向上させる。詳しくはPrepare/Executeプランのキャッシュをご覧ください。

  • 新しいのレッドプールを実現します、スレッドプールの数を減らし、リクエストのスケジュールは最適化した。TiDBのパフォーマンスを向上させます。

  • Follower ReadRaftプロトコルの完全一貫性を確保に基づ、followerロールからデータを読み取ります、クラスターのスループットを改善し、leaderロールのロードを減らした。Follower Readロードバランスのテクニック、followerロールは完全一貫性を保証もできます。詳しくはFollower Readをご覧ください。