ソフトウェアとハードウェアの推奨事項
TiDB は、高性能なオープンソースの分散 SQL データベースとして、Intelアーキテクチャサーバー、ARMアーキテクチャサーバー、および主要な仮想化環境に導入でき、適切に動作します。TiDB は、ほとんどの主要なハードウェア ネットワークと Linux オペレーティング システムをサポートしています。
OSおよびプラットフォームの要件
v7.5 LTS では、TiDB はオペレーティング システムと CPU アーキテクチャのさまざまな組み合わせに対して複数レベルの品質標準を保証します。
TiDB は、次のオペレーティング システムと CPU アーキテクチャの組み合わせに対してエンタープライズ レベルの本番品質を提供し、製品機能は包括的かつ体系的に検証されています。
オペレーティングシステム サポートされているCPUアーキテクチャ Red Hat Enterprise Linux 8.4 以降の 8.x バージョン - 64ビット
- アーム64
- Red Hat Enterprise Linux 7.3 以降の 7.x バージョン
- CentOS 7.3 またはそれ以降の 7.x バージョン (TiDB は 8.5 LTS でサポートを終了します)
- 64ビット
- アーム64
アマゾン リナックス 2 - 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
注記:
- CentOS Linux のサポート終了によると、CentOS Linux 7 のアップストリームサポートは 2024 年 6 月 30 日に終了します。TiDB は 8.5 LTS バージョンで CentOS 7 のサポートを終了します。Rocky Linux 9.1 以降のバージョンを使用することをお勧めします。
- CentOS Linux のサポート終了によると、CentOS Linux 8 のアップストリームサポートは 2021 年 12 月 31 日に終了しました。アップストリームCentOS Stream 8のサポートは 2024 年 5 月 31 日に終了しました。CentOS Stream 9 は CentOS 組織によって引き続きサポートされます。
次のオペレーティング システムと CPU アーキテクチャの組み合わせでは、TiDB をコンパイル、ビルド、およびデプロイできます。また、OLTP、OLAP、およびデータ ツールの基本機能も使用できます。ただし、TiDB はエンタープライズ レベルの本番品質を保証するものではありません。
オペレーティングシステム サポートされているCPUアーキテクチャ macOS 12 (Monterey) 以降 - 64ビット
- アーム64
Oracle Enterprise Linux 7.3 以降の 7.x バージョン 64ビット Ubuntu LTS 18.04 以降 64ビット CentOS 8 ストリーム - 64ビット
- アーム64
Debian 9 (Stretch) 以降 64ビット Fedora 35以降 64ビット openSUSE Leap v15.3 以降 (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 以降にアップグレードすることを強くお勧めします。
前の 2 つの表に記載されているオペレーティング システムの 32 ビット バージョンを使用している場合、TiDB が 32 ビット オペレーティング システムおよび対応する CPUアーキテクチャ上でコンパイル、ビルド、またはデプロイ可能であることは保証されません。または、TiDB は 32 ビット オペレーティング システムに積極的に適応しません。
上記に記載されていない他のオペレーティング システム バージョンも動作する可能性がありますが、正式にはサポートされていません。
注記:
- Oracle Enterprise Linux の場合、TiDB は Red Hat 互換カーネル (RHCK) をサポートしており、Oracle Enterprise Linux が提供する Unbreakable Enterprise Kernel はサポートしていません。
- CentOS Linux のサポート終了によると、CentOS Linux 8 のアップストリームサポートは 2021 年 12 月 31 日で終了しました。CentOS Stream 8 は CentOS 組織によって引き続きサポートされます。
- Ubuntu 16.04 のサポートは、TiDB の将来のバージョンでは削除されます。Ubuntu 18.04 以降にアップグレードすることを強くお勧めします。
- 前の表に記載されているオペレーティング システムの 32 ビット バージョンを使用している場合、TiDB が 32 ビット オペレーティング システムおよび対応する CPUアーキテクチャ上でコンパイル、ビルド、またはデプロイ可能であることは保証されません。または、TiDB は 32 ビット オペレーティング システムに積極的に適応しません。
- 上記に記載されていない他のオペレーティング システム バージョンも動作する可能性がありますが、正式にはサポートされていません。
TiDB のコンパイルと実行に必要なライブラリ
TiDB のコンパイルと実行に必要なライブラリ | バージョン |
---|---|
Golang | 1.21以降 |
さび | nightly-2022-07-31 以降 |
湾岸協力会議 | 7.x |
LLVM | 13.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
cat /proc/cpuinfo | grep avx2
出力されていることを確認してください。Linux ARM64アーキテクチャでTiFlash を展開するには、CPU が ARMv8 命令セットアーキテクチャをサポートしている必要があります。3cat /proc/cpuinfo | grep 'crc32' | 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 以内に抑えることをお勧めします。
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 の展開に基づいて、管理者はネットワーク側とホスト側で関連するポートを開くことができます。
成分 | デフォルトポート | 説明 |
---|---|---|
ティビ | 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メトリックを取得するためのポート |
Pump | 8250 | Pump通信ポート |
Drainer | 8249 | Drainer通信ポート |
ティ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 が有効になっている最新バージョンの Internet Explorer、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コンピューティング ノードを迅速にスケールインまたはスケールアウトできます。