dynamo与cassandra区别

虽说cassandra是dynamo的开源版本,但两者还是有很大区别的。

coordinator的选取:

在dynamo论文中,一般是preference list中N个副本的第一个

  • 为什么叫“一般”是因为请求有可能是通过一个load balancer到达系统中的某个节点,而该节点又不属于N个副本中的一个,则该节点会把该请求转发到preference list中N个副本的第一个;如果load balancer恰好将该请求分配到N个副本中的一个,则coordinator就不是N个副本的第一个了

cassandra系统中的实现比较简单,client向哪个节点发出请求,则该节点担任coordinator的角色。

hinted handoff

在dynamo论文中:"all read and write operations are performed on the first N healthy nodes from the preference list, which may not always be the first N nodes encountered while walking the consistent hashing ring"

对Cassandra来说,hinted handoff对ONE, QUORUM, or ALL是不起作用的:“A hinted write does not count towards ConsistencyLevel requirements of ONE, QUORUM, or ALL. The coordinator node stores hints for dead replicas regardless of consistency level unless hinted handoff is disabled.If insufficient replica targets are alive to sastisfy a requested ConsistencyLevel, an UnavailableException is thrown with or without hinted handoff”

时间: 2024-10-06 15:10:45

dynamo与cassandra区别的相关文章

Cassandra Note

1.  HBase和Cassandra区别 原文地址:https://www.cnblogs.com/cheungchein/p/10045183.html

HybridTime - Accessible Global Consistency with High Clock Uncertainty

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

带着问题学习分布式系统之数据分片

在前文中,提出了分布式系统(尤其是分布式存储系统)需要解决的两个最主要的问题,即数据分片和数据冗余,下面这个图片(来源)形象生动的解释了其概念和区别: 其中数据即A.B属于数据分片,原始数据被拆分成两个正交子集分布在两个节点上.而数据集C属于数据冗余,同一份完整的数据在两个节点都有存储.当然,在实际的分布式系统中,数据分片和数据冗余一般都是共存的. 本文主要讨论数据分片的三个问题: (1)如何做数据分片,即如何将数据映射到节点 (2)数据分片的特征值,即按照数据中的哪一个属性(字段)来分片 (3

分布式学习最佳实践:从分布式系统的特征开始(附思维导图)

我的探索历程 这一部分,与分布式不大相关,记录的是我是如何在分布式学习这条道路上摸索的,不感兴趣的读者请直接跳到下一章. 过去的一年,我在分布式学习这条道路上苦苦徘徊,始终没有找到一个好的学习方法,一个能激励我持续学习的方法. 当然,我也在不停的反思,最先发现的问题是学习不系统,东看看,西看看,看过就忘.于是写了一篇文章<带着问题学习分布式系统>提出了一些问题,然后写了两篇文章来回带自己提出的问题.回过头看,其实这两篇文章都是基于分布式存储的. 然后接下来,又是一段时间的迷茫,不知道要学习啥(

数据分片一致性hash

一致性hash 一致性hash是将数据按照特征值映射到一个首尾相接的hash环上,同时也将节点(按照IP地址或者机器名hash)映射到这个环上.对于数据,从数据在环上的位置开始,顺时针找到的第一个节点即为数据的存储节点.这里仍然以上述的数据为例,假设id的范围为[0, 1000],N0, N1, N2在环上的位置分别是100, 400, 800,那么hash环示意图与数据的分布如下: 可以看到相比于上述的hash方式,一致性hash方式需要维护的元数据额外包含了节点在环上的位置,但这个数据量也是

[NOSQL] Redis介绍

Redis概述 Redis是Salvatore Sanfilippo在2009年为其初创公司LLOOGG开发的,目前仍是独立项目,但VMWare赞劣了项目(作者是其雇员).它采用C语言实现,因此性能很好.采用BSD许可证,使用键值存储,和Amazon Dynamo,Cassandra,Riak,Voldemort,Memcache类似.支持丰富的数据类型,比如数组,链表,集合等,非常适合需要表达时间线的web服务,例如微博. Redis支持的数据类型有: 字符串 链表 集合 有序集合 散列表 R

大数据科普①(我家科普就长这样)

IBM用4V(Volume大容量.Velocity高速率.Variety多形式.Value高价值)来描述大数据. IBM用4V(Volume大容量.Velocity高速率.Variety多形式.Value高价值)来描述大数据. 在大数据背景下,数据规模已经由GB级别跨越到PB级别,单机已无法存储与处理如此规模的数据量,只能依靠大规模集群来对这些数据进行存储和处理,所以系统可扩展性成为衡量系统优劣的重要指标. 数据量衡量单位: 1024KB=1MB; 1024MB=1GB; 1024GB=1TB;

大数据随笔(一)

一.概述 谈到大数据,离不开云计算.物联网.数据中心这些关键基础技术. 云计算是分布式处理.并行处理和网格计算的,或者说是这些计算机科学概念的商业实现.狭义上云计算指IT基础设施的交付和使用模式,即通过网络以按需.易扩展的方式获得所需资源:广义上云计算指服务的交付和使用模式,即通过网络以按需.易扩展的方式获得所需服务.云计算强调云存储和计算能力,是一个动态的过程.大数据是计算的对象,强调的是服务器的存储能力和计算能力. 物联网的基本思想是,将现实世界中的不同物体,比如RFID.条码.传感器.移动

HBase底层存储原理——我靠,和cassandra本质上没有区别啊!都是kv 列存储,只是一个是p2p另一个是集中式而已!

理解HBase(一个开源的Google的BigTable实际应用)最大的困难是HBase的数据结构概念究竟是什么?首先HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式. Google's BigTable论文 清楚地解释了什么是BigTable: Bigtable是一个疏松的分布式的持久的多维排序的map,这个map被行键,列键,和时间戳索引.每一个值都是连续的byte数组.(A Bigtable is a sparse