ソフトウェアとハードウェアの推奨事項
TiDBは、高性能なオープンソースの分散SQLデータベースであり、Intelアーキテクチャサーバー、ARMアーキテクチャサーバー、主要な仮想化環境に導入でき、優れたパフォーマンスを発揮します。TiDBは、主要なハードウェアネットワークとLinuxオペレーティングシステムのほとんどをサポートしています。
OSおよびプラットフォームの要件
v8.1 LTS では、TiDB はオペレーティング システムと CPU アーキテクチャのさまざまな組み合わせに対して複数レベルの品質標準を保証します。
TiDB は、次のオペレーティング システムと CPU アーキテクチャの組み合わせに対してエンタープライズ レベルの本番品質を提供し、製品機能は包括的かつ体系的に検証されています。
オペレーティングシステム サポートされているCPUアーキテクチャ Red Hat Enterprise Linux 8.4 以降の 8.x バージョン - x86_64
- ARM 64
- Red Hat Enterprise Linux 7.3 以降の 7.x バージョン (TiDB は 8.4 DMR 以降でサポートを終了します)
- CentOS 7.3 またはそれ以降の 7.x バージョン (TiDB は 8.4 DMR 以降でサポートを終了します)
- x86_64
- ARM 64
アマゾン リナックス 2 - x86_64
- ARM 64
Amazon Linux 2023 - x86_64
- ARM 64
Rocky Linux 9.1 以降 - x86_64
- ARM 64
Kylin V10 SP1/SP2/SP3 (SP3 は v7.5.5 以降でサポートされます) - x86_64
- ARM 64
ユニオンテック OS (UOS) V20 - x86_64
- ARM 64
openEuler 22.03 LTS SP1/SP3 - x86_64
- ARM 64
注記:
- CentOS Linux のサポート終了によると、CentOS Linux 7のアップストリームサポートは2024年6月30日に終了します。TiDBはCentOS 7のサポートを8.4 DMRバージョンから終了しています。Rocky Linux 9.1以降のバージョンの使用をお勧めします。
- Red Hat Enterprise Linux ライフサイクルによると、Red Hat Enterprise Linux 7のメンテナンスサポートは2024年6月30日に終了します。TiDBは、8.4 DMRバージョン以降のRed Hat Enterprise Linux 7のサポートを終了します。Rocky Linux 9.1以降のバージョンを使用することをお勧めします。
以下のオペレーティングシステムとCPUアーキテクチャの組み合わせでは、TiDBをコンパイル、ビルド、デプロイできます。また、OLTP、OLAP、データツールの基本機能もご利用いただけます。ただし、TiDBはエンタープライズレベルの本番品質を保証するものではありません。
オペレーティングシステム サポートされているCPUアーキテクチャ macOS 12 (Monterey) 以降 - x86_64
- ARM 64
Oracle Enterprise Linux 8以降 x86_64 Ubuntu LTS 20.04以降 x86_64 CentOS ストリーム 8 - x86_64
- ARM 64
Debian 10 (Buster) 以降 x86_64 Fedora 38以降 x86_64 openSUSE Leap v15.5 以降 (Tumbleweed は含みません) x86_64 SUSE Linux Enterprise Server 15 x86_64 注記:
- Oracle Enterprise Linux の場合、TiDB は Red Hat 互換カーネル (RHCK) をサポートしていますが、Oracle Enterprise Linux が提供する Unbreakable Enterprise Kernel はサポートしていません。
- Ubuntu 16.04のサポートは、TiDBの将来のバージョンでは削除される予定です。Ubuntu 18.04以降へのアップグレードを強くお勧めします。
- CentOS Stream 8 は、2024 年 5 月 31 日にビルドの終了到達します。
前の 2 つの表に記載されているオペレーティング システムの 32 ビット バージョンを使用している場合、TiDB が 32 ビット オペレーティング システムおよび対応する CPUアーキテクチャ上でコンパイル、ビルド、または展開可能であることは保証されません。または、TiDB は 32 ビット オペレーティング システムに積極的に適応しません。
上記に記載されていない他のオペレーティング システム バージョンも動作する可能性がありますが、公式にはサポートされていません。
TiDBのコンパイルと実行に必要なライブラリ
TiDBのコンパイルと実行に必要なライブラリ | バージョン |
---|---|
Golang | 1.21以降 |
さび | nightly-2023-12-28 以降 |
GCC | 7.x |
LLVM | 13.0以降 |
TiDB の実行に必要なライブラリ: glibc (バージョン 2.28-151.el8)
Dockerイメージの依存関係
次の CPU アーキテクチャがサポートされています。
- x86_64。TiDB v6.6.0以降では、 x86-64-v2命令セット必要です。
- ARM 64
ソフトウェアの推奨事項
制御機
ソフトウェア | バージョン |
---|---|
SSHパスワード | 1.06以降 |
TiUP | 1.5.0以降 |
注記:
TiDB クラスター制御マシンにTiUPを展開する操作および管理する必要があります。
ターゲットマシン
ソフトウェア | バージョン |
---|---|
SSHパスワード | 1.06以降 |
沼 | 2.0.12以降 |
タール | どれでも |
サーバーの推奨事項
TiDBは、Intel x86-64アーキテクチャの64ビット汎用ハードウェア・サーバー・プラットフォーム、またはARMアーキテクチャのハードウェア・サーバー・プラットフォームに導入して実行できます。開発環境、テスト環境、および本番環境におけるサーバー・ハードウェア構成に関する要件と推奨事項(オペレーティング・システム自体が占有するリソースは除く)は次のとおりです。
開発およびテスト環境
成分 | CPU | メモリ | ローカルストレージ | ネットワーク | インスタンス数(最小要件) |
---|---|---|---|---|---|
TiDB | 8コア以上 | 16GB以上 | ディスク容量要件 | ギガビットネットワークカード | 1 (PDと同じマシンに展開可能) |
PD | 4コア以上 | 8GB以上 | SAS、200 GB以上 | ギガビットネットワークカード | 1 (TiDB と同じマシンにデプロイ可能) |
TiKV | 8コア以上 | 32 GB以上 | SAS、200 GB以上 | ギガビットネットワークカード | 3 |
TiFlash | 32コア以上 | 64 GB以上 | SSD、200 GB以上 | ギガビットネットワークカード | 1 |
TiCDC | 8コア以上 | 16GB以上 | SAS、200 GB以上 | ギガビットネットワークカード | 1 |
注記:
- テスト環境では、TiDB インスタンスと PD インスタンスを同じサーバーにデプロイできます。
- パフォーマンス関連のテストでは、テスト結果の正確性を保証するために、低パフォーマンスのstorageおよびネットワーク ハードウェア構成を使用しないでください。
- TiKVサーバーでは、読み取りと書き込みを高速化するために NVMe SSD を使用することをお勧めします。
- 機能のテストと検証のみを行う場合は、手順TiDB クイックスタートガイドに従って、TiDB を 1 台のマシンにデプロイします。
- v6.3.0以降、Linux AMD64アーキテクチャでTiFlashを展開するには、CPUがAVX2命令セットをサポートしている必要があります。1
cat /proc/cpuinfo | grep avx2
出力されていることを確認してください。Linux ARM64アーキテクチャでTiFlashを展開するには、CPUがARMv8命令セットアーキテクチャをサポートしている必要があります。3cat /proc/cpuinfo | grep 'crc32' | grep 'asimd'
出力されていることを確認してください。命令セット拡張を使用することで、TiFlashのベクトル化エンジンはより優れたパフォーマンスを発揮できます。
生産環境
成分 | CPU | メモリ | ハードディスクの種類 | ネットワーク | インスタンス数(最小要件) |
---|---|---|---|---|---|
TiDB | 16コア以上 | 48 GB以上 | SSD | 10 ギガビット ネットワーク カード (2 枚を推奨) | 2 |
PD | 8コア以上 | 16GB以上 | SSD | 10 ギガビット ネットワーク カード (2 枚を推奨) | 3 |
TiKV | 16コア以上 | 64 GB以上 | SSD | 10 ギガビット ネットワーク カード (2 枚を推奨) | 3 |
TiFlash | 48コア以上 | 128 GB以上 | 1台以上のSSD | 10 ギガビット ネットワーク カード (2 枚を推奨) | 2 |
TiCDC | 16コア以上 | 64 GB以上 | SSD | 10 ギガビット ネットワーク カード (2 枚を推奨) | 2 |
モニター | 8コア以上 | 16GB以上 | SAS | ギガビットネットワークカード | 1 |
注記:
- 本番環境では、TiDBインスタンスとPDインスタンスを同じサーバーにデプロイできます。パフォーマンスと信頼性に対する要件が高い場合は、別々にデプロイすることを検討してください。
- 本番環境では、TiDB、TiKV、 TiFlash をそれぞれ少なくとも 8 個の CPU コアで構成することを強くお勧めします。パフォーマンスを向上させるには、より高い構成をお勧めします。
- PCIe SSD を使用している場合は TiKV ハード ディスクのサイズを 4 TB 以内に抑え、通常の SSD を使用している場合は 1.5 TB 以内に抑えることをお勧めします。
- AWS、Google Cloud、AzureなどのクラウドプロバイダーにTiKVをデプロイする場合は、TiKVノードにクラウドディスクを使用することをお勧めします。クラウド環境でTiKVインスタンスがクラッシュした場合、ローカルディスク上のデータが失われる可能性があります。
TiFlashを展開する前に、次の点に注意してください。
- TiFlash は複数のディスクに展開なります。
- TiKVデータのリアルタイムレプリケーションをバッファリングするため、 TiFlashデータディレクトリの最初のディスクには高性能SSDを使用することをお勧めします。このディスクのパフォーマンスは、PCIe SSDなど、TiKVのパフォーマンスよりも低くてはなりません。ディスク容量は総容量の10%以上にする必要があります。そうでないと、このノードのボトルネックになる可能性があります。他のディスクには通常のSSDを使用できますが、高性能なPCIe SSDの方がパフォーマンスが向上することにご注意ください。
- TiFlash はTiKV とは別のノードにデプロイすることをお勧めします。TiFlash と TiKV を同じノードにデプロイする必要がある場合は、CPU コア数とメモリを増やし、 TiFlashと TiKV を異なるディスクにデプロイして相互干渉を回避するようにしてください。
- TiFlashディスクの総容量は、次のように計算されます:
the data volume of the entire TiKV cluster to be replicated / the number of TiKV replicas * the number of TiFlash replicas
。例えば、TiKV全体の計画容量が1 TB、TiKVレプリカ数が3、 TiFlashレプリカ数が2の場合、推奨されるTiFlash総容量は1024 GB / 3 * 2
です。一部のテーブルのデータのみをレプリケートすることもできます。その場合は、レプリケートするテーブルのデータ量に応じてTiFlash容量を決定してください。
TiCDC を展開する前に、500 GB を超える PCIe SSD ディスクに TiCDC を展開することをお勧めします。
ネットワーク要件
オープンソースの分散SQLデータベースであるTiDBを実行するには、以下のネットワークポート設定が必要です。管理者は、実際の環境でのTiDBの導入状況に応じて、ネットワーク側とホスト側で適切なポートを開くことができます。
成分 | デフォルトポート | 説明 |
---|---|---|
TiDB | 4000 | アプリケーションとDBAツールの通信ポート |
TiDB | 10080 | TiDBステータスを報告するための通信ポート |
TiKV | 20160 | TiKV通信ポート |
TiKV | 20180 | TiKVステータスを報告するための通信ポート |
PD | 2379 | TiDBとPD間の通信ポート |
PD | 2380 | PDクラスタ内のノード間通信ポート |
TiFlash | 9000 | TiFlash TCPサービスポート |
TiFlash | 3930 | TiFlash RAFTおよびコプロセッサーサービスポート |
TiFlash | 20170 | TiFlashプロキシサービスポート |
TiFlash | 20292 | PrometheusがTiFlash Proxyメトリックを取得するためのポート |
TiFlash | 8234 | PrometheusがTiFlashメトリックを取得するためのポート |
Pump | 8250 | Pump通信ポート |
Drainer | 8249 | Drainer通信ポート |
TiCDC | 8300 | TiCDC通信ポート |
監視 | 9090 | Prometheusサービスの通信ポート |
監視 | 12020 | NgMonitoringサービスの通信ポート |
ノードエクスポーター | 9100 | 各TiDBクラスタノードのシステム情報を報告するための通信ポート |
ブラックボックスエクスポーター | 9115 | TiDB クラスタ内のポートを監視するために使用される Blackbox_exporter 通信ポート |
グラファナ | 3000 | 外部Web監視サービスとクライアント(ブラウザ)アクセス用のポート |
アラートマネージャー | 9093 | アラートウェブサービスのポート |
アラートマネージャー | 9094 | 警報通信ポート |
ディスク容量要件
成分 | ディスク容量要件 | 健全なディスク使用率 |
---|---|---|
TiDB |
| 90%未満 |
PD | データディスクとログディスクにはそれぞれ少なくとも20 GB | 90%未満 |
TiKV | データディスクとログディスクにはそれぞれ少なくとも100 GB | 80%未満 |
TiFlash | データディスクには少なくとも100 GB、ログディスクには少なくとも30 GB | 80%未満 |
TiUP |
| 該当なし |
NGモニタリング |
| 該当なし |
ウェブブラウザの要件
TiDBは、データベースメトリクスの可視化にグラファナ使用しています。JavaScriptが有効になっている最新バージョンのMicrosoft Edge、Safari、Chrome、またはFirefoxで十分です。
TiFlash分散storageおよびコンピューティングアーキテクチャのハードウェアおよびソフトウェア要件
上記のTiFlashソフトウェアおよびハードウェア要件は、storageとコンピューティングを統合したアーキテクチャを対象としています。v7.0.0以降、 TiFlashは分散型storageおよびコンピューティングアーキテクチャをサポートします。このアーキテクチャでは、 TiFlashは書き込みノードとコンピューティングノードの2種類のノードに分割されます。これらのノードの要件は次のとおりです。
- ソフトウェア: 結合されたstorageおよびコンピューティングアーキテクチャと同じままですOSおよびプラットフォームの要件参照)。
- ネットワーク ポート: 結合されたstorageおよびコンピューティングアーキテクチャと同じままですネットワーク参照)。
- ディスク容量:
- TiFlash書き込みノード:少なくとも200GBのディスク容量を設定することをお勧めします。これは、 TiFlashレプリカの追加やリージョンレプリカの移行時に、Amazon S3へのデータアップロード前にローカルバッファとして使用されます。また、Amazon S3と互換性のあるオブジェクトstorageが必要です。
- TiFlashコンピュートノード:少なくとも100GBのディスク容量を設定することをお勧めします。これは主に、書き込みノードから読み取ったデータをキャッシュしてパフォーマンスを向上させるために使用されます。コンピュートノードのキャッシュが完全に使用される場合もありますが、これは正常です。
- CPU およびメモリの要件については、次のセクションで説明します。
開発およびテスト環境
成分 | CPU | メモリ | ローカルストレージ | ネットワーク | インスタンス数(最小要件) |
---|---|---|---|---|---|
TiFlash書き込みノード | 16コア以上 | 32 GB以上 | SSD、200 GB以上 | ギガビットイーサネット | 1 |
TiFlashコンピューティングノード | 16コア以上 | 32 GB以上 | SSD、100 GB以上 | ギガビットイーサネット | 0(以下の注記を参照) |
生産環境
成分 | CPU | メモリ | ディスクタイプ | ネットワーク | インスタンス数(最小要件) |
---|---|---|---|---|---|
TiFlash書き込みノード | 32コア以上 | 64 GB以上 | 1台以上のSSD | 10 ギガビット イーサネット (2 個を推奨) | 1 |
TiFlashコンピューティングノード | 32コア以上 | 64 GB以上 | 1台以上のSSD | 10 ギガビット イーサネット (2 個を推奨) | 0(以下の注記を参照) |
注記:
TiUPなどのデプロイメント ツールを使用して、
[0, +inf]
範囲内でTiFlashコンピューティング ノードを迅速にスケールインまたはスケールアウトできます。