关于cassandra数据库

nosql数据库

基于列的数据库

高度可扩展的高性能分布式数据库

cassandra的特点:

1、弹性可扩展。

2、始终基于架构,没有单点故障。

3、快速线性性能。

4、灵活的数据存储,支持结构化,半结构化和非结构化。

5、便捷数据分发,多数据中心间复制数据。

6、支持事务。

7、快速写入。

cassandra节点之间使用gossip协议进行通信。

关键组件:

节点:存储数据的地方,单个cassandra实例。

数据中心:相关节点的集合。

集群:包含一个或多个数据中心的组件。

提交日志:崩溃恢复机制,所有写操作都会写入提交日志。

Mem表:在内存中驻留的数据。

SSTable:磁盘文件,内容达到阈值时,数据从mem表中刷新。


写操作:

节点的所有写入活动都会在节点的提交日志中捕获,然后数据会存储在内存表中,当内存表达到某个指定阈值后,就会刷新落地到磁盘中。所有写入的数据都会在整个集群中进行分区和复制。


读操作:

从内存表得到对应的值,并检查过滤器找到保存所需数据的磁盘表。


分区的方式:

垂直分区和水平分区

垂直分区,将数据按照某种算法分布到不同的节点上。

水平分区,将数据按列分别存储到不同的节点上,即某个节点保存着这种数据的某个列的所有数据。




你可能感兴趣的:(nosql)