DS201: Foundations of Apache Cassandra™ and DataStax Enterprise の学習記録です。
CQLSH (Cassandra Query Language Shell) の起動
cqlsh
は、Cassandraクラスターに接続し、CQL(Cassandra Query Language)を使用してデータベース操作を行うためのコマンドラインシェルです。
cqlsh
cqlsh
を実行すると、Cassandraクラスターに接続され、cqlsh>
プロンプトが表示されます。
Keyspaceの作成
**Keyspace(キースペース)**は、Cassandraにおけるデータベースのトップレベルのコンテナです。データの論理的なグループ化を提供し、テーブルやデータの構造、レプリケーション戦略などを定義します。
killrvideo
という名前のキースペースを SimpleStrategy
と replication_factor
1で作成する例です。
CREATE KEYSPACE killrvideo
WITH replication = {
'class': 'SimpleStrategy',
'replication_factor': 1
};
replication
: キースペース内のデータの冗長複製を管理する方法を指定します。'class'
: レプリケーション戦略を指定します。SimpleStrategy
は単一データセンター向け、NetworkTopologyStrategy
は複数データセンター向けです。'replication_factor'
: データの複製数を指定します。
Keyspaceの選択
操作対象のキースペースを選択します。
USE killrvideo;
選択すると、プロンプトが cqlsh:killrvideo>
のように変化します。
Tableの作成
キースペース内にテーブルを作成します。テーブルは、リレーショナルデータベースのテーブルに似ていますが、Cassandraのデータモデルに合わせて設計されます。
CREATE TABLE videos (
video_id TIMEUUID,
added_date TIMESTAMP,
title TEXT,
PRIMARY KEY (video_id)
);
TIMEUUID
: 時間ベースのUUID(Universally Unique Identifier)型です。TIMESTAMP
: 日付と時刻の型です。TEXT
: 文字列型です。PRIMARY KEY (video_id)
:video_id
をプライマリキーとして設定します。Cassandraのプライマリキーは、データのパーティションとクラスタリングを決定します。
データの挿入
INSERT INTO
文を使用してテーブルにデータを挿入します。
INSERT INTO videos (video_id, added_date, title)
VALUES (1645ea59-14bd-11e5-a993-8138354b7e31, '2014-01-29', 'Cassandra History');
データの確認
SELECT
文を使用してテーブルからデータを取得します。
SELECT * FROM videos;
実行結果例:
video_id | added_date | title
--------------------------------------+---------------------------------+-------------------
1645ea59-14bd-11e5-a993-8138354b7e31 | 2014-01-28 15:00:00.000000+0000 | Cassandra History
データの全件削除
TRUNCATE
文は、テーブルからすべてのデータを削除します。テーブル構造は残ります。
TRUNCATE videos;
TRUNCATE
後に SELECT * FROM videos;
を実行すると、データが空になっていることが確認できます。
video_id | added_date | title
----------+------------+------