Cassandra数据模型

本章中,我们将了解Cassandra数据模型。 与其他DBMS不同, Cassandra的数据模型基本上是存储数据的方式,我们将了解Cassandra如何存储数据,将看到Cassandra Cluster和Cassandra Keyspace。

1. Cassandra集群

在Cassandra Data模型中,Cassandra数据库通过Cassandra Clusters存储数据。 集群基本上是分布式Cassandra数据库的最外层容器。 数据库分布在多台运行的服务器上。 每台服务器都充当一个节点,并在出现故障时拥有自己的副本。 这些节点以环形格式排列为集群。

2. Cassandra Keyspace

在Cassandra数据模型中,Cassandra Keyspace是数据的容器。 它包含许多属性。 基本属性如下:

数据复制

为了避免单点故障,Cassandra在几个节点上复制数据副本。

复制因子:在不同节点上维护的副本的数量。 复制因子3表示在3个不同节点上维护3个数据副本。 因此,如果其中两个节点出现故障,仍然可以保存一份数据。

复制策略:有两种复制策略,如下: 

简单策略:适用于单一数据中心

网络拓扑策略:适用于多个数据中心

Cassandra Column Family

Cassandra中的Column Family是一组行并且包含有序列, 它们代表了存储数据的结构。 这些Cassandra Column Family包含在Keyspace中, 每个Keyspace中至少有一个Column Family。

——-add picture here —–

Cassandra Data Model- Column Family in Cassandra

每列中的行是许多列的集合, 列是Cassandra中数据结构的基本单元。 列中存储了三个值, 它们是键或列名称,时间戳和值。 此外,可以根据用户的要求添加或删除这些行中的列。 而Cassandra列族 (Column Family)是预先定义的,无法更改,此外,还有一个超级列族 (Super Column Family),超级列族可以认为是一个表,该表包含许多列的集合, 它将所有经常使用的列组合在一起,将这些列组合绑定在一个KeySpace中。

——add picture here —–

Cassandra Data Model-  Rows in Cassandra Column Family

Cassandra Column系列有许多属性,其中一些属性如下:

Keys cached

每个SSTable保持缓存的位置数

行缓存 (Rows cached)

将行的内容将缓存在内存中的行数

预加载行缓存(Preload row cache)

提供预先填充行缓存的选项

Cassandra数据模型

发表评论

邮箱地址不会被公开。 必填项已用*标注

+ 三十 二 = 三十 五

滚动到顶部