A keyspace (or key space) in a
NoSQL data store
In the pursuit of knowledge, data (; ) is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted. ...
is an object that holds together all
column families of a design. It is the outermost grouping of the data in the data store. It resembles the
schema
The word schema comes from the Greek word ('), which means ''shape'', or more generally, ''plan''. The plural is ('). In English, both ''schemas'' and ''schemata'' are used as plural forms.
Schema may refer to:
Science and technology
* SCHEMA ...
concept in
Relational database management systems.
Generally, there is one keyspace per application.
Structure
A keyspace may contain
column families or
super columns. 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
The word schema comes from the Greek word ('), which means ''shape'', or more generally, ''plan''. The plural is ('). In English, both ''schemas'' and ''schemata'' are used as plural forms.
Schema may refer to:
Science and technology
* SCHEMA ...
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 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
Row or ROW may refer to:
Exercise
*Rowing, or a form of aquatic movement using oars
*Row (weight-lifting), a form of weight-lifting exercise
Math
*Row vector, a 1 × ''n'' matrix in linear algebra.
*Row (database), a single, implicitly structured ...
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 variable-length character encoding used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode'' (or ''Universal Coded Character Set'') ''Transformation Format 8-bit''.
UTF-8 is capable of ...
standard has been selected. Other ways of comparison exist, such as
AsciiType
,
BytesType
,
LongType
,
TimeUUIDType
.
0.01
Another example shows a simplified
Twitter
Twitter is an online social media and social networking service owned and operated by American company Twitter, Inc., on which users post and interact with 280-character-long messages known as "tweets". Registered users can post, like, and ...
clone data model:
0.01
References
{{reflist
External links
Cassandra – Getting Started (Java)
Distributed data stores
NoSQL