**简述:**在现在公司接触这个比较多,但是之前并不熟悉,所以需要简单记录下基础增删改查,以及简单介绍。我目前的理解就是这个nosql非常适合做集群,在吞吐量上应该远高于传统数据库。需要再以后工作学习中再深入了解,先简单记录一下吧。

简介

Apache Cassandra最初由Facebook创建,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身,是一个大规模可伸缩的开源NoSQL数据库。Cassandra完美地支持管理大量的结构化,半结构化和非结构化数据,且能够跨多个数据中心和云。Cassandra提供了持续可用性,线性扩展,操作简单,跨多个服务器而没有单点故障。且提供了一个有力的动态数据模型,支持最大的灵活性和快速响应。

cql交互命令(类似sql)

  1. 运行cqlsh
  • 直接键入cqlsh命令即可,登陆后可使用help查看帮助
1
/data/apps/opt/cassandra/bin/cqlsh ssy-db1
  1. 创建keyspace(秘钥空间)
  • 主要包括复制策略和durable_writes
1
2
3
cqlsh> CREATE KEYSPACE "Test"
cqlsh> WITH replication = {'class':'SimpleStrategy', 'replication_factor' : 3};
#创建名为Test的keyspace(默认创建时不区分大小写的,加上双引号就区分大小写了),采用simple存储策略,factor为存储策略的选项
  • 复制策略介绍
1
2
3
4
5
6
org.apache.cassandra.locator.SimpleStrategy
#SimpleStrategy针对是一个data center中的多个存储节点(node)的存储,strategy_options表示数据存储所有存储节点(node)的复本数量,选择node的规则是在data center中按照顺时针的方向进行选择;
org.apache.cassandra.locator.NetworkTopologyStrategy
#NetworkTopologyStrategy是针对多个data center的情况进行处理,这个是以防同一个data center中的所以节点同时出现问题,如掉电;
org.apache.cassandra.locator.OldNetworkTopologyStrategy
#OldNetworkT opologyStrategy,这个可能会很少用上了,对data center的个数及复本的数量支持的有限,有了NetworkTopologyStrategy就不需要OldNetworkTopologyStrategy了。
  1. 删除keyspace
1
cqlsh> drop keyspace "Test"
  1. 修改keyspace参数信息
1
2
cqlsh> ALTER KEYSPACE "Test" WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
#修改factor为1
  1. 进入keyspace
1
cqlsh> use "keyspace_name";
  1. 查看
  • 查看keyspace
1
2
cqlsh> SELECT * from system.schema_keyspaces;
cqlsh> describe keyspaces;
  • 查看已有表
1
sqlsh> describe tables;
  • 查看表结构
1
2
sqlsh> use "keyspace_name"
sqlsh> describe table "table_name";