Apache Cassandra を始める

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 クエリ言語 (CQL) は SQL に似ていますが、Cassandra の JOIN のない構造に適しています。

「data.cql」という名前のファイルを作成し、次の CQL スクリプトを貼り付けます。このスクリプトは、Cassandra がデータをレプリケートするレイヤーであるキー空間、データを保持するテーブルを作成し、そのテーブルにデータを挿入します

-- Create a keyspace
CREATE KEYSPACE IF NOT EXISTS store WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : '1' };

-- Create a table
CREATE TABLE IF NOT EXISTS store.shopping_cart (
userid text PRIMARY KEY,
item_count int,
last_update_timestamp timestamp
);

-- Insert some data
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 コマンド)の起動には数秒かかります。サーバーがまだ初期化シーケンスを完了していない場合、上記のコマンドはエラーをスローします。したがって、起動するまで数秒待ちます。

手順 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>

手順 6:データを読み取る

 SELECT * FROM store.shopping_cart;

手順 7:データをさらに書き込む

 INSERT INTO store.shopping_cart (userid, item_count) VALUES ('4567', 20);

手順 8:クリーンアップ

docker kill cassandra
docker network rm cassandra

おめでとうございます!

それほど難しくなかったですね。

詳細については、次のステップをお勧めします

  • Cassandra の主な概念と、Cassandra がどのように高レベルで動作するかを学ぶには、Cassandra の基礎 を読みます。

  • Cassandra をより詳細に理解するには、ドキュメント に進みます。

  • 事例調査 を参照して、世界中のコミュニティにいる他のユーザーがどのように Cassandra から価値を得ているかを学びます。