Cassandra 学习笔记

集群结构
1)无中心、所以没有单点问题
2)使用P2P协议

特点

可靠性(reliability):数据冗余存储,无中心
可伸缩性(scalability):添加设备就可以水平扩展存储和运算能力
具备实时查询的能力
多数据中心识别
据说单行可以支持上亿列
运维成本低(相比Hbase要低很多)

一致性
什么叫数据库一致性?读操作一定会返回最新写入的结果。
Cassandra是最终一致性(弱一致性):成功写入后,读取的并不一定是最新数据,但过一段时间所有副本才会达成一致。
可调节的一致性:
副本因子:数据保存多少副本
一致性级别:成功写入或者读取多少个副本才认为是一次成功操作
将副本因子设置为一致性级别,则可以达到最高一致性,但会牺牲读写性能

CAP
一致性:每次读取都是最新的数据
可用性:客户端总是可以读写数据
分区耐受性:数据库分散到多台机器,即使某台机器故障,也可以提供服务
CAP理论指出在一个分布式系统中,你只能强化其中两个方面

支持windows和Linux
keyspace:可以简单理解为RDBMS中的数据库
Column family: 可以理解为RDBMS中的表
核心功能只有get、set,没有update
数据有row key和多个的cell组成了,可以简单理解为是一个多维hashmap
row key是默认具有排序能力,实现方法可以自定义
Row key可以分布到不同node,策略可以自定义
内存cache,有助于提升查询效率
集群通过Gossip 协议通信,这是一个P2P协议
Memtable、SSTable、commitlog、compaction、墓碑(tombstone)
有类SQL的封装客户端,支持python、ruby等多语言

应用场景:
写密集、统计、分析型作业
大数据存储(不是大文件)
实时查询


你可能感兴趣的:(cassandra)