ソフトウェアとハードウェアの推奨事項
TiDBは、高性能なオープンソースの分散SQLデータベースであり、Intelアーキテクチャサーバー、ARMアーキテクチャサーバー、主要な仮想化環境に導入でき、優れたパフォーマンスを発揮します。TiDBは、主要なハードウェアネットワークとLinuxオペレーティングシステムのほとんどをサポートしています。
OSおよびプラットフォームの要件
v8.1 LTS では、TiDB はオペレーティング システムと CPU アーキテクチャのさまざまな組み合わせに対して複数レベルの品質標準を保証します。
TiDB は、次のオペレーティング システムと CPU アーキテクチャの組み合わせに対してエンタープライズ レベルの本番品質を提供し、製品機能は包括的かつ体系的に検証されています。
注記:
- 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はエンタープライズレベルの本番品質を保証するものではありません。
注記:
- 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 の実行に必要なライブラリ: glibc (バージョン 2.28-151.el8)
Dockerイメージの依存関係
次の CPU アーキテクチャがサポートされています。
- x86_64。TiDB v6.6.0以降では、 x86-64-v2命令セット必要です。
- ARM 64
ソフトウェアの推奨事項
制御機
注記:
TiDB クラスター制御マシンに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
cat /proc/cpuinfo | grep avx2出力されていることを確認してください。Linux ARM64アーキテクチャでTiFlashを展開するには、CPUがARMv8命令セットアーキテクチャをサポートしている必要があります。3cat /proc/cpuinfo | grep 'crc32' | 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 と 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は、データベースメトリクスの可視化にグラファナ使用しています。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コンピューティング ノードを迅速にスケールインまたはスケールアウトできます。