dynamo与cassandra区别】的更多相关文章

虽说cassandra是dynamo的开源版本,但两者还是有很大区别的. coordinator的选取: 在dynamo论文中,一般是preference list中N个副本的第一个 为什么叫“一般”是因为请求有可能是通过一个load balancer到达系统中的某个节点,而该节点又不属于N个副本中的一个,则该节点会把该请求转发到preference list中N个副本的第一个:如果load balancer恰好将该请求分配到N个副本中的一个,则coordinator就不是N个副本的第一个了 c…
Amazon's Dynamo [9] and Facebook's Cassandra [13], relax the consistency model,and offer only eventual consistency. Others such as HBase [1] and BigTable [4] offer strong consistency only for operations touching a single partition, but not across the…
一致性hash 一致性hash是将数据按照特征值映射到一个首尾相接的hash环上,同时也将节点(按照IP地址或者机器名hash)映射到这个环上.对于数据,从数据在环上的位置开始,顺时针找到的第一个节点即为数据的存储节点.这里仍然以上述的数据为例,假设id的范围为[0, 1000],N0, N1, N2在环上的位置分别是100, 400, 800,那么hash环示意图与数据的分布如下:   可以看到相比于上述的hash方式,一致性hash方式需要维护的元数据额外包含了节点在环上的位置,但这个数据量…
Redis概述 Redis是Salvatore Sanfilippo在2009年为其初创公司LLOOGG开发的,眼下仍是独立项目.但VMWare赞劣了项目(作者是其雇员).它採用C语言实现.因此性能非常好.採用BSD许可证.使用键值存储.和Amazon Dynamo.Cassandra,Riak,Voldemort.Memcache相似. 支持丰富的数据类型.比方数组,链表.集合等,非常适合须要表达时间线的web服务,比如微博. Redis支持的数据类型有: 字符串 链表 集合 有序集合 散列表…
布隆过滤器(bloom filter,BF): 二进制向量数据结构,时空效率很好,尤其是空间效率极高.作用:检测某个元素在某个巨量集合中存在. 构造: 查询: 不会发生漏判(false negative),但误判(false positive)存在,因此BF适合允许少量误判的场景. 计数布隆过滤器(counting bloom filter,CBF): BF基础上支持删除元素操作.数组每个位置1bit扩展为n bits. 另外需要考虑计数溢出问题. BF应用: Chrome浏览器判断恶意url:…
Redis是Remote Dictionary Server的缩写,他本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库. 1.       redis的数据类型: string:最大上限是1G lists(列表) sets(集合) sort sets(有序集合) hash(哈希表) 2.       特性 ?  持久化 ?  主从同步 ?  高性能 ?  多种API接口 3.       适用场合 ?  取最新的N个数据  list集合 ?  排行榜应用     …
分布式系统中一些主要的副本更新策略. 1.同时更新 类型A:没有任何协议,可能出现多个节点执行顺序交叉导致数据不一致情况. 类型B:通过一致性协议唯一确定不同更新操作的执行顺序,从而保证数据一致性 2.主从式更新 多个副本之间存在一个主副本(Master Replica),其他副本为从副本,这种称为主从更新策略.所有对数据的更新首先提交到主副本,再由主副本通知从副本进行数据更新.如果同时产生多个数据更新操作,由主副本决定不同更新操作的顺序. 类型A:同步方式 主副本等待所有从副本更新完成之后才确…
理解HBase(一个开源的Google的BigTable实际应用)最大的困难是HBase的数据结构概念究竟是什么?首先HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式. Google's BigTable论文 清楚地解释了什么是BigTable: Bigtable是一个疏松的分布式的持久的多维排序的map,这个map被行键,列键,和时间戳索引.每一个值都是连续的byte数组.(A Bigtable is a sparse…
Cassandra                                                              HBase 一致性 Quorum NRW策略 通过Gossip协议同步Merkle Tree,维护集群节点间的数据一致性 单节点,无复制,强一致性 可用性 1,基于Consistent Hash相邻节点复制数据,数据存在于多个节点,无单点故障. 2,某节点宕机,hash到该节点的新数据自动路由到下一节点做 hinted handoff,源节点恢复后,推送回…
文中主要交代Cassandra的编程模型及数据结构. 由于Cassandra版本数次更新,网上中文的资料已经有点过时,比较有代表性的比如ebuy那篇文章都已经过时了,于是自己找资料,结合官方博客写一篇Cassandra模型的文章. 一些名词的介绍:由于技术名词冲突,BigTable里的表对应的是Cassandra里的列族,而BigTable里面列族的概念更类似Cassandra早期实现里的超级列(该功能在Cassandra里已被关闭). Cassandra介绍 首先介绍一下Cassandra.…