概述
Cassandra是一具有高扩展性,强调一致性,分布式,键值对存储(Key-Value)的NOSQL 分布式数据库。 它采用了Dynamo的分布式系统技术和Google BigTable的数据模型,拥有像Dynamo一样的数据最终一致性,BigTable一样的基于列簇的键值对存储。
Cassandra是由FaceBook的工程师Avinash Lakshman(他也是Amazon的Dynamo的作者)和Prashant Malik 开发,在2008年被FaceBook开源出来。
Linux安装
1.下载链接 http://cassandra.apache.org/download/
下载之后直接解压缩:
2.配置日志
修改文件: conf/log4j-server.properies
如:
log4j.appender.R.File=/var/log/cassandra/system.log
3.JVM参数调整
下图为作者测试机显示效果:
启动
在命令行运行: 'bin/cassandra -f‘ (如果没有配置环境变量,请注意相对路径)
Control-C 可以停止Cassandra的服务。
交互
使用cqlsh与Cassandra交互。如,创建表,添加数据,查询数据。
命令行运行(如果提示python相关的错误,请升级python的版本到最新):
bin/cqlsh
Step 1: 创建KEYSPACE:
CREATE KEYSPACE mykeyspaceWITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
Step 2: 使用KEYSPACE
USE mykeyspace;
Step 3: 创建表
CREATE TABLE users ( user_id int PRIMARY KEY, fname text, lname text);
Step 4:添加数据
INSERT INTO users (user_id, fname, lname) VALUES (1745, 'john', 'smith');
INSERT INTO users (user_id, fname, lname) VALUES (1744, 'john', 'doe');
INSERT INTO users (user_id, fname, lname) VALUES (1746, 'john', 'smith');
Step 5:查询数据
SELECT * FROM users;
结果显示
user_id | fname | lname
---------+-------+-------
1745 | john | smith
1744 | john | doe
1746 | john | smith
Reference:
http://wiki.apache.org/cassandra/GettingStarted