Cassandra介绍
Cassandra是一个开源的、分布式、无中心节点、弹性可扩展、高可用、容错、一致性协调、面向列的NoSQL数据库。
Cassandra的主要组成部分主要有:
• 节点(Node):Cassandra节点是存储数据的地方。
• 数据中心(Data center):数据中心是相关节点的集合。
• 集群(Cluster):集群是包含一个或多个数据中心的组件。
• 提交日志(Commit log):在Cassandra中,提交日志是一个崩溃恢复机制。 每个写入操作都将写入提交日志。
• 存储表(Mem-table):内存表是内存驻留的数据结构。 提交日志后,数据将被写入内存表。 有时,对于单列系列,将有多个内容表。
• SSTable:当内容达到阈值时,它是从内存表刷新数据的磁盘文件。
• 布鲁姆过滤器(Bloom filter):这些只是快速,非确定性的,用于测试元素是否是集合成员的算法。 它是一种特殊的缓存。 每次查询后都会访问Bloom过滤器。
Cassandra 采用一致性哈希算法将哈希空间按大小首尾相接形成一个环。每个节点被分配到环上的一到多个区域形成一个 token。每个节点记录环上前驱 token 和后继 token 的位置,从而形成了一个环.
协调者(Coordinator):客户端连接到某一节点发起读写请求时,该节点充当客户端应用与集群中拥有相应数据节点间的桥梁,称为协调者,以根据集群配置确定环(ring)中的哪个节点应