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

Tablestore:Wide Column モデル

最終更新日:Jun 11, 2026

Wide Column モデルは、メタデータ、ビッグデータ、その他のシナリオ向けの Bigtable/HBase 互換モデルです。各テーブルは、ペタバイト規模のストレージ、数千万 QPS、スキーマフリーのワイド行、多バージョンデータ、および TTL ベースのライフサイクル管理をサポートします。

モデルの概要

Tablestore の Wide Column モデルは、データを行、列、時間の 3 次元構造でテーブルに格納する、Bigtable/HBase と互換性のあるモデルです。テーブルはスキーマフリーであり、各行は異なる列を持つことができます。また、スキーマを定義することなく属性列の追加や削除が可能です。

モデルのコンポーネント

Wide Column モデルは、以下のコンポーネントで構成されています。

コンポーネント

説明

プライマリキー

テーブル内の各行を一意に識別します。プライマリキーは 1〜4 つのプライマリキー列で構成されます。

パーティションキー

最初のプライマリキー列です。Tablestore は、パーティションキーの値に基づいて複数のパーティションにデータを分散させ、負荷分散を実現します。

属性列

行内のプライマリキー以外の列です。各属性列には、複数のバージョンの値を格納できます。行ごとの属性列の数に制限はありません。

バージョン

各値には、データのライフサイクルを定義するバージョンタイムスタンプがあります。詳細については、「データバージョン」をご参照ください。

データ型

Tablestore は、String、Binary、Double、Integer、Boolean のデータ型をサポートします。詳細については、「データ型」をご参照ください。

Time To Live (TTL)

テーブルごとにデータのライフサイクルを定義します。たとえば、TTL を 1 か月に設定すると、Tablestore は 1 か月より古いデータを自動的に削除します。詳細については、「Time To Live (TTL)」をご参照ください。

最大バージョン数

属性列ごとに保持するバージョンの最大数を設定します。バージョン数がこの制限を超えると、Tablestore は古いバージョンを非同期で削除します。詳細については、「最大バージョン数」をご参照ください。

コアコンポーネント

データテーブル、行、プライマリキー、および属性は、Tablestore の Wide Column モデルのコアコンポーネントです。テーブルは行のコレクションであり、各行はプライマリキーと属性で構成されます。最初のプライマリキー列がパーティションキーです。

次の表で、これらのコンポーネントについて説明します。

説明

プライマリキーと属性列のデータ型は、「命名規則とデータ型」に記載されています。

コンポーネント

説明

プライマリキー

各行を一意に識別します。プライマリキーは 1〜4 つの列で構成されます。テーブルを作成する際には、プライマリキーの構成、各列の名前とデータ型、および列の順序を指定する必要があります。

Tablestore は、データテーブルのプライマリキーに基づいてデータにインデックスを付けます。データテーブルの行は、デフォルトでプライマリキーの昇順にソートされます。

パーティションキー

最初のプライマリキー列です。Tablestore は、パーティションキーの値に基づいて行をパーティションとマシンに分散させ、負荷分散を実現します。同じパーティションキー値を持つ行は、同じパーティションに属します。1つのパーティションには、複数のパーティションキー値を含めることができます。Tablestore は、必要に応じてパーティションを自動的に分割およびマージします。

説明

パーティションキー値は最小のパーティショニング単位であり、それ以上分割することはできません。パーティションが大きくなりすぎるのを防ぐため、単一のパーティションキー値に対するすべての行の合計サイズが 10 GB 未満になるようにしてください。パーティションキーの選択ガイドラインについては、「テーブル操作」をご参照ください。

属性

複数の属性列で構成され、行ごとの制限はありません。列は行ごとに異なり、値を空にすることもできます。このスキーマフリーの特性により、各行は異なる属性列のセットを持つことができます。

属性列は、クエリ用の複数バージョンと設定可能な Time To Live (TTL) をサポートします。詳細については、「データバージョンとTTL」をご参照ください。

リレーショナルモデルとの違い

次の表では、Wide Column モデルとリレーショナルモデルを比較します。

モデル

特徴

Wide Column モデル

3 次元 (行、列、時間)、スキーマフリー、ワイド行、多バージョンデータ、ライフサイクル管理。

リレーショナルモデル

2 次元 (行、列)、固定スキーマ。

制限

一般的な制限については、「制限」に記載されています。

機能

特徴

説明

関連ドキュメント

テーブル操作

インスタンス内のデータテーブルを一覧表示、作成、更新、削除します。

テーブル操作

基本的なデータ操作

Tablestore は、テーブルデータの読み書きのために、単一行操作 (PutRow、GetRow、UpdateRow、DeleteRow) と複数行操作 (BatchWriteRow、BatchGetRow、GetRange) を提供します。

データバージョンと TTL

バージョン管理と TTL を使用してデータ保持を管理し、ストレージ容量とコストを削減します。

データバージョンとTTL

自動インクリメントプライマリキー列

非パーティションプライマリキー列を自動インクリメントに設定した場合、データ書き込み時にその値を指定する必要はありません。Tablestore は、パーティションキーごとに列に一意で厳密に増加する値を生成します。

自動インクリメントプライマリキー列

条件付き更新

指定された条件が満たされた場合にのみデータを更新します。それ以外の場合、更新は失敗します。

条件付き更新

ローカルトランザクション

単一のパーティションキー値内でローカルトランザクションを作成します。読み取りおよび書き込み操作を実行した後、トランザクションをコミットまたは破棄できます。

ローカルトランザクション

アトミックカウンター

ページビュー (PV) のカウントなど、リアルタイムの統計情報を得るために列をアトミックカウンターとして使用します。

アトミックカウンター

フィルター

サーバー側で読み取り結果をフィルタリングし、一致する行のみを返すことで、ネットワーク転送と応答時間を削減します。

フィルター

セカンダリインデックス

インデックステーブルを作成して、プライマリキー以外の列でのクエリを可能にします。グローバルセカンダリインデックスとローカルセカンダリインデックスが含まれます。

  • グローバルセカンダリインデックス:インデックス対象の列とプライマリキー列をインデックステーブルに非同期で同期します。通常、ミリ秒レベルのレイテンシーです。

  • ローカルセカンダリインデックス:インデックス対象の列とプライマリキー列をインデックステーブルに同期的に反映し、書き込み後すぐにクエリを実行できます。

検索インデックス

転置インデックスと列指向ストレージに基づいて構築されており、複雑なビッグデータクエリに対応します。プライマリキー以外の列でのクエリ、全文検索、プレフィックス/あいまいクエリ、複合条件、ネストされたクエリ、地理空間クエリ、集計 (max、min、count、sum、avg、distinct_count、group_by)、および並列スキャンをサポートします。

SQL クエリ

データエンジン間で統一された SQL インターフェイスを提供し、Tablestore 内のデータに対する複雑なクエリと分析を可能にします。インデックスベースのクエリ最適化も備えています。

Tunnel Service

Tablestore は、3 つの分散リアルタイムデータチャネル (増分、完全、増分 + 完全) を提供し、テーブル内の履歴データと新規データの両方を消費および処理します。

課金

読み取り/書き込みスループット、データストレージ、およびアウトバウンドインターネットトラフィックに対して課金されます。詳細については、「課金の概要」をご参照ください。

よくある質問

関連ドキュメント

  • ゾーンレベルの災害復旧のために、ゾーン冗長インスタンスを作成します。詳細については、「ゾーン冗長ストレージ」をご参照ください。

  • テーブル暗号化と VPC アクセスでデータとネットワークアクセスを保護します。詳細については、「データ暗号化」および「ネットワークセキュリティ管理」をご参照ください。

  • 誤った削除を防ぐために、定期的にデータをバックアップします。詳細については、「データバックアップ」をご参照ください。

  • Tunnel Service を使用して、テーブルの履歴データと新規データを消費および処理します。

  • CloudMonitor を使用して、メトリックベースのアラート通知を設定します。詳細については、「モニタリングとアラート」をご参照ください。

  • DataV または Grafana を使用してデータを可視化します。詳細については、「データ可視化」をご参照ください。