Token算法
Range数据库
Partitoner服务器
用于在环内节点之间传播状态信息网络
周期运行,每次在环中随机挑选一个对象节点,发起会话数据结构
每次会话传送三条消息函数
Phi增量故障检测算法spa
· 进行写操做时,首先要写commit logexcel
· 只有操做被写入 commit log 的数据,才算写入成功对象
· 当发生掉电,实例崩溃等问题的时候,可使用commit log 进行回复blog
· 数据操做成功写入到 commit log后,就开始写入内存中的memtable
· memtable中的数据达到必定阈值后,就开始写入硬盘中的 SSTable,而后内存中从新创建一个memtable接收下一批数据
· 上述刷写过程是非阻塞的
· 查询时先查询memtable
SSTable:
· 起源于Google的Bigtable
· 墓碑: 删除数据并非物理删除,实际上打删除标记,软删除
· 压紧: 对用户透明,数据库本身控制。(墓碑打标记行删除 / 重建索引)
· Bloomfilter(布隆过滤器):相比其余的数据结构,Bloom Filter再空间和时间方面都有巨大的优点,Bloom Filter存储空间和插入/查询时间都是常数。另外,Hash函数相互之间没有关系,方便由硬件并行实现,Bloom Filter不须要存储元素自己,再某些对保密要求很是严格的场合有优点。
2) data:
3) saved_caches:
安装JAVA环境
部署Cassandra安装包
修改Cassandra配置文件,设置集群名
规划IP地址,设置做为seed的IP
决定snitch
Cassandra还能够支持多数据中心集群
修改其它可能的配置
启动Cassandra并加入集群
cluster_name: 'cluster01'
num_tokens: 256
seeds: "192.168.1.100" --种子机
listen_address: 192.168.1.100
rpc_address: 192.168.1.100
rpc_port: 9160
rpc_keepalive: true
endpoint_snitch: SimpleSnitch --假设全部服务器都在一个机架
· Simple Snitch:经过IP地址判断
· PropertyFileSnitch: 指定IP属于哪一个数据中心,哪一个机架
建立keyspace时候指定
create keyspace excelsior with replication = {'class':'SimpleStrategy', 'replication_factor' : 3};
create keyspace "Excalibur" with replication = {'class':'NetworkTopologyStrategy','dc1':3,'dc2':2};