4.0の新しい特徴
TiDB v4.0
(以下略記4.0
)が2020年5月28日にリリースされ、使いやすさ、安定性、パーフォーマンス、セキュリティおよび機能の方が大幅に改善されました。この記事では、改善されたことの簡単にを説明します、ユーザーは、実際のユースケースに基づいて4.0
にアップグレードするかどうかを決定する必要があります。
コア機能
スケジューリング機能
- ホットスポットの対応ために、より多くのメトリックが考慮されます。これによに、書き込み、読み取りトラフィックに基づくスケジューリング基準しながら、新しい
key
のメトリックは考慮する。新しいスケジューリング方法は、トラフィックのみを考慮する場合と比較して、CPU
リソースの使用率の不均一性の問題を大幅に改善できます。詳しくはスケジューリングをご覧ください。
ストレージエンジン。
-
TiFlash
はRealtime HTAP
機能用にTiDB
によって追加されたコンポーネントです。TiFlash
はMulti-Raft Learner
プロトコルを使用してTiKV
からリアルタイムでデータリードレプリカをコピーし、行方向ストレージエンジンTiKV
とカラム型ストレージTiFlash
の完全一貫性を確保します。TiKV
とTiFlash
を異なるマシンにデプロイして、HTAP
リソース割り当てと分離の問題を解決できます。詳しくはTiFlashをご覧ください。 -
TiKV v4.0
や新しいストレージフォーマットにある、幅の広いテーブルデータのエンコードとデコードの効率を向上させる。
TiDB Dashboard
DBAはTiDB Dashboard
のUI
を介してクラスターのトポロジー、構成情報、ログ情報、ハードウェア情報、オペレーティングシステム情報、スロークエリ情報、SQL
情報、診断レポートなど。この情報は、DBAがデータベースシステムをすばやく理解して分析するのに役立ちます。詳細は以下の通りです。
-
クラスター情報は、
TiDB
、TiKV
、PD
、TiFlash
およびインスタンスの実行状態。 -
Key Visualizer
はTiDB
クラスターの一定期間にトラフィックに関する履歴情報を取得して、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_CACHE
とCYCLE/NO_CYCLE
オプションをサポート、ユーザーはシーケンスを使用してID作成できます。詳しくはSequence
をご覧ください。 -
新しい
Flashback
は、誤ってTruncate
されたテーブルを復元する。 -
OOM
を回避するには、Join
とSort
の中間結果をディスクに書き込みます、システムの安定性を向上させる。 -
EXPLAIN
とEXPLAIN ANALYZE
の表示を改善して、より多くの情報を表示して、トラブルシューティングの効率を向上させます。詳しくはEXPLAIN ANALYZE
とEXPLAIN
をご覧ください。 -
Index Merge
をサポートする。Index Merge
は新しいテーブルデータアクセスメソッド。単一のテーブルを含むクエリの場合、複数のインデックスデータを自動的に読み取りにオプティマイザ、その結果を合併して、パフォーマンスを向上させます。詳しくはIndex Merge
をご覧ください。 -
TiDB
カラムをAUTO_RANDOM
のキーの属性をサポートする。ホットスポットの問題の解決を助ける、MySQL
ユーザーのマイグレーションのコストを節約することができる。詳しくはAUTO_RANDOM
のキーをご覧ください。 -
クラスターのトポロジー、構成情報、ログ情報、ハードウェア情報、オペレーティングシステム情報、スロークエリ情報、
SQL
情報のテーブルを追加する。DBAがデータベースシステムをすばやく理解して分析するのに役立ちます。詳しくはInformation Schema
とSQL Diagnosis
をご覧ください。詳細は以下の通りです。- データベースシステムテーブル
cluster_info
のテーブルは、クラスターのトポロジーの情報を保存する。cluster_log
のテーブルは、クラスターのログの情報を保存する。cluster_hardware
とcluster_hardware
のテーブルは、クラスターのハードウェアとオペレーティングシステムの情報を保存する。
- スロークエリ、
SQL
情報のテーブルcluster_slow_query
のテーブルは、グローバルのスロークエリの情報を保存する。cluster_processlist
のテーブルは、グローバルのプロセスリストの情報を保存する。inspection_result
のテーブルは、システムのボトルネックを自動的に分析し、DBAがパフォーマンス分析レポートを役立ちます。障害分析の効率を向上させる。metrics_summary
とmetric_summary_by_label
テーブルは、システムの全てのメトリックの情報を保存する、DBAがSQL
を介してメトリックの読みますおよび過去のデータと比較する。inspection_summary
テーブルは、複数のデータリンクとアクセスリンク中のさまざまな主要な監視メトリックを保存する。DBAが読み取り、書き込みなどのリンクの障害を分析できます。
- データベースシステムテーブル
文字セットと照合順序
TiDB 4.0
は大文字小文字を区別しませんutf8mb4_general_ci
とアクセントを区別しないutf8_general_ci,详情参阅
をサポートする。詳しくは文字セットと照合順序をご覧ください。
セキュリティ
-
クライアントとサーバー、コンポーネント間の暗号化された通信を改善し、コネクタの安全を保証する。受信と送信されたデータがアタッカーによって読み取られたり改変されたりしないように保護します。証明書ベースの認証、オンラインで証明書を更新する、
TLS
証明書のCommonName
属性を確認してなど。 -
透過的データ暗号化(TDE)は
TiDB
の新機能です、許可されているアプリケーションにデータを自動的に復号化して。TDEはファイルに対して、ディスク書き込み前に暗号化し、メモリに読み取り前に復号化して。AES128-CTR
、AES192-CTR
、AES256-CTR
の暗号化アルゴリズムおよびAWS KMS
にキーの管理をサポートする。詳しくは保存時の暗号化をご覧ください。
バックアップと復元
バックアップの所要時間を短縮するテクニックは、単一のTiDB
クラスターをバックアップと復元できます。高速の完全バックアップと復元をサポートし、データのソートして、範囲による分割をサポート。詳しくはバックアップと復元をご覧ください。
サービスレベル
-
Prepare/Execute
リクエストの実行プランのキャッシュをサポートして、SQL
実行効率を向上させる。詳しくはPrepare/Execute
プランのキャッシュをご覧ください。 -
新しいのレッドプールを実現します、スレッドプールの数を減らし、リクエストのスケジュールは最適化した。
TiDB
のパフォーマンスを向上させます。 -
Follower Read
はRaft
プロトコルの完全一貫性を確保に基づ、follower
ロールからデータを読み取ります、クラスターのスループットを改善し、leader
ロールのロードを減らした。Follower Read
ロードバランスのテクニック、follower
ロールは完全一貫性を保証もできます。詳しくはFollower Read
をご覧ください。