Cassandra非关系型数据库

由于在工作中用到了Cassandra非关系型数据库,因此总结一下常用操作。Cassandra使用Java语言编写的,因此在安装之前,首先需要安装JDK。自己使用的版本为apache-cassandra-2.1.11-bin.tar.gz,在Ubuntu 12.04上进行安装。由于目前仅仅在单机上面实验,因此集群部分以后整理。

1. Cassandra安装和配置

(1)~/.bashrc环境变量配置

export CASSANDRA_HOME=/usr/local/cassandra/apache-cassandra-2.1.11

export PATH=${CASSANDRA_HOME}/bin:$PATH

(2)修改Cassandra配置文件

Cassandra配置文件为$CASSANDRA_HOME/conf/cassandra.yaml,如下所示:

  • 默认集群名(cluster_name):‘Test Cluster‘
  • 默认缓存文件存放路径(saved_caches_directory):$CASSANDRA_HOME/data/saved_caches
  • 默认数据文件存放路径(data_file_directories):$CASSANDRA_HOME/data/data
  • 默认commitlog存放路径(commitlog_directory):$CASSANDRA_HOME/data/commitlog
  • 默认的Cassandra服务地址(rpc_address):localhost
  • 默认的Cassandra服务端口(rpc_port):9160
  • 默认的CQL本地服务端口(native_transport_port):9042

说明:自己全部采用默认配置选项。

(3)修改Cassandra用户名和密码

  • 把配置文件cassandra.yaml中的authenticator: AllowAllAuthenticator修改为authenticator: PasswordAuthenticator。
  • 启动默认账户./cqlsh -ucassandra -pcassandra,创建用户create user ssw with password ‘913292836‘ superuser;
  • 删除默认帐号drop user cassandra;然后使用新的账户和密码进行登录。

2.  Cassandra基本操作

Cassandra中的keyspace相当于关系数据库的database,column family相当于table。

(1)创建keyspace

CREATE KEYSPACE test WITH REPLICATION = {‘class‘: ‘SimpleStrategy‘, ‘replication_factor‘: 1 };

(2)创建table

CREATE TABLE test.words (word text PRIMARY KEY, count int);

(3)插入数据

INSERT INTO test.words (word, count) VALUES (‘foo‘, 20);
INSERT INTO test.words (word, count) VALUES (‘bar‘, 20);

(4)查找数据

SELECT * FROM words;

查找结果,如下所示:

说明:自己的重点是Spark RDDs和Cassandra tables的互操作。

参考文献:

[1] 如何安装和配置CASSANDRA:http://www.cnblogs.com/gpcuster/archive/2010/03/25/1695490.html

[2] 如何设置cassandra用户名和密码:http://zhaoyanblog.com/archives/307.html

[3] 分布式Key-Value存储系统:Cassandra入门:http://www.ibm.com/developerworks/cn/opensource/os-cn-cassandra/

[4] Cassandra Query Language (CQL) v3.2.0:http://cassandra.apache.org/doc/cql3/CQL-2.1.html

[5] Cassandra学习指南:http://heipark.iteye.com/blog/1902918

[6] DataStax Spark Cassandra Connector:https://github.com/datastax/spark-cassandra-connector

时间: 2024-10-22 07:56:43

Cassandra非关系型数据库的相关文章

关系型数据库与非关系型数据库的区别

在关系型数据库中,导致性能欠佳的最主要因素是多表的关联查询,以及复杂的数据分析类型的复杂SQL报表查询.     为了保证数据库的ACID特性(ACID:● 安全存储合适的数据  ●快速检索合适的数据  ●支持多个并行的用户会话 ), 我们必须尽量按照其要求的范式进行设计,关系型数据库中的表都是存储一些格式化的数据结构,每个元组字段的组成都一样,即使不是每个元组都需要所有的字段,但数据库会为每个元组分配所有的字段,这样的结构可以便于表与表之间进行连接等操作,但从另一个角度来说它也是关系型数据库性

关系型数据库与非关系型数据库

关系型数据库与非关系型数据库 自1970年,埃德加·科德提出关系模型之后,关系数据库便开始出现,经过了40多年的演化,如今的关系型数据库具备了强大的存储.维护.查询数据的能力.但在关系数据库日益强大的时候,人们发现,在这个信息爆炸的"大数据"时代,关系型数据库遇到了性能方面的瓶颈,面对一个表中上亿条的数据,SQL语句在大数据的查询方面效率欠佳.我们应该知道,往往添加了越多的约束的技术,在一定程度上定会拖延其效率. 在1998年,Carlo Strozzi提出NOSQL的概念,指的是他开

非关系型数据库NoSQL

NoSQL(not only sql)非关系型数据库 一.关系型数据库与非关系型数据库对比: 常见的关系型数据库:MySQL.Oracle.SqlServer 关系型数据库涉及联合查询(join),数据量大的时候查询会锁表变慢 NoSQL数据之间无关系,可以随意扩展 NoSQL数据存储简单,而且可以存在内存中,所以读写速度非常快,即使数据量很大也很快 NoSQL不需要建立表.字段等数据,他可以随时存储自定义的格式,而关系型数据库增.改字段非常麻烦,尤其是数据量非常大的情况下,就更麻烦 二.常见的

Python3编写网络爬虫12-数据存储方式五-非关系型数据库存储

非关系型数据库存储 NoSQL 全称 Not Only SQL 意为非SQL 泛指非关系型数据库.基于键值对 不需要经过SQL层解析 数据之间没有耦合性 性能非常高. 非关系型数据库可细分如下: 键值存储数据库: 代表有Redis.Voldemort.和Oracle BDB等. 列存储数据库:代表有Cassandra.HBase.和Riak等. 文档型数据库:代表有CouchDB.Mongodb等. 图形数据库:代表有Neo4J.InfoGrid.Infinite.Graph等. 对于爬虫的数据

Python3网络爬虫实战-33、数据存储:非关系型数据库存储:MongoDB

NoSQL,全称 Not Only SQL,意为不仅仅是 SQL,泛指非关系型的数据库.NoSQL 是基于键值对的,而且不需要经过 SQL 层的解析,数据之间没有耦合性,性能非常高. 非关系型数据库又可以细分如下: 键值存储数据库,代表有 Redis, Voldemort, Oracle BDB 等. 列存储数据库,代表有 Cassandra, HBase, Riak 等. 文档型数据库,代表有 CouchDB, MongoDB 等. 图形数据库,代表有 Neo4J, InfoGrid, Inf

关系型数据库与非关系型数据库区别

关系型数据库(Mysql和Oracle) 1.表和表.表和字段.数据和数据存在着关系 优点: 1.数据之间有关系,进行数据的增删改查的时候是非常方便的 2.关系型数据库是有事务操作的,保证数据的完整性和一致性. 缺点: 1.因为数据和数据是有关系的,底层是运行了大量的算法,大量算法会降低系统的效率,会降低性能 2.面对海量数据的增删改查的时候会显的无能为力 3.海量数据对数据进行维护变得非常的无力 常见应用: 适合处理一般量级的数据(银行转账和钱) 非关系数据库的(redis和MangDB) 为

关系型数据库和非关系型数据库,RDBMS和NoSQL区别?

简单地讲:什么是关系型数据库?依据关系模型来建立的,不同的表或库之间有相关联性 什么是非关系型数据库?不同的表或库之间没有相关联性,依据非关系模型来建立 关系型数据库和非关系型数据库各自的特点:RDBMS:二维表数据存取通过SQL数据安全性方面强 NoSQL:关注高性能,高并发,灵活性等特点 首先说说各自的优缺点:强大的查询功能--强一致性--二级索引: 关系型的优点,非关系型的缺点灵活模式--扩展性--性能: 非关系形的优点,关系型的缺点 NoSQL的分类和典型的产品:键值(KV)存储:Mem

关系型数据库与非关系型数据库的简介、对比、说明

关系型数据库与非关系型数据库的简介.对比和说明!!! 分类专栏:数据库 数据库MySQL的系列知识 关系型数据库: Oracle SQLServer Sybase Informix Access DB2 mysql vfp Ingers FoxPro 非关系型数据库:关系型数据库与非关系型数据库的对比 MongoDB Cassandra CouchDB Hypertable Redis Riak Neo4j Hadoop HBase Couchbase MemcacheDB REVENDB Vo

python爬虫11--文件存储之非关系型数据库存储MongoDB

NoSQL,Not Only SQL,不仅仅是SQL,泛指非关系型数据库,基于键值对的,不需要经过SQL层的解析,数据之间没有耦合性,性能高. 非关系型数据库细分如下: 键值存储数据库:Redis.Voldemort.Oracle BDB: 列表存储数据库:Cassandra.HBase.Riak: 文档型数据库:CouchDB.MongoDB: 图形数据库:Neo4j.InfoGrid.Infinite Graph. 爬虫数据使用非关系型数据库原因:简单高效.爬虫数据可能存在某些字段提取失败或