TiDB のソフトウェアおよびハードウェア要件
このドキュメントでは、TiDBデータベースの導入と実行に必要なソフトウェアおよびハードウェア要件について説明します。TiDBは、高性能なオープンソースの分散SQLデータベースであり、Intelアーキテクチャサーバー、ARMアーキテクチャサーバー、および主要な仮想化環境に導入でき、良好な動作を実現します。TiDBは、主要なハードウェアネットワークとLinuxオペレーティングシステムのほとんどをサポートしています。
OSおよびプラットフォームの要件
v8.5 LTS では、TiDB はオペレーティング システムと CPU アーキテクチャのさまざまな組み合わせに対して複数レベルの品質標準を保証します。
TiDB は、次のオペレーティング システムと CPU アーキテクチャの組み合わせに対してエンタープライズ レベルの本番品質を提供し、製品機能は包括的かつ体系的に検証されています。
以下のオペレーティングシステムとCPUアーキテクチャの組み合わせでは、TiDBをコンパイル、ビルド、デプロイできます。また、OLTP、OLAP、およびデータツールの基本機能もご利用いただけます。ただし、これらの組み合わせは包括的かつ体系的なテストが行われていないため、TiDBはエンタープライズレベルの本番品質を保証するものではありません。
注記:
- Oracle Enterprise Linux の場合、TiDB は Red Hat Compatible Kernel (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 の実行に必要なライブラリ: glibc (2.28-151.el8 バージョン)
Dockerイメージの依存関係
次の CPU アーキテクチャがサポートされています。
- x86_64。TiDB v6.6.0以降では、 x86-64-v2命令セットが必要です。
- ARM64
ソフトウェア要件
制御機
注記:
制御マシンにTiUPを展開するクラスターを操作および管理する必要があります。
ターゲットマシン
サーバー要件
TiDBは、Intel x86-64アーキテクチャの64ビット汎用ハードウェアサーバープラットフォーム、またはARMアーキテクチャのハードサーバープラットフォームに導入および実行できます。開発環境、テスト環境、および本番環境におけるサーバーハードウェア構成に関する要件と推奨事項(オペレーティングシステム自体が占有するリソースは除く)は次のとおりです。
開発およびテスト環境
注記:
- テスト環境では、TiDB インスタンスと PD インスタンスを同じサーバーにデプロイできます。
- パフォーマンス関連のテストでは、テスト結果の正確性を保証するために、低パフォーマンスのstorageおよびネットワーク ハードウェア構成を使用しないでください。
- TiKVサーバーでは、読み取りと書き込みを高速化するために NVMe SSD を使用することをお勧めします。
- 機能のテストと検証のみを行う場合は、手順TiDB クイックスタートガイドに従って、TiDB を 1 台のマシンにデプロイします。
- 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のベクトル化エンジンはより優れたパフォーマンスを発揮できます。
生産環境
注記:
- 本番環境では、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の導入状況に基づいて、ネットワーク側とホスト側で適切なポートを開くことができます。
ストレージ要件
TiDBはXFSとExt4ファイルシステムをサポートしています。その他のファイルシステムは本番環境では推奨されません。
Webブラウザの要件
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 およびメモリの要件については、次のセクションで説明します。
開発およびテスト環境
生産環境
注記:
TiUPなどのデプロイメント ツールを使用して、
[0, +inf]範囲内でTiFlashコンピューティング ノードを迅速にスケールインまたはスケールアウトできます。