The Apache Cassandra project has established itself as one of the leading column store / column family databases. As a NoSQL database, it is schema-free and is scalable to multiple nodes, with no single point of failure.
Datastax has made available a MSI to install Cassandra on Windows .
The downloads are available at Planet Cassandra, which also has other resources for Cassandra, such as additional documentation, a blog and event listings.
The package also includes the community edition of the DataStax OpsCenter browser-based tool to manage a Cassandra cluster. The tool also includes dashboards to monitor a cluster, as well as viewing data and defining the schema.
Two other tools come with the install:
Cassandra CLI Utility (CLI = Command Line Interface)
Cassandra CQL Shell (CQL = Cassandra Query Language)
Either tool can be used to interact with the cluster, the query shell is the newer of the two tools.
Terms and Concepts:
Keyspace – Similar to a schema or a namespace.
Column Family – Equivalent to a table. The CQL tool actually refers to these structures as tables.
Cassandra uses a key-value pair to store a column name and the column value. It will also store a timestamp for that pair of values. This key-value pair is referred to as a column.
The value can also store key-value pairs in a nested fashion. In this case, the outer key-value pair is called a super column.
The name and the value are stored as byte arrays.
The column family stores rows, which are a key and a container for the set of columns.
A TTL (Time To Live) property can be set for a property, where the column will be removed after a defined number of seconds has elapsed.
In a cluster, there is no master, each node as a peer.
Transactions aren’t natively supported.
Writes are recorded to a transaction log. The consistency level is tune-able (ONE, QUORUM, ALL), which will be inversely proportional to the write performance.
Table joins and subqueries are not supported.