非关系型数据库—Cassandra -

  Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。)Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。

  主要特性:

  ● 分布式

  ● 基于column的结构化

  ● 高伸展性

  功能

  Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能是比较简单的事情,只管在群集里面添加节点就可以了。

  这里有很多理由来选择Cassandra用于您的网站。和其他数据库比较,有三个突出特点:

  模式灵活:使用Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部署上。

  真正的可扩展性:Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以指向另一台电脑。你不必重启任何进程,改变应用查询,或手动迁移任何数据。

  多数据中心识别:你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。

  一些使Cassandra提高竞争力的其他功能:

  范围查询:如果你不喜欢全部的键值查询,则可以设置键的范围来查询。

  列表数据结构:在混合模式可以将超级列添加到5维。对于每个用户的索引,这是非常方便的。

  分布式写操作:有可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。

  应用客户:twitter、facebook

  安装说明(Windows)

  以Cassandra 1.0.2为例。[1]

  1、安装文件准备

  下载Cassandra、Jre 1.6。(全部推荐最新版本)

  2、配置Java

  (1)安装Jre的过程很简单,这里不做说明。

  (2)在“系统属性”中打开“环境变量”窗口,添加一个系统变量:

  JAVA_HOME : 一般是 C:\Program Files\Java\jre6,根据实际安装路径设置。

  3、配置Cassandra

  (1)解压下载的Cassandra文件包,放置到一个目录中。

  注意程序所在的路径中不要包含空格,以避免造成加载某些文件找不到的问题。

  (2)在“系统属性”中打开“环境变量”窗口,添加一个系统变量:

  CASSANDRA_HOME: D:\apache-cassandra-1.0.2,根据实际安装路径设置。

  (3)修改日志存放地址

  打开文件: log4j-server.properties,修改

  log4j.appender.R.File=D:\apache-cassandra-1.0.2\system.log,根据实际安装路径设置。

  (4)修改其它地址

  打开文件:cassandra.yaml,修改:

  data_file_directories:

  - D:\apache-cassandra-1.0.2\data

  commitlog_directory: D:\apache-cassandra-1.0.2\commitlog

  saved_caches_directory: D:\apache-cassandra-1.0.2\saved_caches

  根据实际安装路径设置。

  (5)修改内存大小和CPU核心数设置

  *)

  # assume reasonable defaults for e.g. a modern desktop or

  # cheap server

  system_memory_in_mb="4096"

  system_cpu_cores="4"

  ;;

  按照实际情况设置。

  4、启动

  在命令提示符工具中启动Cassandra,用nodetool工具确认Cassandra已经启动:

时间: 2024-11-02 19:17:43

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

经验之谈:非关系型数据库(NoSql)

最近了解了一点非关系型数据库,觉得这是一个很好的方向,对于大数据方面的处理,非关系型数据库能起到至关重要的地位.这里我主要是整理了一些前辈的经验,仅供参考. 关系型数据库的特点 1.关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库. 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织.常见 的关系型数据库有Oracle.Mysql.sql server等等. 2.关系型数据库瓶颈 高并发读写需求 网站的用户并发性非常高,往往达

【独家】一文读懂非关系型数据库(NoSQL)

前言 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL". 现代计算系统每天在网络上都会产生庞大的数据量.这些数据有很大一部分是由关系型数据库管理系统(RDBMSs)来处理,其严谨成熟的数学理论基础使得数据建模和应用程序编程更加简单. 但随着信息化的浪潮和互联网的兴起,传统的RDBMS在一些业务上开始出现问题.首先,对数据库存储的容量要求越来越高,单机无法满足需求,很多时候需要用集群来解决问题,而RDBMS由于要支持join,union等操作,一般不支持分

关于关系型数据库和非关系型数据库

这篇是转载文章,原文章如下: http://blog.csdn.net/robinjwong/article/details/18502195 1. 关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库. 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为主流数据库结构的主流模型. 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织. 关系模型中常用的概

大数据-怎么统一关系型数据库,非关系型数据库,文件类型以及消息类型(如网页)的接口

问题描述 怎么统一关系型数据库,非关系型数据库,文件类型以及消息类型(如网页)的接口 最近接了个需求,就是要统一如题的各种接口,小弟从来没做过类似的东西.希望各位能给点例子. 解决方案 可以考虑工厂模式和适配器模式

GMT在Apache许可证发布开源非关系型数据库Hibari

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   Gemini Mobile Technologies在Apache许可证下发布了开源非关系型数据库Hibari(在日语中意思为"云雀"). Hibari是为海量数据储存优化的高可靠性和高可用性数据库,可用于云计算应用,如Web电子邮件.社交网络服务,以及其它日常需要储存TB和PB级规 模数据的服务. Hibari是一款高可靠.高可靠的非关系型

3.非关系型数据库(Nosql)之mongodb:升降序排序,排序分页,$all,$in,$nin,$or,$nor, $exists,游标,更新(update,$set,$unset,$inc)

 1排序sort() A降序排列 db.c4.find().sort().sort({age:-1}); B升序排列: db.c4.find().sort({age:-1}); C排序分页 db.collectionName.find().sort({age:-1}).skip(20).limit(10);   eg:db.c4.find().sort({age:-1}).skip(20).limit(10); 2 $all,$in,$nin,$or,$nor,$exists 查询集合中的文

5.非关系型数据库(Nosql)之mongodb:创建集合,备份与导入导出, 数据还原,导入导出

 1 固定集合 固定集合值得是事先创建而且大小固定的集合 2 固定集合的特征:固定集合很像环形队列,如果空间不足,最早文档就会被删除,为新的文档腾出空间.一般来说,固定集合适用于任何想要自动淘汰过期属性的场景,没有太多的操作限制. 3 创建固定集合使用命令: db.createCollection("collectionName",{capped:true,size:100000,max:100}); size:指定集合大小,单位为KB,max指定文档的数量 当指定文档数量上限时,

2.非关系型数据库(Nosql)之mongodb:mongodb显示所有数据库,使用数据库,集合创建(显示和隐式创建),集合查询,初步数据的增删改查,分页

 1代开一个cmd窗口,当作mongodb客户端,执行以下命令: mongo localhost:27017 2查看所有的数据库: > show dbs; admin (empty) local 0.078GB 3 db命令,查看当前窗口在那个数据库下面(test数据库没有任何数据,在内存里面): 4创建集合 A 显示创建 db.createCollection("collectionName"); > db.createCollection("c1"

8.非关系型数据库(Nosql)之mongodb的应用场景

 测试脚本: Mysql测试脚本: [php] view plaincopyprint? 1.  <?php   2.  header("Content-Type:text/html;charset=utf-8");   3.  $con = mysql_connect("localhost","root","123456");   4.  if (!$con)   5.    {   6.    die('Coul