Cassandra学习笔记

# 优势

  • 模式灵活 文档按列存储,可以快速增加/删除字段
  • 可扩展性 支持水平和垂直扩展,扩展操作容易
  • 分布式写操作 有可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败
  • 写速度快

概念

  • 节点:存储数据。

  • 数据中心:节点的集合。

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

  • MemTable:存储器驻留的数据结构。提交日志后,数据将被写入mem表。有时,对于单列族,将有多个mem表。

  • SSTable:它是一个磁盘文件,当其内容达到阈值时,数据从mem表中刷新。

  • 布隆过滤器:用于测试元素是否是集合(SSTabble)的成员,它是一种特殊的缓存。用于快速判断一个SSTable中是否包含给定条件的数据,减少磁盘开销

  • 键空间(Keyspace),相当于database

  • 复制因子 – 它是集群中将接收相同数据副本的计算机数。

  • 列族:键空间是一个或多个列族的列表的容器。列族又是一个行集合的容器。每行包含有序列。列族表示数据的结构。每个键空间至少有一个,通常是许多列族。

键空间

CREATE KEYSPACE testwuz WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3};
ALTER KEYSPACE "KeySpace Name" WITH replication = {'class': 'NetworkTopologyStrategy', 'replication_factor' : '1'};

Strategy Name: 副本放置策略,SimpleStrategy,NetworkTopologyStrategy。 Replication Factor : 可以通过使用新的复制因子来更改复制因子。 DURABLE_WRITES : DURABLE_WRITES值可以通过指定其值true / false来更改。 默认情况下为true。 如果设置为false,则不会将更新写入提交日志,反之亦然。

MenTable SSTable(Read Only,定期进行compaction,垃圾回收、合并SSTable) CommitLog

Gossip Partitioner

参考文档

wc教程

安装命令

cd /tmp
wget https://downloads.apache.org/cassandra/3.11.10/apache-cassandra-3.11.10-bin.tar.gz
tar zxvf apache-cassandra-3.11.10-bin.tar.gz
mv apache-cassandra-3.11.10 /usr/local/
rm -f apache-cassandra-3.11.10-bin.tar.gz

(cat << EOF
export CASSANDRA_HOME=/usr/local/apache-cassandra-3.11.10
PATH=\$CASSANDRA_HOME/bin:\$PATH
EOF
) >> /etc/profile.d/cassandra.sh
source /etc/profile
cd /usr/local/apache-cassandra-3.11.10/conf

CREATE keyspace dennis WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 1};
DESCRIBE keyspaces;
drop keyspace dennis;

use dennis;
DESC tables;

CREATE TABLE student(
id int,
name varchar,
PRIMARY KEY(id)
);
INSERT INTO student (id,name) VALUES (1,'Naruto');
select * from student where id=2;
DESC table student;

nodetool describering keyspace
nodetool gossipinfo
nodetool describecluster
nodetool ring
© 版权声明

相关文章