Cassandra 之 入门
1、到官网下载压缩包。
http://cassandra.apache.org/download/
我下载的是最新的
另外:语言支持:http://wiki.apache.org/cassandra/ClientOptions
2、解压到特定目录,我的是
- D:\Programs\apache-cassandra-2.0.10
3、环境变量,改配置。
此处只是入门,统统不需要,略过,实战的话,才需要这些个东东。
4、启动服务。
打开命令行,进入上边文件夹下的bin目录。执行cassandra.bat如下操作.


Cassandra可以通过cli、cqlsh两种方式操作数据库
切记,两种指令虽有类似,但不尽相同,切勿混用。
5、通过cli操作接数据库,
5.1 cli连接数据库,执行cassandra-cli.bat

5.2、cli创建数据库“demo”,建表users;
(网上好多入门文章,不讲怎么建表,直接上来就插入数据,进行查询,这不坑爹吗)
先看图吧。


创建完成,使用 show keyspaces查看所有数据库,其中demo大概就长这个样子的。

以下是代码,方便大家复制粘贴。
注意:
1、备注不要拷贝到命令行执行哈。
2、canssdra 每个cli指令后边都加“;”分号,即表示该指令结束了
redis每个指令后边均不能加标点符号,否则会保错
//创建数据库demo,如已存在,请删掉该数据库。方法,drop keyspace demo; create keyspace demo; //切换到数据库demo
use demo; //建表users
create column family users
with comparator = UTF8Type
and key_validation_class=UTF8Type
and column_metadata=[
{column_name:full_name,validation_class:UTF8Type }
{column_name:email,validation_class:UTF8Type }
{column_name:state,validation_class:UTF8Type }
{column_name:gender,validation_class:UTF8Type }
{column_name:birth_year,validation_class:LongType }]; assume users keys as utf8;
assume User comparator as utf8;
assume Users validator as utf8; //插入数据,'1234'为该列的key ,至于为啥是字符串而不是数字,因为上边我们创建标的时候指定了key_validation_class=UTF8Type set users[utf8('1234')][utf8('full_name')] = utf8('zhangxuhui');
set users[utf8('1234')][utf8('email')] = utf8('mypasswordstr');
set users[utf8('1234')][utf8('state')] = utf8('enable');
set users[utf8('1234')][utf8('gender')] = utf8('M');
set users[utf8('1234')][utf8('birth_year')] = 1984;
5.3、cli查询
get users[utf8('1234')];
5.4、附:部分概念对照
keyspace ==========databasename column family=======table column===========字段 super column=======其实就是多个字段的集合 其他常用指令: show keyspaces;//列出所有数据库 drop keyspace demo;删除名字叫demo的数据库
其他的大家输入help,自己慢慢研究吧
附CLI指令目录:
http://blog.sina.com.cn/s/blog_4d14fb2b0100plaq.html
http://wiki.apache.org/cassandra/CassandraCli08
6、通过cql操作数据库
6.1、下载安装python相对应版本,
切记不要安装3X的,(cassandra 目录下cqlsh用的是2X的语法,安装3X无法执行)
地址:https://www.python.org/downloads/windows/
X86:https://www.python.org/ftp/python/2.7.9/python-2.7.9.msi
X64:https://www.python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi
比如,我机子是win7 X64 ,需要安装64位的。若是64位机子安装32为python,cassandra cqlsh会报“监测不到python版本”
6.2 cqlsh连接数据库,建表,查询
//创建数据库
cqlsh:system> CREATE KEYSPACE cqldemo WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1
};
//切换数据库
cqlsh:system> use cqldemo;
//创建表
cqlsh:cqldemo> create table cqlusers(user_id int PRIMARY KEY, uname text, email text, state int,gender int,la
stlogin Timestamp);
//插入数据
cqlsh:cqldemo> INSERT INTO cqlusers (user_id, uname , email,state,gender,lastlogin) VALUES (1,'zxh','piaolingz
xh@qq.com',1,1,'now');
cqlsh:cqldemo> INSERT INTO cqlusers (user_id, uname , email,state,gender,lastlogin) VALUES (2,'zxh2','piaoling
zxh@qq2.com',1,1,'now');
//查询数据
cqlsh:cqldemo> select * from cqlusers;
user_id | email | gender | lastlogin | state | uname
---------+---------------------+--------+----------------------------------------+-------+-------
1 | piaolingzxh@qq.com | 1 | 2015-01-04 19:05:50China Standard Time | 1 | zxh
2 | piaolingzxh@qq2.com | 1 | 2015-01-04 19:05:53China Standard Time | 1 | zxh2
(2 rows)
cqlsh:cqldemo>
附:cql指令:http://cassandra.apache.org/doc/cql3/CQL.html
7、Cassandra可以通过cli、cqlsh两种方式操作数据库,切记,两种指令虽有类似,但不尽相同,切勿混用。
Cassandra 之 入门的更多相关文章
- Cassandra 单机入门例子——有索引
入门例子: http://wiki.apache.org/cassandra/GettingStarted 添加环境变量并source生效,使得可以在任意位置执行cassandra/bin安装目录下的 ...
- Cassandra开发入门文档第五部分(使用场景)
正确建模 开发人员在构建Cassandra数据库时犯的另一个主要错误是分区键的选择不佳.cassandra是分布式的.这意味着您需要有一种方法来跨节点分布数据.Cassandra通过散列每个表的主键( ...
- Cassandra开发入门文档第四部分(集合类型、元组类型、时间序列、计数列)
Cassandra 提供了三种集合类型,分别是Set,List,MapSet: 非重复集,存储了一组类型相同的不重复元素,当被查询时会返回排好序的结果,但是内部构成是无序的值,应该是在查询时对结果进行 ...
- Cassandra开发入门文档第三部分(非规范化关系结构、批处理)
非规范化关系结构 第二部分我们讲了复合主键,这可以灵活的解决主从关系,也即是一对多关系,那么多对多关系呢?多对多关系的数据模型应该回答两个问题: 我跟着谁? 谁跟着我? -- 建表,我们发现这里有个不 ...
- Cassandra开发入门文档第二部分(timeuuid类型、复合主键、静态字段详解)
timeuuid类型 timeuuid具有唯一索引和日期时间的综合特性,可以与日期和时间函数联合使用,常用的关联函数: dateOf() now() minTimeuuid() and maxTime ...
- Cassandra开发入门文档第一部分
Cassandra的特点 横向可扩展性: Cassandra部署具有几乎无限的存储和处理数据的能力.当需要额外的容量时,可以简单地将更多的机器添加到集群中.当新机器加入集群时,Cassandra需要对 ...
- 快速上手 Rook,入门云原生存储编排
Rook 是一个开源 cloud-native storage orchestrator(云原生存储编排器),为各种存储解决方案提供平台.框架和支持,以与云原生环境进行原生集成. Rook 将存储软件 ...
- SpringBoot-Security-用户权限分配-项目搭建
SpringBoot原则是约定优于配置,简化spring应用开发,去繁从简,产品级别的应用. SpringBoot有哪些优点1.快速创建独立运行的spring项目与主流框架集成 2.使用嵌入式的ser ...
- 分布式 Key-Value 存储系统:Cassandra 入门
Apache Cassandra 是一套开源分布式 Key-Value 存储系统.它最初由 Facebook 开发,用于储存特别大的数据. Cassandra 不是一个数据库,它是一个混合型的非关系的 ...
随机推荐
- 批量修改java文件的包名
需求:我复制进批量的java文件,但是包名需要用现在创建的包名 导入进来时,由于包名不一致会报错 解决办法,点击包名鼠标右键>Refactor>Rename 结果如下ok:
- python实现的json数据以HTTP GET,POST,PUT,DELETE方式页面请求
一.JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programm ...
- Js字符串与十六进制的相互转换
开发过程中,字符串与十六进.二进制之间的相互转换常常会用到,尤其是涉及到中文的加密时,就需要把中文转换为十六进制.下面说说具体的转换方法. 1.字符串转换为十六进制 主要使用 charCodeAt() ...
- FPGA一个博客学习
FPGA一个博客学习 http://bbs.ednchina.com/BLOG_PERSONALCAT_100185_2001619.HTM
- systemstate dump 介绍
systemstate dump 介绍 By Janezhang-Oracle on 十二月 13, 2012 当数据库出现严重的性能问题或者hang了的时候,我们非常需要通过systemstate ...
- python 赋值,交换值理解
python里的赋值都是引用,第一次赋值就是定义. 看下面两个交换值的例子: 1. >>> a,b,c = 1,2,3 >>> a = b >>> ...
- MPlayer在ARM上的移植(S5PV210开发板)
MPlayer 1.0已经把大部分解码库都自带了,如ffmpeg,但是自带的音频库在S5PV210下效果非常不好.换成使用libmad效果不错.因此MPlayer 在ARM-Linux的最简单的移植只 ...
- win8 C 盘 突然少了 十几G 空间 原因,解决方法
原因: win8 默认最大虚拟内存为 16G多,但现在电脑本身内存就大,所以应该不用了.我现在电脑本身内存是16G. 如果C盘空间大,这个无所谓了,如果C盘空间小可以按以下操作,拿回16G空间: 解决 ...
- Node.js log4js日志记录
这次需要给之前弄的文件服务器添加日志记录,一般每天产生的日志会特别多所以安装日期来划分是最好的,这里我用了express框架,为了适应express框架这里在log.js文件中写了use方法. //日 ...
- 操作笔记:tomcat在正式环境
1,一台服务器有两个容器,比如:jetty,tomcat. 出现问题: jetty启动的时候,tomcat就不能启动了. 此时,需要修改tomcat的配置文件:servler.xml <?xml ...