TiDBのソフトウェアおよびハードウェア要件
このドキュメントでは、TiDBデータベースのデプロイと実行に必要なソフトウェアおよびハードウェア要件について説明します。TiDBは、高性能なオープンソースの分散型SQLデータベースであり、Intelアーキテクチャサーバー、ARMアーキテクチャサーバー、および主要な仮想化環境にデプロイして良好に動作します。TiDBは、主要なハードウェアネットワークとLinuxオペレーティングシステムのほとんどをサポートしています。
OSおよびプラットフォームの要件
TiDBはv8.5 LTSにおいて、様々なオペレーティングシステムとCPUアーキテクチャの組み合わせに対して、多段階の品質基準を保証します。
TiDBは、以下のオペレーティングシステムとCPUアーキテクチャの組み合わせにおいて、エンタープライズレベルの本番品質を提供し、製品機能は包括的かつ体系的に検証されています。
注記:
Red Hat Enterprise Linux 9.x のサポートはTiUP v1.16.5 から開始されます。
以下のオペレーティングシステムとCPUアーキテクチャの組み合わせであれば、TiDBのコンパイル、ビルド、デプロイが可能です。さらに、OLTP、OLAP、およびデータツールの基本機能も利用できます。ただし、これらの組み合わせは包括的かつ体系的なテストを受けていないため、TiDBはエンタープライズレベルの本番品質を保証するものではありません。
注記:
- Oracle Enterprise Linuxの場合、TiDBはRed Hat互換カーネル(RHCK)をサポートしており、Oracle Enterprise Linuxが提供するUnbreakable Enterprise Kernelはサポートしていません。
- TiDBの今後のバージョンでは、Ubuntu 16.04のサポートは終了します。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 を展開してください。
- バージョン 6.3.0 以降、Linux AMD64アーキテクチャでTiFlash をデプロイするには、CPU が AVX2 命令セットをサポートしている必要があります。
grep avx2 /proc/cpuinfoに出力があることを確認してください。Linux ARM64アーキテクチャでTiFlash をデプロイするには、CPU が ARMv8 命令セットアーキテクチャをサポートしている必要があります。grep 'crc32' /proc/cpuinfo | grep 'asimd'に出力があることを確認してください。命令セット拡張機能を使用することで、TiFlash のベクトル化エンジンはより優れたパフォーマンスを発揮できます。
生産環境
注記:
- 本番環境では、TiDBとPDのインスタンスを同じサーバーにデプロイできます。ただし、より高いパフォーマンスと信頼性を求める場合は、それぞれを別々にデプロイすることをお勧めします。
- 本番環境では、TiDB、TiKV、およびTiFlashをそれぞれ最低8コアのCPUで構成することを強く推奨します。より高いパフォーマンスを得るには、さらに高い構成をお勧めします。
- PCIe SSDを使用する場合はTiKVハードディスクの容量を4TB以内に、通常のSSDを使用する場合は1.5TB以内に抑えることをお勧めします。
- AWS、Google Cloud、AzureなどのクラウドプロバイダーにTiKVをデプロイする場合は、TiKVノードにクラウドディスクを使用することをお勧めします。クラウド環境でTiKVインスタンスがクラッシュした場合、ローカルディスク上のデータが失われる可能性があります。
TiFlashを導入する前に、以下の項目に注意してください。
- TiFlash は複数のディスクに展開されています。
- TiFlashデータディレクトリの最初のディスクとして、TiKVデータのリアルタイムレプリケーションをバッファリングするために、高性能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を導入する前に、500GB以上のPCIe SSDディスクにTiCDCを導入することを推奨します。
ネットワーク要件
オープンソースの分散型SQLデータベースであるTiDBは、動作に以下のネットワークポート設定が必要です。実際の環境におけるTiDBの導入状況に応じて、管理者はネットワーク側とホスト側で関連するポートを開放することができます。
保管要件
TiDBはXFSおよびExt4ファイルシステムをサポートしています。その他のファイルシステムは、本番は推奨されません。
ウェブブラウザの要件
TiDBは、データベースメトリクスの可視化にグラファナ利用しています。JavaScriptが有効になっている最新バージョンのMicrosoft Edge、Safari、Chrome、またはFirefoxがあれば十分です。
TiFlashの分離型storageおよびコンピューティングアーキテクチャに必要なハードウェアおよびソフトウェア要件
前述のTiFlashソフトウェアおよびハードウェア要件は、結合されたstorageとコンピューティングアーキテクチャに関するものです。 v7.0.0 以降、 TiFlash は分散型storageおよびコンピューティングアーキテクチャをサポートします。このアーキテクチャでは、 TiFlash は書き込みノードと計算ノードの 2 種類のノードに分割されます。これらのノードの要件は次のとおりです。
- ソフトウェア: 結合されたstorageとコンピューティングアーキテクチャと同じままです。 OSおよびプラットフォームの要件を参照してください。
- ネットワーク ポート: 結合されたstorageとコンピューティングアーキテクチャと同じままです。ネットワーク参照してください。
- ディスク容量:
- TiFlash書き込みノード: TiFlashレプリカの追加時およびリージョンレプリカの移行時に、データをAmazon S3にアップロードする前にローカルバッファとして使用されるディスク容量は、少なくとも200GB以上設定することをお勧めします。また、Amazon S3と互換性のあるオブジェクトstorageが必要です。
- TiFlash Compute Node:パフォーマンス向上のため、主にWrite Nodeから読み取ったデータをキャッシュする目的で、最低でも100GBのディスク容量を設定することをお勧めします。Compute Nodeのキャッシュが満杯になる場合がありますが、これは正常な動作です。
- CPUとメモリの要件については、以下のセクションで説明します。
開発環境およびテスト環境
生産環境
注記:
TiUPなどのデプロイメントツールを使用すると、
[0, +inf]の範囲内でTiFlash Compute Nodeを迅速にスケールインまたはスケールアウトできます。