Category Archives: nosql

Couchbase和CouchDB的区别

简单的说,couchbase=couchDB+Membase. CouchDB是Apache的一个开源项目http://couchdb.apache.org/。其创始人Damien Katz后来创建了一家公司来提供商业支持。2011年,这家公司和另外一个开源key-value 数据库Membase 合作开发了CouchBase。Couchbase以Membase的代码为基础,用CouchDB的文档化代码部分替换了Membase的后端存储代码,并提供了索引和查询功能。所以Couchbase即保留了CouchDB的document database的特性,也充分利用了Membase的caching技术提高了读写的速度。同时Couchbase提供了Cluster内的多份copy复制,Data Balance等功能。 两者的功能对比如下图所示:

Posted in nosql | 9 Comments

Cassandra nodetool repair中的PR选项

Cassandra nodetool repair中的pr选项的官方解释是 Use -pr to repair only the first range returned by the partitioner. 那么什么时候用-pr选项,什么时候不用-pr呢?要解答这个问题首先要理解pr的意思 cassandra的数据可以有多份复制,比如说A,B,C,D四个节点,keyspace的replication factor为2 那么每份数据有两个copy,一个为primary,一个为replica A节点上有range (D,A)的primary数据,同时也有range(C,D)的replica数据。如果在A节点上跑 nodetool repair -pr 那么会在A节点和B节点上同步range (D,A)的数据 如果是跑 nodetool repair 不加pr选项,那么会在 1. A节点和B节点上同步range (D,A)的数据 2. A节点和D节点上同步range (C,D)的数据 所以,如果你是为了处理delete的问题进行的日常的repair,可以使用-pr选项,在每个节点上跑一次。如果不加pr选项在每个节点上跑一次的话,会多做了重复的工作。再比如说增大replication factor,也可以使用-pr选项,在每个节点上跑。 如果是某个节点做recover操作的话,应该在该节点上不加pr选项,这样不单是同步了master的数据段,同样也同步了replica的数据段。如果是某个节点down掉,nodetool rebuild应该更快 … Continue reading

Posted in nosql | 14 Comments

mongodb sharding keynote

在公司内部做的一个简单的关于mongodb sharding的介绍 Mongodb sharding View more presentations from xiangrong.

Posted in nosql | 444 Comments