Cassandra 架构

1.Cassandra架构的关键术语

下面我们将讨论Cassandra架构中的一些关键术语,如下图:

——add picture here —-

Cassandra节点

Cassandra的基本单位,数据存储在这些单元(计算机/服务器)中

Cassandra数据中心

Cassandra Data center,基本上是相关Cassandra节点的集合,以适应计算机和网络系统,以满足组织的信息技术的需要。

Cassandra集群

许多数据中心的集合构成了Cassandra集群, 集群可以跨越物理位置。

——add picture here—-

Commit Log

每个写入操作都在Commit Log中执行,以确保数据的持久性。可以将其刷新到SSTable数据存档,提供节点故障恢复机制。

MemTables

在更新或删除期间写入数据的临时内存位置。在Commit Log中写入数据后,数据将写入memtables中, memtables中的数据到达阈值,就会刷新到磁盘,以形成SSTable。

SSTables

SSTables是固定的数据文件集,Cassandra定期在其中写入memtables。可以在文件末尾添加数据,从而有助于磁盘中的顺序存储,是为每个Cassandra表维护的。

数据复制

如果其中一个节点在数据中心发生故障,那么一部分信息将丢失。因此,为了克服这种限制,Cassandra在各种节点上制作了数据的副本。称为数据复制。这确保了容错性和可靠性。

2. Cassandra 架构

Cassandra一开始就考虑了硬件故障,它由环型结构组成,即其节点在逻辑上像环一样分布。因此它没有主节点或从节点。它在集群的几个同质节点上创建数据的副本。每隔一秒(可以配置),每个信息在集群的节点之间交换。每个节点上按顺序写入Commit Log捕获写入活动以确保数据持久性,然后将该数据编入索引并写入memtable。一旦memtable达到阈值,就在SSTable数据文件上的磁盘上写入数据。所有数据都被自动分区并复制到其他节点。通过使用称为压缩的过程。 Cassandra会定期更新SSTable并删除过时的数据。

客户端可以向集群中的任何节点发出读/写请求,该特定节点(也称为协调器)充当客户端应用程序与具有所需数据的节点之间的代理。

数据复制

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

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

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

简单策略:当只有一个数据中心时,使用此策略,在所有节点上以顺时针方式复制数据。

1542293011574813.png

网络拓扑策略:强烈建议使用此策略,可以根据将来的使用进行扩展。每个数据中心的节点以顺时针方向分别放置在同一数据中心的不同机架上,数据将复制优先复制在不同的节点位于不同的机架之上。

Cassandra 架构

发表评论

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

二 + 八 =

滚动到顶部