cassandra体系结构(概述)

cassandra集群中每个节点都是平等的,没有中心节点或管理节点,因此不会有单点失败问题。某节点是否属于集群只取决于自己的配置。

每个节点每秒会和其它某些节点通讯(gossip协议).

每个节点都以日志方式记录每次写操作,以实现数据的持久性。

实际数据并非直接写入磁盘,而是先写入内存(memtable),memtable写满后一次性写入磁盘(SStable)。写入磁盘时自动实现数据分片(partition)和复制(replicate)

cassandra是一个面向行的数据库,授权用户可以以CQL语言访问集群中任意一个节点。

CQL类似SQL语言,从CQL的角度来看,数据库由表组成,一般每个应用程序都有一个keyspace。

客户端可以向任何一个节点发出读写请求,当客户端向某个节点发出读写请求时,该节点将作为代理与实际拥有该数据的节点进行通讯。代理节点通过配置知道应该与哪些节点进行通讯。

cassandra的配置包含4个关键组件。

1. gossip协议:节点间通过本协议通讯,发现彼此的位置和状态。

2. 分片器:决定如何把数据分布到集群内部的不同节点上。

3.复制策略:决定备份数据放置在哪些节点上。

4. snitch:定义了备份节点的拓扑信息,用于备份数据和路由请求。


你可能感兴趣的:(cassandra)