A keyspace (or key space) in a
NoSQL
NoSQL (originally meaning "Not only SQL" or "non-relational") refers to a type of database design that stores and retrieves data differently from the traditional table-based structure of relational databases. Unlike relational databases, which ...
data store
A data store is a repository for persistently storing and managing collections of data which include not just repositories like databases, but also simpler store types such as simple files, emails, etc.
A ''database'' is a collection of data that ...
is an object that holds together all
column families
A column family is a database object that contains columns of related data. It is a tuple (pair) that consists of a attribute–value pair, key–value pair, where the key is mapped to a value that is a set of columns. In analogy with relational d ...
of a design. It is the outermost grouping of the data in the data store. It resembles the
schema
Schema may refer to:
Science and technology
* SCHEMA (bioinformatics), an algorithm used in protein engineering
* Schema (genetic algorithms), a set of programs or bit strings that have some genotypic similarity
* Schema.org, a web markup vocab ...
concept in
Relational database management system
A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970.
A Relational Database Management System (RDBMS) is a type of database management system that stores data in a structured for ...
s.
Generally, there is one keyspace per application.
Structure
A keyspace may contain
column families
A column family is a database object that contains columns of related data. It is a tuple (pair) that consists of a attribute–value pair, key–value pair, where the key is mapped to a value that is a set of columns. In analogy with relational d ...
or
super column
A super column is a tuple (a pair) with a binary super column name and a value that maps it to many columns. They consist of a key–value pairs, where the values are columns. Theoretically speaking, super columns are ( sorted) associative array o ...
s. Each super column contains one or more column families, and each column family contains at least one column. The keyspace is the highest abstraction in a
distributed data store
A distributed data store is a computer network where information is stored on more than one node, often in a replicated fashion. It is usually specifically used to refer to either a distributed database where users store information on a ''numb ...
. This is fundamental in preserving the structural heuristics in dynamic data retrieval.
Multiple relay protocol algorithms are integrated within the simple framework.
Comparison with relational database systems
The keyspace has similar importance like a
schema
Schema may refer to:
Science and technology
* SCHEMA (bioinformatics), an algorithm used in protein engineering
* Schema (genetic algorithms), a set of programs or bit strings that have some genotypic similarity
* Schema.org, a web markup vocab ...
has in a database. In contrast to the schema, however, it does not stipulate any concrete structure, like it is known in the
entity–relationship model
An entity–relationship model (or ER model) describes interrelated things of interest in a specific domain of knowledge. A basic ER model is composed of entity types (which classify the things of interest) and specifies relationships that can e ...
used widely in the
relational data models. For instance, the contents of the keyspace can be column families, each having different number of columns, or even different columns. So, the column families that somehow relate to the
row concept in relational databases do not stipulate any fixed structure. The only point that is the same with a schema is that it also contains a number of "objects", which are tables in RDBMS systems and here column families or super columns.
So, in distributed data stores, the whole burden to handle rows that may even change from data-store update to update lies on the shoulders of the programmers.
Examples
As an example, we show a number of column families in a keyspace. The
CompareWith
keyword defines how the column comparison is made. In the example, the
UTF-8
UTF-8 is a character encoding standard used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode Transformation Format 8-bit''. Almost every webpage is transmitted as UTF-8.
UTF-8 supports all 1,112,0 ...
standard has been selected. Other ways of comparison exist, such as
AsciiType
,
BytesType
,
LongType
,
TimeUUIDType
.
0.01
Another example shows a simplified
Twitter
Twitter, officially known as X since 2023, is an American microblogging and social networking service. It is one of the world's largest social media platforms and one of the most-visited websites. Users can share short text messages, image ...
clone data model:
0.01
References
External links
Cassandra – Getting Started (Java){Dead link, date=June 2025 , bot=InternetArchiveBot , fix-attempted=yes
Data modeling
Distributed data stores
NoSQL