Cassandra Concepts: Difference between revisions
Line 32: | Line 32: | ||
<span id='Table'></span>A column family is the equivalent of a '''table''' in a relational database. Each column family contains a collection of [[#Row|rows]], arranged logically in a map with the following structure: | <span id='Table'></span>A column family is the equivalent of a '''table''' in a relational database. Each column family contains a collection of [[#Row|rows]], arranged logically in a map with the following structure: | ||
Map<RowKey, SortedMap<ColumnKey, ColumnValue>> | Map<[[#Row_Key|RowKey]], SortedMap<[[#Column_Key|ColumnKey]], ColumnValue>> | ||
==Row== | ==Row== | ||
==Row Key== | |||
==Column== | |||
==Column Key== | |||
=Partition Key= | =Partition Key= | ||
Has primary key, or lookup key semantics. | Has primary key, or lookup key semantics. |
Revision as of 20:58, 25 September 2019
Internal
Overview
Cassandra is NoSQL a key-value database. It provides continuous availability with no single point of failure. The database uses a ring design and consistent hashing. In a ring design there is no master node, all nodes are identical and communicate with each other as peers. This architecture allows it to scale horizontally, by incrementally adding nodes with no reconfiguration. Provides good performance for large amounts of data.
CQL
Cassandra Query Language
SELECT "email" FROM "user_tweets" WHERE "username" = 'john';
Cluster
A cluster is a set of nodes (or data centers) deployed in a ring architecture. A cluster has a name, which will be used by participating nodes.
Node
Keyspace
The equivalent of a schema of relational database. The keyspace is the outermost container for data. A keyspace is characterized by its replication factor, replica placement strategy and its column families.
Replication Factor
Replica Placement Strategy
Keyspace Operations
Column Family
A column family is the equivalent of a table in a relational database. Each column family contains a collection of rows, arranged logically in a map with the following structure:
Map<RowKey, SortedMap<ColumnKey, ColumnValue>>
Row
Row Key
Column
Column Key
Partition Key
Has primary key, or lookup key semantics.