HBase と Tablestore は分散 NoSQL データベースです。HBase API 操作との互換性を確保するために、Tablestore は Tablestore HBase Client をリリースしました。このトピックでは、サービスとしての Tablestore とソフトウェアとしての HBase の違い、および機能面での違いについて説明します。
Tablestore と HBase の違い
機能比較
次の表に、Tablestore と HBase の機能面での違いを示します。
項目 | Tablestore | HBase |
データモデル | WideColumn | |
データの型 | String や Integer など、複数のデータ型。詳細については、「データ型」をご参照ください。 | バイナリバイト |
クライアント | 外部システムおよびリソースへの依存性が少ないシン クライアント。 | 外部システムおよびリソースへの依存性が多いシック クライアント。 |
伝送プロトコル | HTTPS | RPC |
メーターリングと課金 | 予約リソースと従量課金 | 予約リソース |
サービス ホスティング | フルマネージド | セミマネージド |
最大バージョン数 | サポートされています | サポートされています |
有効期限 ( TTL ) | サポートされています | サポートされています |
トランザクション | 単一行トランザクションとパーティション内トランザクション。詳細については、「ローカル トランザクション」をご参照ください。 | 単一行トランザクション |
インデックス | インデックスはサポートされていません。ただし、Phoenix を使用してセカンダリ インデックスを作成および使用できます。 | |
リアルタイム サブスクリプション | サポートされていません | |
データ分析 | 多次元インデックスの集約や SQL クエリなどのインタラクティブ分析がサポートされています。 | サポートされていません |
コンピューティング エンジンとの統合 |
| バッチ処理用の Spark と MaxCompute |
アクセス制御 | Resource Access Management ( RAM ) と セキュリティトークンサービス ( STS ) で構成される Alibaba Cloud セキュリティ アカウント管理システム | より複雑な Kerberos |
データの暗号化 | 保存時の暗号化と Bring Your Own Key ( BYOK ) | なし |
負荷分散 | 自動ホットスポット パーティション検出の結果に基づいて、パーティションの分割とマージがトリガーされます。 | 単純なポリシーによってパーティションの分割がトリガーされます。 |
基盤となるストレージ | Pangu ストレージ | HDFS |
ソフトウェアとサービスの比較
Tablestore と HBase のアーキテクチャは Google Bigtable を参考にしています。Tablestore と HBase は同様の Wide Column モデルを備えています。HBase はオープンソース ソフトウェアですが、Tablestore は RESTful API 操作を呼び出すことによって使用できるクラウド サービスです。次の表に、サービスとしての Tablestore とソフトウェアとしての HBase の違いを示します。
項目 | Tablestore | セルフビルド HBase クラスタ |
コスト | リソース使用量に対して従量課金されます。さまざまなシナリオに対応するために、高性能インスタンスと容量インスタンスが提供されています。 | リソースはトラフィックのピークに基づいて割り当てられます。オフピーク時にはリソースがアイドル状態のままになるため、運用コストとメンテナンス コストが高くなります。 |
セキュリティ | Alibaba Cloud RAM と統合されており、RAM ポリシー、インスタンス ポリシー、ネットワーク アクセス コントロール リスト ( ACL ) など、複数の認証および権限付与メカニズムをサポートしています。権限付与の粒度は、テーブル レベルと操作レベルで定義できます。 | 追加のセキュリティ メカニズムが必要です。 |
信頼性 | データの複数のバックアップが自動的に作成され、自動フェールオーバーが実行されます。 | クラスタの信頼性を確保するために追加のメカニズムが必要です。 |
スケーラビリティ | Tablestore の自動負荷分散メカニズムは、PB レベルのデータと 1 つのテーブルあたり数百万の同時アクセス リクエストのストレージをサポートしており、リソースを手動でスケーリングする必要はありません。 | クラスタの使用率が高くなった場合、複雑なオンライン プロセスとオフライン プロセスが必要になり、オンライン ビジネスに影響します。 |
Tablestore と HBase 操作の互換性
HBase は一般的な分散 NoSQL データベースです。HBase 操作との互換性を確保するために、Tablestore はユーザーが HBase から Tablestore にアプリケーションを簡単に移行できるように Tablestore HBase Client をリリースしました。
参考資料
Tablestore HBase Client の詳細については、「Tablestore HBase Client の概要」および「Tablestore HBase Client を使用する」をご参照ください。
Tablestore HBase Client を使用して Tablestore データを読み取る方法については、「HBase Client から Tablestore HBase Client に移行する」をご参照ください。
Tablestore と HBase は同様のデータモデルと機能を備えています。ただし、Tablestore HBase Client とネイティブ HBase API には特定の違いがあります。詳細については、「Tablestore HBase Client でサポートされている機能」をご参照ください。
Tablestore HBase Client が HBase V1.0.0 以前と互換性を持つようにする方法については、「Tablestore HBase Client を 1.0 より前の HBase バージョンと互換性を持たせる」をご参照ください。
DataWorks Data Integration または DataX を使用して、HBase データを Tablestore に移行できます。詳細については、「Data Integration」をご参照ください。