すべてのプロダクト
Search
ドキュメントセンター

Tablestore:Tablestore HBase クライアントがサポートする機能

最終更新日:May 01, 2026

Tablestore をご利用の場合、Tablestore はテーブル分割、Dump、コンパクション、リージョンサーバーなどのインフラストラクチャの詳細を隠蔽するため、データの利用に集中するだけで済みます。Tablestore と HBase はデータモデルおよび機能が類似していますが、Tablestore HBase クライアントはネイティブの HBase API とは一部異なる点があります。本トピックでは、Tablestore HBase クライアントがサポートする機能および操作について説明します。

サポートされる機能

CreateTable

Tablestore はカラムファミリーをサポートしていません。すべてのデータは単一のカラムファミリーに属するため、生存時間 (TTL) および Tablestore のバージョンの最大数は、カラムファミリーレベルではなくテーブルレベルで設定されます。

機能

サポート状況

family max version

テーブルレベルでサポートされています。デフォルト値:1。

family min version

いいえ

family TTL

テーブルレベルでサポートされています。

is/set ReadOnly

RAM ユーザーに対してサポートされています。

事前パーティション分割

いいえ

blockcache

いいえ

blocksize

いいえ

BloomFilter

いいえ

column max version

いいえ

セル TTL

いいえ

管理・制御用パラメーター

いいえ

Put

機能

サポート状況

複数の列のデータを同時に書き込む

はい

タイムスタンプを指定する

はい

タイムスタンプが指定されていない場合、システム時刻を使用する

はい

単一行に対するアクセス制御リスト (ACL)

いいえ

TTL

いいえ

セルの可視性

いいえ

タグ

いいえ

Get

Tablestore はデータ整合性を強力に保証します。書き込み操作が HTTP 200 (OK) を返した時点で、データはすべてのレプリカに書き込まれ、すぐに Get 操作で取得可能になります。

機能

サポート状況

単一行のデータを読み取る

はい

カラムファミリー内のすべての列を読み取る

はい

特定の列からデータを読み取る

はい

特定のタイムスタンプを持つデータを読み取る

はい

特定のバージョン数のデータを読み取る

はい

TimeRange

はい

ColumnFamilyTimeRange

いいえ — カラムファミリーは単一のみ

RowOffsetPerColumnFamily

はい

MaxResultsPerColumnFamily

いいえ — カラムファミリーは単一のみ

checkExistenceOnly

いいえ

closestRowBefore

はい

attribute

いいえ

cacheblock:true

はい

cacheblock:false

いいえ

IsolationLevel:READ_COMMITTED

はい

IsolationLevel:READ_UNCOMMITTED

いいえ

IsolationLevel:STRONG

はい

IsolationLevel:TIMELINE

いいえ

Scan

Tablestore はデータ整合性を強力に保証します。書き込み操作が HTTP 200 (OK) を返した時点で、データはすべてのレプリカに書き込まれ、すぐに Scan 操作で取得可能になります。

機能

サポート状況

指定された開始および終了パラメーターに基づいてスキャン範囲を決定する

はい

スキャン範囲が指定されていない場合、グローバルにデータをスキャンする

はい

プレフィックスフィルター

はい

Get 操作と同じロジックでデータを読み取る

はい

逆順でデータを読み取る

はい

caching

はい

batch

いいえ

maxResultSize

いいえ

small

いいえ

cacheblock:true

はい

cacheblock:false

いいえ

IsolationLevel:READ_COMMITTED

はい

IsolationLevel:READ_UNCOMMITTED

いいえ

IsolationLevel:STRONG

はい

IsolationLevel:TIMELINE

いいえ

allowPartialResults

いいえ

Batch

機能

サポート状況

Get

はい

Put

はい

Delete

はい

BatchCallback

いいえ

Delete

機能

サポート状況

行を削除する

はい

特定の列からすべてのバージョンのデータを削除する

はい

特定の列から特定のバージョンのデータを削除する

はい

指定されたカラムファミリーを削除する

いいえ — カラムファミリーは単一のみ

タイムスタンプを指定して、そのタイムスタンプに等しいバージョンを削除する

はい

タイムスタンプを指定し、deleteFamily または deleteColumns を使用して、そのタイムスタンプ以下(以前)のバージョンを削除する

いいえ

タイムスタンプが指定されていない場合、deleteColumn を使用して最新バージョンを削除する

いいえ

タイムスタンプが指定されていない場合、deleteFamily または deleteColumns を使用して現在のシステム時刻のバージョンを削除する

いいえ

addDeleteMarker

いいえ

checkAndXXX

機能

サポート状況

CheckAndPut

はい

checkAndMutate

はい

CheckAndDelete

はい

列の値が条件を満たしているかチェックし、満たしている場合は行を削除する

はい

値が指定されていない場合、デフォルト値を使用する

はい

行 A をチェックし、行 B に対して操作を実行する

いいえ

exist

機能

サポート状況

1 行以上の存在を確認する(コンテンツは返さない)

はい

Filter

機能

サポート状況

ColumnPaginationFilter

部分的にサポート — columnOffset および count はサポートされていません

ColumnRangeFilter

はい

FilterList

サポートされています — FilterList は ColumnRangeFilter、ColumnValueFilter、および ColumnPaginationFilter を組み合わせてネストできます。

SingleColumnValueFilter

  • サポート対象:LongComparator、BinaryComparator、ByteArrayComparable

  • 非サポート対象:RegexStringComparator、SubstringComparator、BitComparator

サポートされないメソッド

Tablestore はマネージドクラウドサービスとして、コンパクション、リージョン管理、レプリケーションなどのインフラストラクチャ操作を自動的に処理します。そのため、これらの低レベルな制御を公開する HBase メソッドは利用できません。以下の表は、モジュールごとにサポートされないメソッドを示しています。

モジュール

サポートされないメソッド

Table

Tablestore はテーブルあたり 1 つのカラムファミリーのみをサポートします。

行およびセル

  • アクセス制御リスト (ACL) はサポートされていません。

  • セルの可視性はサポートされていません。

  • タグはサポートされていません。

GET

Tablestore はカラムファミリーを 1 つしかサポートしないため、カラムファミリー固有のメソッドは利用できません。

  • setColumnFamilyTimeRange(byte[] cf, long minStamp, long maxStamp)

  • setMaxResultsPerColumnFamily(int limit)

  • setRowOffsetPerColumnFamily(int offset)

SCAN

以下のメソッドは、GET と同様の理由でサポートされていません。

  • setBatch(int batch)

  • setMaxResultSize(long maxResultSize)

  • setAllowPartialResults(boolean allowPartialResults)

  • setLoadColumnFamiliesOnDemand(boolean value)

  • setSmall(boolean small)

Batch

BatchCallback はサポートされていません。

変更および削除

  • 特定のカラムファミリーの削除はサポートされていません。

  • 最新のタイムスタンプを持つバージョンの削除はサポートされていません。

  • 指定されたタイムスタンプより前のすべてのバージョンの削除はサポートされていません。

Increment および Append

アトミックな増分、減分、および Append はサポートされていません。

最適化

以下の HBase パラメーターはアクセスおよびストレージの最適化を制御します。Tablestore はこれらを内部で管理しており、変更はできません。

  • blockcache:常に true に固定されています。変更できません。

  • blocksize:64 KB に固定されています。変更できません。

  • IsolationLevel:READ_COMMITTED に固定されています。変更できません。

  • 整合性:STRONG に固定されています。変更できません。

Admin

org.apache.hadoop.hbase.client.Admin のほとんどのメソッドは、Tablestore では不要なインフラストラクチャ管理を処理します。

Tablestore はクラウドサービスであり、管理および制御に関連する操作を自動的に行います。以下の Admin 操作はサポートされていません。

  • CreateTable

    Tablestore はカラムファミリーを 1 つしかサポートしません。テーブル作成時には、そのカラムファミリーの MaxVersions および TimeToLive を指定できます。

  • メンテナンスタスク

    Tablestore では、以下のメンテナンス操作が自動的に処理されます。

    • abort(String why, Throwable e)

    • balancer()

    • enableCatalogJanitor(boolean enable)

    • getMasterInfoPort()

    • isCatalogJanitorEnabled()

    • rollWALWriter(ServerName serverName) -runCatalogScan()

    • setBalancerRunning(boolean on, boolean synchronous)

    • updateConfiguration(ServerName serverName)

    • updateConfiguration()

    • stopMaster()

    • shutdown()

  • 名前空間

    Tablestore はデータテーブルを整理するために インスタンス を使用します。インスタンスは Tablestore における課金の最小単位です。Tablestore コンソール でインスタンスを管理してください。以下の名前空間メソッドはサポートされていません。

    • createNamespace(NamespaceDescriptor descriptor)

    • deleteNamespace(String name)

    • getNamespaceDescriptor(String name)

    • listNamespaceDescriptors()

    • listTableDescriptorsByNamespace(String name)

    • listTableNamesByNamespace(String name)

    • modifyNamespace(NamespaceDescriptor descriptor)

  • リージョン管理

    パーティションは Tablestore におけるデータストレージおよび管理の基本単位です。Tablestore はデータ量およびアクセスパターンに基づいてパーティションを自動的に分割またはマージするため、リージョン管理メソッドは公開されていません。

    • assign(byte[] regionName)

    • closeRegion(byte[] regionname, String serverName)

    • closeRegion(ServerName sn, HRegionInfo hri)

    • closeRegion(String regionname, String serverName)

    • closeRegionWithEncodedRegionName(String encodedRegionName, String serverName)

    • compactRegion(byte[] regionName)

    • compactRegion(byte[] regionName, byte[] columnFamily)

    • compactRegionServer(ServerName sn, boolean major)

    • flushRegion(byte[] regionName)

    • getAlterStatus(byte[] tableName)

    • getAlterStatus(TableName tableName)

    • getCompactionStateForRegion(byte[] regionName)

    • getOnlineRegions(ServerName sn)

    • majorCompactRegion(byte[] regionName)

    • majorCompactRegion(byte[] regionName, byte[] columnFamily)

    • mergeRegions(byte[] encodedNameOfRegionA, byte[] encodedNameOfRegionB, boolean forcible)

    • move(byte[] encodedRegionName, byte[] destServerName)

    • offline(byte[] regionName)

    • splitRegion(byte[] regionName)

    • splitRegion(byte[] regionName, byte[] splitPoint)

    • stopRegionServer(String hostnamePort)

    • unassign(byte[] regionName, boolean force)

スナップショット

Tablestore はスナップショットおよびスナップショット関連のメソッドをサポートしていません。

レプリケーション

Tablestore はレプリケーションおよびレプリケーション関連のメソッドをサポートしていません。

テーブル管理

Tablestore はテーブルパーティションの分割、マージ、コンパクションを自動的に行います。以下のテーブル管理メソッドはサポートされていません。

  • getTableDescriptor(TableName tableName)

  • compact(TableName tableName)

  • compact(TableName tableName, byte[] columnFamily)

  • flush(TableName tableName)

  • getCompactionState(TableName tableName)

  • majorCompact(TableName tableName)

  • majorCompact(TableName tableName, byte[] columnFamily)

  • modifyTable(TableName tableName, HTableDescriptor htd)

  • split(TableName tableName)

  • split(TableName tableName, byte[] splitPoint)

コプロセッサ

Tablestore はコプロセッサをサポートしていません。以下のメソッドは利用できません。

  • coprocessorService()

  • coprocessorService(ServerName serverName)

  • getMasterCoprocessors()

分散プロシージャ

Tablestore は分散プロシージャをサポートしていません。以下のメソッドは利用できません。

  • execProcedure(String signature, String instance, Map props)

  • execProcedureWithRet(String signature, String instance, Map props)

  • isProcedureFinished(String signature, String instance, Map props)

使用制限

Tablestore はマネージドクラウドサービスです。一貫したパフォーマンスを確保するため、一部のパラメーターは固定値となっており、変更できません。詳細については、「一般制限事項」をご参照ください。