- 模式灵活 文档按列存储,可以快速增加/删除字段
- 可扩展性 支持水平和垂直扩展,扩展操作容易
- 分布式写操作 有可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败
- 写速度快
概念
-
节点:存储数据。
-
数据中心:节点的集合。
-
集群:集群是包含一个或多个数据中心的组件。
-
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
参考文档
安装命令
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 © 版权声明
文章版权归作者所有,未经允许请勿转载。