Cassandra クイックスタート
ステップ1:Dockerを使用したCassandraの取得
Docker Desktop for Mac、Docker Desktop for Windows、または同様のソフトウェアをコンピュータにインストールする必要があります。
Apache Cassandraは、tarballまたはパッケージとしても利用できます。ダウンロード
docker pull cassandra:latest
ステップ2:Cassandraの起動
Dockerネットワークを使用すると、ホスト上でポートを公開することなく、コンテナのポートにアクセスできます。
docker network create cassandra
docker run --rm -d --name cassandra --hostname cassandra --network cassandra cassandra
ステップ3:ファイルの作成
Cassandra Query Language (CQL) はSQLと非常によく似ていますが、CassandraのJOINレス構造に適しています。
data.cqlという名前のファイルを作成し、次のCQLスクリプトを貼り付けます。このスクリプトは、Cassandraがデータを複製するレイヤーであるkeyspace、データを入れるテーブルを作成し、そのテーブルにいくつかのデータを追加します。
CREATE KEYSPACE IF NOT EXISTS store WITH REPLICATION =
{ 'class' : 'SimpleStrategy',
'replication_factor' : '1'
};
CREATE TABLE IF NOT EXISTS store.shopping_cart (
userid text PRIMARY KEY,
item_count int,
last_update_timestamp timestamp
);
INSERT INTO store.shopping_cart
(userid, item_count, last_update_timestamp)
VALUES ('9876', 2, toTimeStamp(now()));
INSERT INTO store.shopping_cart
(userid, item_count, last_update_timestamp)
VALUES ('1234', 5, toTimeStamp(now()));
ステップ4:cqlshを使用したデータのロード
CQLシェル、つまりcqlsh
は、データベースとの対話に使用できるツールの1つです。これを使用して、保存したスクリプトを使用してデータベースにいくつかのデータを読み込みます。
docker run --rm --network cassandra \
-v "$(pwd)/data.cql:/scripts/data.cql" \
-e CQLSH_HOST=cassandra -e CQLSH_PORT=9042 \
-e CQLVERSION=3.4.6 nuvo/docker-cqlsh
cassandraサーバー自体(最初に実行したdocker runコマンド)の起動には数秒かかります。サーバーが初期化シーケンスを完了していない場合、上記のcommandはエラーをスローするため、起動するまで数秒待ちます。 |
ステップ5:インタラクティブなcqlsh
SQLシェルと同様に、cqlsh
を使用してCQLコマンドをインタラクティブに実行することもできます。
docker run --rm -it --network \
cassandra nuvo/docker-cqlsh cqlsh cassandra \
9042 --cqlversion='3.4.5'
これにより、次のようなプロンプトが表示されます。
Connected to Test Cluster at cassandra:9042.
[cqlsh 5.0.1 | Cassandra 4.0.4 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cqlsh>
おめでとうございます!
簡単でしたね?
詳細については、次のステップをお勧めします。
-
Cassandraの基本を読んで、主要な概念とCassandraの動作を高度なレベルで学習してください。
-
事例研究を参照して、世界中のコミュニティの他のユーザーがCassandraからどのように価値を得ているかを学習してください。