最近在看些云方面的东西,最初从google的bigtable看起,bigtable目前已经在部署在google的大多数产品中,先后也很有很多的人在基于bigtable的这篇论文做了很多的开源的类bigtable的实现,目前比较流行的这种分布式NoSQL的数据库包括apache的HBASE和Facebook的Cassandra。
Apache Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身。Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩放性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。 项目主页http://cassandra.apache.org/。
与类似系统的比较
Hadoop HBase是Apache Hadoop项目的一个子项目,是Google BigTable的一个克隆,与Cassandra一样,它们都使用了BigTable的列族式的数据模型,两者的主要不同在于[2]:
- Cassandra只有一种节点,而HBase有多种不同角色,又架构在Hadoop底层平台之上,部署上Cassandra更简单;
- Cassandra的数据一致性策略是可配置的;
- HBase提供了Cassandra没有的行锁机制,Cassandra要想使用锁需要配合其他系统,如Hadoop Zookeeper;
- HBase提供更好的MapReduce并行计算支持,Cassandra在0.6版本也提供了这个功能;
- Cassandra的读写性能和可扩展性更好,但不擅长区间扫描[3]。
下面的这个ppt对Cassandra做了较为详细的介绍
Cassandra配置及使用
Cassandra可以跑在这种类unix的系统上,如mac,linux,cygwin上。
1.下载Cassandra
apache-cassandra-0.6.6-bin.tar.gz
2.配置
系统要求java>=1.6以上版本,解压配置安装
* tar -zxvf apache-cassandra-$VERSION.tar.gz //下载的cassandra,目前是0.66版本
* cd apache-cassandra-$VERSION
* sudo mkdir -p /var/log/cassandra //建立日志文件
* sudo chown -R `whoami` /var/log/cassandra //授权
* sudo mkdir -p /var/lib/cassandra //保存数据库的地方
* sudo chown -R `whoami` /var/lib/cassandra3.使用
开启cassandra
* bin/cassandra –f //-f 打印log信息
![]()
连接cassandra
* bin/cassandra-cli –host localhost –port 9160
如果成功的话应该出现类型下面的信息
Connected to localhost/9160
Welcome to cassandra CLI.
Type ‘help’ or ‘?’ for help. Type ‘quit’ or ‘exit’ to quit.
cassandra>生成文件
cpu memory使用情况,内存占有的比较多,去了300多M,开了91个线程
未完待续…
上面只是配置简单的一个节点,下一步进一步了解系统。

- Pingback on 2010/11/05/ 16:15

学习了,说的不错!
呵呵,纯属个人得学习笔记,谢谢支持了。
我来看博主文章了,感谢分享哦!!!