Hi Renato,

Your original statement is not entirely correct, and the video Sebastian is
suggesting can probably help make it clearer. It's not that Cassandra
favors the AP side of CAP. It more that Cassandra allows you to tune what
level of consistency you require. Cassandra does force you to reckon with
the impact of the tunablility - it's not known to be possible to beat the
CAP theorem yet, despite some occasional rumblings to the contrary.

If you want to optimize for consistency, you can use CL_ALL on both write
and read, but you'll sacrifice availability when a node fails which has a
required replica of your data. If you want to optimize for performance and
fault tolerance, you can read and write at CL_ONE, in which case you won't
always have consistency.

In general, if you write at QUORUM and read at ONE (or LOCAL variants
thereof if you have multiple data centers), your apps will work well
despite the theoretical consistency issues.

If you need better consistency guarantees, there's always the world of SQL
and distributed transactions...

Steve




On Thu, Oct 8, 2015 at 5:04 PM, Renato Perini <renato.per...@gmail.com>
wrote:

> I'm asking because the DataStax DS-201 course states that C* is an ideal
> fit for messaging applications.
> What I'm not understanding? :-)
> Messaging applications generally must be totally consistent, expecially
> real-time ones.
>
>
> Il 09/10/2015 01:34, Jonathan Haddad ha scritto:
>
> Your options are
>
> 1. Read & write at quorum
> 2. Recognize that, in general, if you've got a real need for Cassandra,
> your data is out of date almost immediately after you've read it no matter
> what guarantee your DB gives you, so you might as well just forget about
> ever getting the "right" answer because you probably can't even define what
> that is.
>
> On Thu, Oct 8, 2015 at 4:17 PM Renato Perini < <renato.per...@gmail.com>
> renato.per...@gmail.com> wrote:
>
>> How the two things can fit together?
>> Cassandra endorses the AP side of the CAP theorem. So how Cassandra can
>> deliver realtime consistent data?
>> AFAIK, choosing a consistency level equals to ALL can be a huge
>> performance hit for C*, so, please, explain me why I should choose C*
>> for realtime data
>> that should be consistent across reads after the data has been written.
>>
>> Thank you.
>>
>>
>


-- 
Steve Robenalt
Software Architect
sroben...@highwire.org <bza...@highwire.org>
(office/cell): 916-505-1785

HighWire Press, Inc.
425 Broadway St, Redwood City, CA 94063
www.highwire.org

Technology for Scholarly Communication

Reply via email to