HBase と Bigtable の違い
Bigtable にアクセスする方法の 1 つは、Java 用 Apache HBase クライアントのカスタマイズ バージョンを使用することです。通常、カスタマイズされたクライアントでは HBase の標準インストールと同じ API が公開されています。このページでは、Java 用 Cloud Bigtable HBase クライアントと標準の HBase インストールの違いについて説明します。相違点のほとんどは、Bigtable で自動的に処理される管理タスクに関するものです。
Java 用 Cloud Bigtable HBase クライアントは、HBase から Bigtable に移行し、HBase API を引き続き使用したいお客様を対象としています。その他のすべてのケースでは、Java デベロッパーは、Bigtable API を呼び出す Java 用 Cloud Bigtable クライアントを使用する必要があります。
列ファミリー
列ファミリーを作成した場合、HBase shell や HBase API からはブロックサイズや圧縮方法を構成できません。ブロックサイズと圧縮は Bigtable で自動的に管理されるためです。
また、HBase シェルを使用してテーブル情報を取得すると、列ファミリーはいずれも圧縮を使用しないというレポートが常に HBase シェルから返されますが、実際には、Bigtable 独自の圧縮方法がすべてのデータに自動的に使用されます。
Bigtable では、列ファミリー名が正規表現 [_a-zA-Z0-9][-_.a-zA-Z0-9]* に従っている必要があります。Bigtable に HBase からデータをインポートする場合は、このパターンに従うために、まずファミリー名の変更が必要な場合があります。