blob: 0f2e5b08bd37bd996e41edebd4dd529127945230 [file] [log] [blame]
= Apache Cassandra Quickstart
:tabs:
_Interested in getting started with Cassandra? Follow these instructions._
*STEP 1: GET CASSANDRA USING DOCKER*
You'll need to have Docker Desktop for Mac, Docker Desktop for Windows, or
similar software installed on your computer.
[source, shell, subs="attributes+"]
----
include::example$BASH/docker_pull.sh[]
----
Apache Cassandra is also available as a https://cassandra.apache.org/download/[tarball or package download].
*STEP 2: START CASSANDRA*
[source, shell, subs="attributes+"]
----
include::example$BASH/docker_run.sh[]
----
*STEP 3: CREATE FILES*
In the directory where you plan to run the next step, create these two files
so that some data can be automatically inserted in the next step.
A _cqlshrc_ file will log into the Cassandra database with the default superuser:
[source, plaintext]
----
[authentication]
username = cassandra
password = cassandra
----
Create a _scripts_ directory and change to that directory.
The following _data.cql_ file will create a keyspace, the layer at which Cassandra
replicates its data, a table to hold the data, and insert some data:
[source, shell, subs="attributes+"]
----
include::example$CQL/qs_create_ks.cql[]
include::example$CQL/qs_create_table.cql[]
include::example$CQL/qs_insert_data.cql[]
----
You should now have a _cqlshrc_ file and _<currentdir>/scripts/data.cql_ file.
*STEP 4: RUN CQLSH TO INTERACT*
Cassandra is a distributed database that can read and write data across multiple
nodes with peer-to-peer replication. The Cassandra Query Language (CQL) is
similar to SQL but suited for the JOINless structure of Cassandra. The CQL
shell, or `cqlsh`, is one tool to use in interacting with the database.
[source, shell, subs="attributes+"]
----
include::example$BASH/docker_run_qs.sh[]
----
For this quickstart, this cqlsh docker image also loads some data automatically,
so you can start running queries.
*STEP 5: READ SOME DATA*
[source, shell, subs="attributes+"]
----
include::example$CQL/qs_select_data.cql[]
----
*STEP 6: WRITE SOME MORE DATA*
[source, shell, subs="attributes+"]
----
include::example$CQL/qs_insert_data_again.cql[]
----
*STEP 7: TERMINATE CASSANDRA*
[source, shell, subs="attributes+"]
----
include::example$BASH/docker_remove.sh[]
----
*CONGRATULATIONS!*
Hey, that wasn't so hard, was it?
To learn more, we suggest the following next steps:
* Read through the *need link*[Overview] to learn main concepts and how Cassandra works at a
high level.
* To understand Cassandra in more detail, head over to the
https://cassandra.apache.org/doc/latest/[Docs].
* Browse through the https://cassandra.apache.org/case-studies/[Case Studies] to
learn how other users in our worldwide community are getting value out of
Cassandra.