You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Zhong Li <zl...@voxeo.com> on 2010/08/05 21:59:49 UTC

set ReplicationFactor and Token at Column Family/SuperColumn level.

All,

Thanks for Apache Cassandra Project, it is great project.

This is my first time to use it. We install it on 10 nodes and runs  
great. The 10 nodes cross all 5 datacenters around the world.

The big thing bother me is initial ring token. We have some Column  
Families. It is very hard to choose one token suitable for all CFs.  
Also some Column Families need higher Consistent Level and some don't.  
If we set ReplicationFactor too high, it is too costy for crossing  
datacenter, especially in otherside the world.

I know we can setup multiple rings, but it costs more hardware.

if Cassandra can implement  Ring,Token and RF on the CF level, or even  
SuperColumn level, it will make design much easier and more efficiency.

Is it possible?

Thanks,

Zhong 

Re: set ReplicationFactor and Token at Column Family/SuperColumn level.

Posted by Gary Dusbabek <gd...@gmail.com>.
On Thu, Aug 5, 2010 at 14:59, Zhong Li <zl...@voxeo.com> wrote:
> All,
>
> Thanks for Apache Cassandra Project, it is great project.
>
> This is my first time to use it. We install it on 10 nodes and runs great.
> The 10 nodes cross all 5 datacenters around the world.
>
> The big thing bother me is initial ring token. We have some Column Families.
> It is very hard to choose one token suitable for all CFs. Also some Column
> Families need higher Consistent Level and some don't. If we set
> ReplicationFactor too high, it is too costy for crossing datacenter,
> especially in otherside the world.
>
> I know we can setup multiple rings, but it costs more hardware.
>
> if Cassandra can implement  Ring,Token and RF on the CF level, or even
> SuperColumn level, it will make design much easier and more efficiency.

You can get separate replication factors by putting your column
families in separate keyspaces.

Token per CF (or even token per KS) isn't on the roadmap though.  You
can mitigate this to some extent by choosing row keys that play nicely
with your ring though.

Gary

>
> Is it possible?
>
> Thanks,
>
> Zhong

Re: set ReplicationFactor and Token at Column Family/SuperColumn level.

Posted by Benjamin Black <b...@b3k.us>.
"Additional keyspaces have very little overhead (unlike CFs)."

On Fri, Aug 6, 2010 at 9:42 AM, Zhong Li <zl...@voxeo.com> wrote:
>
> If I create 3-4 keyspaces, will this impact performance and resources (esp.
> memory and disk I/O) too much?
>
> Thanks,
>
> Zhong
>
> On Aug 5, 2010, at 4:52 PM, Benjamin Black wrote:
>
>> On Thu, Aug 5, 2010 at 12:59 PM, Zhong Li <zl...@voxeo.com> wrote:
>>>
>>> The big thing bother me is initial ring token. We have some Column
>>> Families.
>>> It is very hard to choose one token suitable for all CFs. Also some
>>> Column
>>> Families need higher Consistent Level and some don't. If we set
>>
>> Consistency Level is set by clients, per request.  If you require
>> different _Replication Factors_ for different CFs, then just put them
>> in different keyspaces.  Additional keyspaces have very little
>> overhead (unlike CFs).
>>
>>> ReplicationFactor too high, it is too costy for crossing datacenter,
>>> especially in otherside the world.
>>>
>>> I know we can setup multiple rings, but it costs more hardware.
>>>
>>> if Cassandra can implement  Ring,Token and RF on the CF level, or even
>>> SuperColumn level, it will make design much easier and more efficiency.
>>>
>>> Is it possible?
>>>
>>
>> The approach I described above is what you can do.  The rest of what
>> you asked is not happening.
>>
>>
>>
>> b
>
>

Re: set ReplicationFactor and Token at Column Family/SuperColumn level.

Posted by Zhong Li <zl...@voxeo.com>.
If I create 3-4 keyspaces, will this impact performance and resources  
(esp. memory and disk I/O) too much?

Thanks,

Zhong

On Aug 5, 2010, at 4:52 PM, Benjamin Black wrote:

> On Thu, Aug 5, 2010 at 12:59 PM, Zhong Li <zl...@voxeo.com> wrote:
>>
>> The big thing bother me is initial ring token. We have some Column  
>> Families.
>> It is very hard to choose one token suitable for all CFs. Also some  
>> Column
>> Families need higher Consistent Level and some don't. If we set
>
> Consistency Level is set by clients, per request.  If you require
> different _Replication Factors_ for different CFs, then just put them
> in different keyspaces.  Additional keyspaces have very little
> overhead (unlike CFs).
>
>> ReplicationFactor too high, it is too costy for crossing datacenter,
>> especially in otherside the world.
>>
>> I know we can setup multiple rings, but it costs more hardware.
>>
>> if Cassandra can implement  Ring,Token and RF on the CF level, or  
>> even
>> SuperColumn level, it will make design much easier and more  
>> efficiency.
>>
>> Is it possible?
>>
>
> The approach I described above is what you can do.  The rest of what
> you asked is not happening.
>
>
>
> b


Re: set ReplicationFactor and Token at Column Family/SuperColumn level.

Posted by Benjamin Black <b...@b3k.us>.
On Thu, Aug 5, 2010 at 12:59 PM, Zhong Li <zl...@voxeo.com> wrote:
>
> The big thing bother me is initial ring token. We have some Column Families.
> It is very hard to choose one token suitable for all CFs. Also some Column
> Families need higher Consistent Level and some don't. If we set

Consistency Level is set by clients, per request.  If you require
different _Replication Factors_ for different CFs, then just put them
in different keyspaces.  Additional keyspaces have very little
overhead (unlike CFs).

> ReplicationFactor too high, it is too costy for crossing datacenter,
> especially in otherside the world.
>
> I know we can setup multiple rings, but it costs more hardware.
>
> if Cassandra can implement  Ring,Token and RF on the CF level, or even
> SuperColumn level, it will make design much easier and more efficiency.
>
> Is it possible?
>

The approach I described above is what you can do.  The rest of what
you asked is not happening.



b