カウンター・テーブルの作成

カウンターは、インクリメントで変化する数値を格納するための特殊なカラムです。

カウンターは、インクリメントで変化する整数の格納に使用される特別なカラムです。

カウンターは、多くのデータ・モデルに役立ちます。以下にいくつかの例を示します。
  • 会社のWebサイトで受信したWebページ・ビューの数を追跡する
  • オンラインでプレーされたゲームの数や、オンライン・ゲームに参加したプレーヤーの数を追跡する
以下に示すテーブルでは、プライマリ・キーとしてidを使用し、カウンター・テーブルのpopularityフィールド内のサムズアップ/サムズダウンのクリック数に基づき、サイクリストの人気を追跡しています。


分散データベースにおけるカウントの追跡には、興味深い課題があります。DataStax Enterpriseでは、カウンター値はいつでもMemtableやコミット・ログ、1つ以上のSSTableに格納できます。ノード間のレプリケーションは、特定のエッジ・ケースで整合性の問題の原因となる場合があります。

カウンターの実装は他のカラムとは異なるため、カウンター・カラムは専用のテーブルにのみ作成できます。カウンター・カラムはカウンター・データ型である必要があります。このデータ型を、プライマリ・キーまたはパーティション・キーとして使用されるカラムに割り当てることはできません。カウンター・カラムを実装するには、以下の項目のみを含むテーブルを作成します。
  • プライマリ・キー(1つ以上のカラムを指定できる)
  • カウンター・カラム

カウンター関連設定の多くはcassandra.yaml ファイルで設定できます。

カウンター・カラムでインデックスを作成したり、カウンター・カラムを削除したりすることはできません。データをカウンター・カラムに読み込む場合、またはカウンターの値を増減する場合は、UPDATEコマンドを使用します。カウンター・カラムを更新する際、USING TIMESTAMPまたはUSING TTLは拒否されます。

複数のカウンター・カラムのあるテーブルを作成するには:
  • カウンター・カラムとカウンター以外のカラムを定義するには、CREATE TABLEを使用します。カウンター以外のすべてのカラムは、PRIMARY KEY定義の一部として使用します。
cassandra.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストール
Installer-Servicesインストール

/etc/dse/cassandra/cassandra.yaml

tarボール・インストール
Installer-No Servicesインストール

install_location/resources/cassandra/conf/cassandra.yaml