Cassandra的设计目的是处理跨多个节点的大数据工作负载,而没有任何单点故障。Cassandra在其节点之间具有对等分布式系统,并且数据分布在集群中的所有节点之间。

  • 集群中的所有节点都扮演相同的角色。 每个节点是独立的,并且同时互连到其他节点。
  • 集群中的每个节点都可以接受读取和写入请求,无论数据实际位于集群中的何处。
  • 当节点关闭时,可以从网络中的其他节点提供读/写请求。

image.png

Cassandra的组件

Cassandra的关键组件如下:

  • 节点 - 它是存储数据的地方。
  • 数据中心 - 它是相关节点的集合。
  • 集群 - 集群是包含一个或多个数据中心的组件。
  • 提交日志 - 提交日志是Cassandra中的崩溃恢复机制。每个写操作都写入提交日志。
  • Mem-表 - mem-表是存储器驻留的数据结构。提交日志后,数据将被写入mem表。有时,对于单列族,将有多个mem表。
  • SSTable - 它是一个磁盘文件,当其内容达到阈值时,数据从mem表中刷新。
  • 布隆过滤器 - 这些只是快速,非确定性的算法,用于测试元素是否是集合的成员。它是一种特殊的缓存。 每次查询后访问Bloom过滤器。