cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From AJ>
Subject Re: Docs: Token Selection
Date Fri, 17 Jun 2011 17:57:03 GMT
On 6/17/2011 10:31 AM, Eric tamme wrote:
>> What I don't like about NTS is I would have to have more replicas than I
>> need.  {DC1=2, DC2=2}, RF=4 would be the minimum.  If I felt that 2 local
>> replicas was insufficient, I'd have to move up to RF=6 which seems like a
>> waste... I'm predicting data in the TB range so I'm trying to keep replicas
>> to a minimum.
>> My goal is to have 2-3 replicas in a local data center and 1 replica in
>> another dc.  I think that would be enough barring a major catastrophe.  But,
>> I'm not sure this is possible.  I define "local" as in the same data center
>> as the client doing the insert/update.
> Yes, not being able to configure the replication factor differently
> for each data center is a bit annoying.  Im assuming you basically
> want DC1 to have a replication factor of {DC1:2, DC2:1} and DC2 to
> have {DC1:1,DC2:2}.

Yes.  But, the more I think about it, the more I see issues.  Here is 
what I envision (Issues marked with *):

Three or more dc's, each serving as fail-overs for the others with 1 
maximum unavailable dc supported at a time.
Each dc is a production dc serving users that I choose.
Each dc also stores 0-1 replicas from the other dc's.
Direct customers to their "home" dc of my choice.
Data coming from the client local to the dc is replicated X times in the 
local dc and 1 time in any other dc (randomly).
In the even a dc becomes unreachable by users, an arbitrary fail-over dc 
can serve their requests albeit with increased latency.
*There will only be 1 replica left amongst the remaining fail-over dc's, 
so this could be a problem depending on the CL used other than CL.ONE.
*During the fail-over state, the cluster needs to know that the real 
"home" of the replicas belongs to the currently unavailable dc.  But, as 
of now, I don't think that's possible and so new writes will start to be 
replicated in the current dc as if the currently-used fail-over dc is 
the home dc.

Maybe these goals can be achieve with a kind of ordered asymmetrical 
replication strategy like you illustrated above.  The hard part will be 
to figure out a simple and elegant way to do this w/o undermining C*.

> I would very much like that feature as well, but I dont know the
> feasibility of it.
> -Eric

View raw message