ApsaraDB for HBase では、マスターノードとコアノードに対して、さまざまな仕様、数量、およびディスクタイプを選択できます。クエリ/秒 (QPS)、必要なストレージ容量、読み取りおよび書き込みリクエストの数、応答レイテンシ、安定性など、ワークロードの特性に基づいて仕様とディスクタイプを選択できます。
通常、以下を選択する必要があります。
マスターノードの仕様
コアノードの仕様と数
ディスクのサイズとタイプ
ApsaraDB for HBase エディション。 ApsaraDB for HBase エディションの選択方法の詳細については、「ApsaraDB for HBase エディション」をご参照ください。
Elastic Compute Service (ECS) インスタンスのエディション: 専用の ECS インスタンスが使用されます。安定性を確保するために、専用の ECS インスタンスに専用リソースが割り当てられます。ワークロードで低い応答レイテンシが必要な場合は、専用の ECS インスタンスと SSD を使用してください。
マスターノード仕様の選択
マスターノードはストレージには使用できません。デフォルトでは、プライマリセカンダリモードの 2 つのマスターノードが、単一障害点が発生した場合のディザスタリカバリに使用されます。マスターノードは重要です。ApsaraDB for HBase マスター、Hadoop Distributed File System (HDFS) ネームノード、および ZooKeeper はマスターノードにデプロイされます。マスターノードに十分な CPU またはメモリリソースがない場合、クラスタのパフォーマンスは大幅に低下します。
コアノードの数 | マスターノード仕様の選択 |
< 4 | 4 コア CPU および 8 GB メモリ |
4 ≤ コアノードの数 < 8 | 8 コア CPU および 16 GB メモリ (小規模クラスタに推奨) |
8 ≤ コアノードの数 < 16 | 8 コア CPU および 32 GB メモリ |
> 16 | 16 コア CPU および 64 GB メモリ以上 |
クラスタによって管理されるコアノード、テーブル、およびリージョンの数に基づいて、マスターノードの仕様を選択する必要があります。クラスタが多数のテーブルまたはリージョンを管理する場合は、高仕様のマスターノードを選択してください。
コアノード仕様の選択
コアノードとは、ApsaraDB for HBase の RegionServers を指します。リクエストの数に基づいてコアノードの仕様を選択する必要があります。コアノードの最小仕様は 4 コア CPU および 8 GB メモリで、コアノードの最大仕様は 32 コア CPU および 128 GB メモリです。
最適なパフォーマンスを実現するには、すべてのメタデータをキャッシュすることが重要です。これは、高パフォーマンスを確保するための重要な要素です。さまざまな ApsaraDB for HBase クラスタについて、コアノード仕様の選択に関する次の例を参考として提供します。
小規模クラスタ: 4 コア CPU および 16 GB メモリ、または 8 コア CPU および 32 GB メモリを使用することをお勧めします。
中規模または大規模クラスタ: メモリに格納されるデータ量に基づいてコアノードを選択します。
格納されるデータ量が多い場合: 16 コア CPU および 64 GB メモリ、または 32 コア CPU および 128 GB メモリを使用することをお勧めします。
格納されるデータ量が少ない場合: 16 コア CPU および 32 GB メモリ、または 32 コア CPU および 64 GB メモリを使用することをお勧めします。
リクエストの数は、コアノード仕様の選択を決定する唯一の基準ではありません。コアノードの仕様を選択する際には、すべての要素を十分に考慮することをお勧めします。たとえば、ワークロードで 1 秒あたり数百のリクエストを処理する必要があるとします。ほとんどの場合、4 コア CPU および 8 GB メモリのコアノードを選択してリクエストを処理できます。ただし、このルールは次のシナリオには適用されません。次のシナリオでは、4 コア CPU および 8 GB メモリのコアノードは、ワークロードの安定性に影響を与え、応答レイテンシを増加させる可能性があります。
キロバイトまたはメガバイトのデータを格納する行がクエリされます。
スキャンリクエストに複雑なフィルタが含まれています。
リクエストのキャッシュヒット率が低い。各リクエストはディスクによって受信されます。
クラスタが多数のテーブルとリージョンを管理しています。
必要なストレージ容量の計算についてサポートが必要な場合は、ApsaraDB for HBase Q&A DingTalk グループ s0s3eg3 に参加するか、チケットを送信してください。
次の表に、さまざまなワークロードの処理に推奨されるコアノード仕様を示します。コアノードの仕様を選択する際には、すべての要素を十分に考慮することをお勧めします。
TPS+QPS | 推奨されるコアノードの数と仕様 | 提案 |
1,000 未満 | 4 コア CPU および 16 GB メモリの 2 つのコアノード | 軽い負荷を処理するために推奨される最小仕様。各コアノードに 600 を超えるリージョンをデプロイしないことをお勧めします。 ApsaraDB for HBase で利用可能な最小仕様は、4 コア CPU および 8 GB メモリです。負荷またはキーバリューストアが急増した場合、8 GB メモリではメモリ不足エラーが発生する可能性があるため、4 コア CPU および 8 GB メモリを選択しないことをお勧めします。 |
1,000 ~ 20,000 | 8 コア CPU および 32 GB メモリの 2 つまたは 3 つのコアノード | 8 コア CPU および 16 GB メモリと比較して、8 コア CPU および 32 GB メモリの方が費用対効果が高くなります。ワークロードの安定性を保証するために、追加の 16 GB メモリを提供します。軽い負荷と中程度の負荷を処理するには、8 コア CPU および 32 GB メモリを選択することをお勧めします。 |
20,000 超 | 8 コア CPU および 32 GB メモリ、16 コア CPU および 32 GB メモリ、16 コア CPU および 64 GB メモリ、32 コア CPU および 64 GB メモリ、32 コア CPU および 128 GB メモリ、またはそれ以上 | リクエストの実際の数に基づいてコアノードの数を選択します。ワークロードがオンラインでデプロイされている場合は、キャッシュヒット率を高めるために、メモリが大きい仕様を選択することをお勧めします。負荷の高い MapReduce または Spark オフラインタスクを実行する必要がある場合、またはトランザクション/秒 (TPS) または QPS が高い場合は、CPU リソースが多い仕様を選択してください。 |
高仕様のコアノードを選択するか、コアノードの数を増やす
負荷が急増したり、応答レイテンシが増加したり、クラスタが不安定になったりした場合は、コアノードを追加することで ApsaraDB for HBase クラスタをスケールアウトできます。ただし、クラスタ内のワークロードが適切に設計または提供されていない場合、ホットスポッティングが発生する可能性があります。コアノードの仕様によって、ホットスポッティングを防ぐ能力が決まります。低仕様のコアノードを追加するだけでクラスタをスケールアウトすると、負荷が急増したときにサービスの安定性に影響を与える可能性があります。したがって、高仕様のコアノードを選択することをお勧めします。たとえば、大きなリクエストがノードに送信された場合、またはリージョン内のトラフィックが急増した場合、低仕様のノードは過負荷になったり、メモリ不足になったりする可能性があります。その結果、クラスタの安定性に影響が出ます。
ワークロードの要件に基づいてコアノードの仕様を選択することをお勧めします。
マスターノードまたはコアノードの仕様が要件を満たしていない場合は、ノードをアップグレードできます。詳細については、ApsaraDB for HBase Q&A DingTalk グループ s0s3eg3 に参加するか、チケットを送信してください。
ストレージタイプ
ApsaraDB for HBase は、クラウドディスク、ローカルディスク、コールドストレージの 3 つのストレージタイプをサポートしています。
クラウドディスク: クラウドディスクはスケーラブルで信頼性があります。クラウドディスクを使用することをお勧めします。冗長性を確保するために複製され、ニーズに応じて拡張できます。物理ディスクとは異なり、クラウドディスクはハードウェア仕様から独立しています。これにより、物理的な損傷によるデータ損失を防ぎます。クラウドディスクには、SSD とウルトラディスクが含まれます。
ローカルディスク: ローカルディスクは物理ディスクです。ローカルディスクはクラウドディスクよりも価格が安くなっています。ローカルディスクはスケーラブルではありません。選択したコアノードの仕様によって、ローカルディスクのサイズが決まります。ストレージ容量を増やすには、コアノードを追加することしかできません。ストレージ容量を増やすために、ローカルディスクを使用する ECS インスタンスをアップグレードすることはできません。2 つ以上の物理ディスクが破損すると、ワークロードに影響が出ます。単一ディスクの障害ではデータ損失は発生しません。ApsaraDB for HBase サポートチームは、できるだけ早く破損したディスクを交換する準備ができています。ローカルディスクの起動コストは高くなります。ローカルディスクは、大量のデータを格納するのに適しています。
コールドストレージ: コールドストレージは ApsaraDB for HBase 専用です。コールドストレージは Object Storage Service (OSS) に基づいています。コールドストレージはクラウドディスクと組み合わせて使用できます。コールドストレージを使用してアクセス頻度の低いデータを格納したり、ホットデータとコールドデータの分離機能を使用してコールドデータを自動的にアーカイブしたりできます。これにより、データアーカイブのコストが削減されます。
ApsaraDB for HBase クラスタを作成した後、クラスタのストレージタイプを変更することはできません。クラウドディスクを選択した場合は、クラウドディスクを拡張するか、コアノードを追加することでストレージ容量を増やすことができます。ローカルディスクを選択した場合は、コアノードを追加することによってのみストレージ容量を増やすことができます。コールドストレージは例外です。ApsaraDB for HBase クラスタを作成するときに、コールドストレージを有効にする必要はありません。ApsaraDB for HBase クラスタが作成された後、ニーズに応じてコールドストレージを有効にしてストレージ容量を拡張できます。
機能 | ストレージタイプ | ワークロードタイプ |
高パフォーマンス | SSD、ローカル SSD、または ESSD | 広告、レコメンデーション、フィード、ユーザープロファイリングなど、低い応答レイテンシを必要とするオンラインワークロード。これらのシナリオでは、SSD または ESSD を使用して、1 ~ 2 ミリ秒の低い応答レイテンシを確保し、パフォーマンスのジッタを削減できます。SSD は、低い P99 レイテンシを必要とするユーザーに適しています。P99 レイテンシ: リクエストの 99% が指定されたレイテンシよりも高速である必要があります。 |
高効率 | ウルトラディスクまたはローカル HDD | レイテンシに敏感なオンラインワークロード。ほとんどの場合、HDD を使用すると、応答レイテンシは約 10 ミリ秒になります。ただし、HDD は SSD よりもパフォーマンスのジッタが多くなります。 |
コールドデータストレージ | コールドストレージ用の OSS | ニアラインストレージとデータアーカイブ。クラウドディスクまたはローカルディスクを使用するコールドストレージは、クラウドディスクまたはローカルディスクを使用するホットストレージとほぼ同じ書き込みスループットを実現できます。ただし、コールドデータ読み取りの QPS は制限されています。読み取りレイテンシは約数十ミリ秒です。 |