TiDB 5.0の一般提供(GA)を開始したことをここに発表します。お客様に対する当社のコミットメントは、ミッションクリティカルアプリケーション向けに、オープンソースで柔軟性の高いハイブリッドトランザクション/分析処理(HTAP)データベースを提供すること、およびリアルタイムの信頼できる唯一の情報源を提供することです。今回のリリースは、このコミットメントの重要なマイルストーンになります。バージョン5.0の特徴は以下のとおりです。
- パフォーマンスと安定性を大幅に改善。ミッションクリティカルアプリケーションのためのOLTP機能を大幅に強化しました。
- 超並列処理(MPP)アーキテクチャ。このアーキテクチャは、TiDBの分析エンジンであるTiFlashをベースとしており、現在TiDBで利用することができます。これにより、ユーザーは、リアルタイムのインタラクティブビジネスインテリジェンス(BI)分析を実行できます。急成長しているビジネスやデータ主導のイノベーションシナリオ向けのワンストップデータサービスソリューションを利用できるとともに、大規模企業のデジタルシナリオでTiDBをスムーズに利用し始めることができます。
- 安定性と容易さが向上。TiDB 5.0に導入されたRaft Joint Consensusアルゴリズムによって、Raftメンバーシップ変更中におけるシステム可用性を改善しました。機微情報の漏洩を防止するため、データから機微情報を取り除く機能もサポートされています。TiDB 5.0では、複数のデータ移行ツールやデータ共有ツールを利用できるため、データのインポート、エクスポート、復元を容易に行えます。EXPLAINステートメントとEXPLAIN ANALYZEステートメントが拡張されたため、ユーザーはクエリパフォーマンス問題をより効率的に診断することができます。TiDB 5.0では、TiDB上のアプリケーションの開発とスケーリングをこれまでよりも簡単に行えるほか、統合化およびシンプル化された信頼性の高い分散型データベースプラットフォームを構築することができます。
複数のメトリクスで卓越したパフォーマンスを発揮
バージョンが4.0から5.0になり、TiDBのパフォーマンスは劇的に向上しました。クラスタ化インデックス、非同期コミット、コプロセッサキャッシュを導入したことにより、OLTPシナリオでのsysbenchベンチマークとTPC-Cベンチマークが20%~80%改善しました。一般的なパフォーマンステストシナリオでのメトリクスを以下に示します。
ハードウェア構成
ワークロード
1000万行のデータ持つテーブル×16
ベンチマーク結果
さらに、TiDB 5.0にはTiFlash MPPコンピューティングモデルが導入され、OLAPシナリオでのパフォーマンスが向上しました。TPC-Hのパフォーマンステストによると、TiDB MPPエンジンの全体的パフォーマンスはGreenplum 6.15.0やApache Spark 3.1.1よりも2~3倍高いことがわかりました。一部のクエリについては、MPPエンジンのパフォーマンスは7倍も高くなっています。
ハードウェア構成
- TPC-Hベンチマークの詳細は、こちらのレポートをご覧ください。
ベンチマーク結果
安定性
TiDB 5.0では、TiDBスケジューリングプロセスでのI/O、ネットワーク、CPU、メモリリソースの利用を最適化したため、安定性が大幅に改善されています。これにより、リソースのプリエンプションに起因する1秒あたりのクエリ数(QPS)とクエリ遅延のジッターが大幅に低下します。TPC-Cテストでは、TPC-C QPSジッターを測定するための標準偏差の値は2%未満でした。
ハードウェア構成
こちらのレポートをご覧ください。
ベンチマーク結果
TiDBをより簡単かつ効率的に利用
クラスタのメンテナンスをより簡単に
TiDB 5.0では、TiUPを利用することで、1つのコマンドラインで環境チェックを行うことができます。TiUPが修復をの提案してくれるほか、環境に関する問題を自動的に修復してくれます。オペレーションロジックが最適化されたため、標準的なTiDBクラスタを実稼働環境にこれまでよりも短期間でデプロイできます。
今回のリリースにおいては、TiUPのアップグレードはアプリケーションに影響を与えません。。アップグレードプロセス中のパフォーマンスジッターは、10~30秒以内となっています。
TiDBをアップグレードするとき、パフォーマンスジッターを回避するには、ベースラインキャプチャ機能を有効化します。そうすると、システムが自動的に最新の実行プランをキャプチャしてバインドし、それをシステムテーブルに保存します。TiDBがアップグレードされた後、ユーザーはバインドされた実行プランをエクスポートし、そのバインドを削除するかどうか決めることができます。
SQLパフォーマンスを調整して効率化
TiDB 5.0では、不可視インデックスがサポートされています。パフォーマンスを調整したり、最適なインデックスを選択したりする際、SQLステートメントを使って、オプティマイザーに対してインデックスを可視または不可視に設定することができます。これにより、DROP INDEXやADD INDEXなど、リソースを消費するオペレーションが実行されるのを回避できます。
拡張されたEXPLAINステートメントやEXPLAIN ANALYZEステートメントを実行すれば、より詳細なクエリ実行情報を得られるので、クエリパフォーマンス問題をより効率的に診断することができます。
SQLパフォーマンス問題の根本的原因を突き止めた後、オプティマイザーに特定のクエリプランを選択させる場合は、SQLバインディング機能を使って、最適化されたクエリプランを実行すべきSQLステートメントにバインドすることができます。TiDB 5.0は、INSERTステートメント、DELETEステートメント、UPDATEステートメントなどのデータ操作言語(DML)クエリのSQLバインディングをサポートしています。
強化されたエコシステムツール
TiDBは、データ移行、データインポート、データ共有のコンポーネントを複数備えているため、ヘテロジニアスな環境で使用することができます。
よりクラウドネイティブなデータ移行ツール
TiDB 5.0では、クラウド上でのデータエクスポートとデータインポートを簡単かつ高速に行うことができます。
Dumplingデータエクスポートツールを使えば、ターゲットストレージとしてAmazon S3(およびその他のS3互換ストレージサービス)を使用することができます。このツールによって、TiDBやMySQL(MariaDBやAurora-MySQLを含む)からデータをエクスポートすることができます。データインポートツールであるTiDB Lightningを使えば、S3のデータをTiDBに直接インポートすることができます。TiDB Lightningがサポートしているデータソースには、DumplingのアウトプットやAWS Aurora-MySQLのスナップショットが含まれているので、TiDBにデータを移行する際、より多くの選択肢から選ぶことができます。
TiDB Lightningは、データインポートのパフォーマンスを最適化します。TiDB CloudのAWS T1.Standard構成(または同等の構成)と1 TBのTPC-Cデータを使ってテストしたところ、254 GiB/hから366 GiB/hへとスピードが40%上昇することがわかりました。
データ共有
TiCDCは、Confluent Platformとの統合機能を備えています。TiCDCは、Kafka Connectorsプロトコルを活用することによって、TiDBのデータ変更をKafka、Hadoop、Oracleなどの他のリレーショナルデータベースや非リレーショナルデータベースに複製します。ユーザーは、TiCDCを使って、TiDBのデータを他のシステムにストリーミングすることができます。このソリューションは、Confluent社によって認定されています。
TiCDCは複数のTiDBクラスタ間でのデータ複製に対応しているため、障害発生時、ユーザーはバックアップデータを迅速に復元できます。また、複数のTiDBクラスタ間のデータを集約することもできます。
強化されたエンタープライズグレード機能
高可用性と耐障害性
TiDB 5.0には、Raft Joint Consensusアルゴリズムが導入されています。Raftメンバーシップを変更している間、このアルゴリズムによって、メンバー追加オペレーションとメンバー削除オペレーションが1つのオペレーションに結合され、結合されたオペレーションはすべてのメンバーに送信されます。これにより、Raftメンバーシップの変更中におけるシステム可用性が改善します。変更プロセス中、Raftグループメンバーは中間状態となります。変更されたメンバーのいずれかに障害発生しても、システムは利用可能な状態に維持されます。
セキュリティ
TiDBでは、セキュリティコンプライアンス要件を満たすため、ログに含まれるIDやクレジットカード番号などの機微情報はデータから取り除かれます。これは機微情報漏洩の防止になります。
ぜひお試しください!
この記事で取り上げているTiDB 5.0の特徴は、全体の一部のみです。すべての機能を確認する場合は、What’s New in TiDB 5.0(TiDB 5.0の新機能)をご覧ください。TiDB 5.0に興味が湧きましたら、TiDB 5.0をダウンロードし、試用してみてください。また、ぜひSlackのTiDBコミュニティに参加し、フィードバックをお送りください。
TiDBエコシステムに貢献していただいたTiDBコミュニティのメンバー(デベロッパーとユーザーの両方)に心より感謝しています。TiDB 4.0がリリースされて以来、538のコントリビューターが12,513件のプルリクエストを送信し、TiDBの開発およびバージョン5.0のマイルストーン達成を支援してくれました。常に当社はオープンソースコミュニティに全面的にコミットしています。オープンコミュニティ、オープンエコシステム、オープンマインドによって、TiDBを進化させ続けることができると信じています。
PingCAPについて
PingCAPは、エンタープライズ向けのソフトウェアサービスプロバイダーとして2015年に設立され、オープンソースでクラウドネイティブなワンストップのデータベースソリューションを提供することにコミットしています。PingCAPの社名は、ネットワークの疎通を確認するために使用されるコマンド「Ping」とCAP定理の「CAP」の2つの単語を組み合わせています。3つのうち2つを選ばなければならないとされるCAP定理のC (Consistency – 一貫性)、A (Availability – 可用性)、P (Partition Tolerance – ネットワーク分断への耐性) ですが、この3つの全てに接続したい (Ping) という思いが込められています。PingCAPの詳細については https://pingcap.co.jp をご覧ください。
本件に関するお問合わせ先
PingCAP株式会社 広報部
Email:pingcapjp@pingcap.com