TiDB ソフトウェアおよびハードウェア要件
このドキュメントでは、TiDB データベースを展開して実行するためのソフトウェアとハードウェアの要件について説明します。高性能なオープンソースの分散 SQL データベースである TiDB は、Intelアーキテクチャサーバー、ARMアーキテクチャサーバー、および主要な仮想化環境に展開でき、適切に動作します。TiDB は、主要なハードウェア ネットワークと Linux オペレーティング システムのほとんどをサポートしています。
OSおよびプラットフォームの要件
v8.5 LTS では、TiDB はオペレーティング システムと CPU アーキテクチャのさまざまな組み合わせに対して複数レベルの品質標準を保証します。
TiDB は、次のオペレーティング システムと CPU アーキテクチャの組み合わせに対してエンタープライズ レベルの本番品質を提供し、製品機能は包括的かつ体系的に検証されています。
オペレーティングシステム サポートされているCPUアーキテクチャ Red Hat Enterprise Linux 8.4 以降の 8.x バージョン - 64ビット
- アーム64
アマゾン リナックス 2 - 64ビット
- アーム64
アマゾンリナックス2023 - 64ビット
- アーム64
Rocky Linux 9.1 以降 - 64ビット
- アーム64
キリン オイラー V10 SP1/SP2 - 64ビット
- アーム64
ユニオンテック OS (UOS) V20 - 64ビット
- アーム64
openEuler 22.03 LTS SP1/SP3 - 64ビット
- アーム64
以下のオペレーティング システムと CPU アーキテクチャの組み合わせでは、TiDB をコンパイル、ビルド、およびデプロイできます。また、OLTP、OLAP、およびデータ ツールの基本機能も使用できます。ただし、TiDB はエンタープライズ レベルの本番品質を保証するものではありません。
オペレーティングシステム サポートされているCPUアーキテクチャ macOS 12 (Monterey) 以降 - 64ビット
- アーム64
Oracle Enterprise Linux 8以降 64ビット Ubuntu LTS 20.04以降 64ビット CentOS ストリーム 8 - 64ビット
- アーム64
Debian 10 (Buster) 以降 64ビット Fedora 38以降 64ビット openSUSE Leap v15.5 以降 (Tumbleweed は含みません) 64ビット SUSE Linux Enterprise Server 15 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 ビット オペレーティング システムに積極的に適応しません。
上記に記載されていない他のオペレーティング システム バージョンも動作する可能性がありますが、正式にはサポートされていません。
v8.4.0 以降、TiDB には glibc 2.28 が必要です。 glibc のバージョンがこの要件を満たしていない場合は、前の表に記載されているオペレーティング システムを使用するか、オペレーティング システムを glibc 2.28 をサポートするバージョンにアップグレードすることをお勧めします。
TiDB のコンパイルと実行に必要なライブラリ
TiDB のコンパイルと実行に必要なライブラリ | バージョン |
---|---|
Golang | 1.23以降 |
さび | nightly-2023-12-28 以降 |
湾岸協力会議 | 7.x |
LLVM | 17.0以降 |
TiDB を実行するために必要なライブラリ: glibc (2.28-151.el8 バージョン)
Dockerイメージの依存関係
次の CPU アーキテクチャがサポートされています。
- x86_64。TiDB v6.6.0 以降では、 x86-64-v2 命令セット必要です。
- アーム64
ソフトウェア要件
制御機
ソフトウェア | バージョン |
---|---|
sshpass | 1.06以降 |
TiUP | 1.5.0以降 |
注記:
TiDB クラスターを制御マシンにTiUPを展開するおよび管理する必要があります。
ターゲットマシン
ソフトウェア | バージョン |
---|---|
sshpass | 1.06以降 |
沼 | 2.0.12以降 |
タール | どれでも |
サーバー要件
TiDB は、Intel x86-64アーキテクチャの 64 ビット汎用ハードウェアサーバープラットフォーム、または ARMアーキテクチャのハードウェアサーバープラットフォームに導入して実行できます。開発、テスト、および本番環境におけるサーバーハードウェア構成に関する要件と推奨事項 (オペレーティング システム自体が占有するリソースは無視) は次のとおりです。
開発およびテスト環境
成分 | CPU | メモリ | ローカルストレージ | ネットワーク | インスタンス数(最小要件) |
---|---|---|---|---|---|
ティビ | 8コア以上 | 16GB以上 | ディスク容量要件 | ギガビットネットワークカード | 1 (PDと同じマシンに展開可能) |
PD | 4コア以上 | 8GB以上 | SAS、200 GB以上 | ギガビットネットワークカード | 1 (TiDB と同じマシンにデプロイ可能) |
ティクヴ | 8コア以上 | 32GB以上 | SAS、200 GB以上 | ギガビットネットワークカード | 3 |
TiFlash | 32コア以上 | 64GB以上 | SSD、200 GB以上 | ギガビットネットワークカード | 1 |
ティCDC | 8コア以上 | 16GB以上 | SAS、200 GB以上 | ギガビットネットワークカード | 1 |
注記:
- テスト環境では、TiDB インスタンスと PD インスタンスを同じサーバーにデプロイできます。
- パフォーマンス関連のテストでは、テスト結果の正確性を保証するために、低パフォーマンスのstorageおよびネットワーク ハードウェア構成を使用しないでください。
- TiKVサーバーでは、読み取りと書き込みを高速化するために NVMe SSD を使用することをお勧めします。
- 機能のテストと検証のみを行う場合は、手順TiDB クイック スタート ガイドに従って、単一のマシンに TiDB をデプロイします。
- v6.3.0 以降、Linux AMD64アーキテクチャでTiFlash を展開するには、CPU が AVX2 命令セットをサポートしている必要があります。1
grep avx2 /proc/cpuinfo
出力されていることを確認してください。Linux ARM64アーキテクチャでTiFlash を展開するには、CPU が ARMv8 命令セットアーキテクチャをサポートしている必要があります。3grep 'crc32' /proc/cpuinfo | grep 'asimd'
出力されていることを確認してください。命令セット拡張を使用することで、TiFlash のベクトル化エンジンはより優れたパフォーマンスを提供できます。
生産環境
成分 | CPU | メモリ | ハードディスクタイプ | ネットワーク | インスタンス数(最小要件) |
---|---|---|---|---|---|
ティビ | 16コア以上 | 48GB以上 | ソリッドステートドライブ | 10 ギガビット ネットワーク カード (2 枚推奨) | 2 |
PD | 8コア以上 | 16GB以上 | ソリッドステートドライブ | 10 ギガビット ネットワーク カード (2 枚推奨) | 3 |
ティクヴ | 16コア以上 | 64GB以上 | ソリッドステートドライブ | 10 ギガビット ネットワーク カード (2 枚推奨) | 3 |
TiFlash | 48コア以上 | 128 GB以上 | 1台以上のSSD | 10 ギガビット ネットワーク カード (2 枚推奨) | 2 |
ティCDC | 16コア以上 | 64GB以上 | ソリッドステートドライブ | 10 ギガビット ネットワーク カード (2 枚推奨) | 2 |
モニター | 8コア以上 | 16GB以上 | スカンジナビア航空 | ギガビットネットワークカード | 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 とTiFlashを同じノードにデプロイする必要がある場合は、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 の展開に基づいて、管理者はネットワーク側とホスト側で関連するポートを開くことができます。
成分 | デフォルトポート | 説明 |
---|---|---|
ティビ | 4000 | アプリケーションとDBAツールの通信ポート |
ティビ | 10080 | TiDBステータスを報告するための通信ポート |
ティクヴ | 20160 | 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メトリックを取得するためのポート |
ティCDC | 8300 | TiCDC通信ポート |
監視 | 9090 | Prometheusサービスの通信ポート |
監視 | 12020 | NgMonitoring サービスの通信ポート |
ノードエクスポーター | 9100 | 各TiDBクラスタノードのシステム情報を報告するための通信ポート |
ブラックボックスエクスポーター | 9115 | TiDB クラスタ内のポートを監視するために使用される Blackbox_exporter 通信ポート |
グラファナ | 3000 | 外部Web監視サービスおよびクライアント(ブラウザ)アクセス用のポート |
アラートマネージャー | 9093 | アラートウェブサービスのポート |
アラートマネージャー | 9094 | アラート通信ポート |
ディスク容量要件
成分 | ディスク容量要件 | 健全なディスク使用率 |
---|---|---|
ティビ |
| 90%未満 |
PD | データディスクとログディスクにはそれぞれ少なくとも20 GB | 90%未満 |
ティクヴ | データディスクとログディスクにはそれぞれ少なくとも100 GB | 80%未満 |
TiFlash | データディスクには少なくとも100 GB、ログディスクには少なくとも30 GB | 80%未満 |
TiUP |
| 該当なし |
モニタリング |
| 該当なし |
Webブラウザの要件
TiDB は、データベース メトリックの視覚化を提供するためにグラファナに依存しています。Javascript が有効になっている最新バージョンの Microsoft Edge、Safari、Chrome、または Firefox で十分です。
TiFlash分散storageおよびコンピューティングアーキテクチャのハードウェアおよびソフトウェア要件
上記のTiFlashソフトウェアおよびハードウェア要件は、結合storageおよびコンピューティングアーキテクチャ用です。v7.0.0 以降、 TiFlash は分散型storageとコンピューティングアーキテクチャをサポートします。このアーキテクチャでは、 TiFlash は書き込みノードとコンピューティング ノードの 2 種類のノードに分かれています。これらのノードの要件は次のとおりです。
- ソフトウェア: 結合されたstorageとコンピューティングアーキテクチャと同じままですOSおよびプラットフォームの要件参照)。
- ネットワーク ポート: 結合されたstorageおよびコンピューティングアーキテクチャと同じままですネットワーク参照)。
- ディスク容量:
- TiFlash書き込みノード: データを Amazon S3 にアップロードする前に、 TiFlashレプリカを追加したり、リージョンレプリカを移行したりするときにローカルバッファとして使用されるディスク領域を少なくとも 200 GB 構成することをお勧めします。また、Amazon S3 と互換性のあるオブジェクトstorageが必要です。
- TiFlashコンピューティング ノード: 少なくとも 100 GB のディスク領域を構成することをお勧めします。これは主に、パフォーマンスを向上させるために書き込みノードから読み取られたデータをキャッシュするために使用されます。コンピューティング ノードのキャッシュが完全に使用される場合がありますが、これは正常です。
- CPU とメモリの要件については、次のセクションで説明します。
開発およびテスト環境
成分 | CPU | メモリ | ローカルストレージ | ネットワーク | インスタンス数(最小要件) |
---|---|---|---|---|---|
TiFlash書き込みノード | 16コア以上 | 32GB以上 | SSD、200 GB以上 | ギガビットイーサネット | 1 |
TiFlashコンピューティングノード | 16コア以上 | 32GB以上 | SSD、100 GB以上 | ギガビットイーサネット | 0(下記注記参照) |
生産環境
成分 | CPU | メモリ | ディスクタイプ | ネットワーク | インスタンス数(最小要件) |
---|---|---|---|---|---|
TiFlash書き込みノード | 32コア以上 | 64GB以上 | 1台以上のSSD | 10 ギガビット イーサネット (2 個を推奨) | 1 |
TiFlashコンピューティングノード | 32コア以上 | 64GB以上 | 1台以上のSSD | 10 ギガビット イーサネット (2 個を推奨) | 0(下記注記参照) |
注記:
TiUPなどのデプロイメント ツールを使用して、
[0, +inf]
の範囲内でTiFlashコンピューティング ノードを迅速にスケールインまたはスケールアウトできます。