You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Colin Yates <co...@gmail.com> on 2010/04/12 12:52:32 UTC

Off line client nodes?

Hi,

In our architecture, our consultants want to perform some
analysis on the train, disconnected from the web.  

How can I achieve this in Cassandra?  I realise this isn't quite
the use-case that was thought about when the clustering 
was designed, but will it work?

Scenario:

 - consultantA is in his office running a cassandra 
node on his laptop.

 - this node *very* periodically (almost on a manual basis) 
connects to the cluster and synchronises

 - consultant then gets some coffee

 - consultant then disconnects and sits on a train, happily 
using their app against the local node

 - consultant goes and plays golf whilst billing client for 
'management activities) (we know you do!) 

 - consultant plugs in at the end of the day and all changes are
synced back to the cluster

A few caveats:

 - the sync might not be atomic - the consultant *will* get bored
and disconnect before the sync has finished

 - the consultant should only see a tiny, well-defined fragment 
of the cluster data - i.e. a key range-set for example

Is this do-able or should I write a custom 'slurper' which
builds the local standalone client node?  I really don't want to do this....

Many thanks,

Col


Re: Off line client nodes?

Posted by Colin Yates <co...@gmail.com>.
Thanks for all your advice - I am evaluating couchDB now.  I can
see that each is designed for different use-cases and couchDB is optimal
for this.

Many thanks all.

Col

Colin Yates <colin.yates <at> gmail.com> writes:





Re: Off line client nodes?

Posted by Jonathan Ellis <jb...@gmail.com>.
Cassandra treats disconnection as something that *does* occur, like it
or not, and deals with it well.

But there's no way to easily sync just some subset of data to your
laptop.  Couch may well be better at doing that sort of thing.

On Mon, Apr 12, 2010 at 3:50 PM, David Timothy Strauss
<da...@fourkitchens.com> wrote:
> It's not common for me to recommend CouchDB, but this is one instance it's great for: synching complete datasets for disconnected use. Cassandra treats disconnection as a problem, not something that should occur in the normal plan of operations.
>
> -----Original Message-----
> From: Colin Yates <co...@gmail.com>
> Date: Mon, 12 Apr 2010 10:52:32
> To: <us...@cassandra.apache.org>
> Subject: Off line client nodes?
>
> Hi,
>
> In our architecture, our consultants want to perform some
> analysis on the train, disconnected from the web.
>
> How can I achieve this in Cassandra?  I realise this isn't quite
> the use-case that was thought about when the clustering
> was designed, but will it work?
>
> Scenario:
>
>  - consultantA is in his office running a cassandra
> node on his laptop.
>
>  - this node *very* periodically (almost on a manual basis)
> connects to the cluster and synchronises
>
>  - consultant then gets some coffee
>
>  - consultant then disconnects and sits on a train, happily
> using their app against the local node
>
>  - consultant goes and plays golf whilst billing client for
> 'management activities) (we know you do!)
>
>  - consultant plugs in at the end of the day and all changes are
> synced back to the cluster
>
> A few caveats:
>
>  - the sync might not be atomic - the consultant *will* get bored
> and disconnect before the sync has finished
>
>  - the consultant should only see a tiny, well-defined fragment
> of the cluster data - i.e. a key range-set for example
>
> Is this do-able or should I write a custom 'slurper' which
> builds the local standalone client node?  I really don't want to do this....
>
> Many thanks,
>
> Col
>
>

Re: Off line client nodes?

Posted by David Timothy Strauss <da...@fourkitchens.com>.
It's not common for me to recommend CouchDB, but this is one instance it's great for: synching complete datasets for disconnected use. Cassandra treats disconnection as a problem, not something that should occur in the normal plan of operations.

-----Original Message-----
From: Colin Yates <co...@gmail.com>
Date: Mon, 12 Apr 2010 10:52:32 
To: <us...@cassandra.apache.org>
Subject: Off line client nodes?

Hi,

In our architecture, our consultants want to perform some
analysis on the train, disconnected from the web.  

How can I achieve this in Cassandra?  I realise this isn't quite
the use-case that was thought about when the clustering 
was designed, but will it work?

Scenario:

 - consultantA is in his office running a cassandra 
node on his laptop.

 - this node *very* periodically (almost on a manual basis) 
connects to the cluster and synchronises

 - consultant then gets some coffee

 - consultant then disconnects and sits on a train, happily 
using their app against the local node

 - consultant goes and plays golf whilst billing client for 
'management activities) (we know you do!) 

 - consultant plugs in at the end of the day and all changes are
synced back to the cluster

A few caveats:

 - the sync might not be atomic - the consultant *will* get bored
and disconnect before the sync has finished

 - the consultant should only see a tiny, well-defined fragment 
of the cluster data - i.e. a key range-set for example

Is this do-able or should I write a custom 'slurper' which
builds the local standalone client node?  I really don't want to do this....

Many thanks,

Col


Re: Off line client nodes?

Posted by Lucas Di Pentima <lu...@di-pentima.com.ar>.
Hello Colin,


El 12/04/2010, a las 07:52, Colin Yates escribió:

> Hi,
> 
> In our architecture, our consultants want to perform some
> analysis on the train, disconnected from the web.  
> 
> How can I achieve this in Cassandra?  I realise this isn't quite
> the use-case that was thought about when the clustering 
> was designed, but will it work?
> 
[...]
> Many thanks,
> 
> Col
> 

I think you should try CouchDB for this use case scenario.

Best regards
--
Lucas Di Pentima - Santa Fe, Argentina
Jabber: lucas@di-pentima.com.ar
MSN: ldipenti75@hotmail.com





Re: Off line client nodes?

Posted by Paul Prescod <pr...@gmail.com>.
On Mon, Apr 12, 2010 at 3:52 AM, Colin Yates <co...@gmail.com> wrote:
> Hi,
>
> In our architecture, our consultants want to perform some
> analysis on the train, disconnected from the web.
>
> How can I achieve this in Cassandra?  I realise this isn't quite
> the use-case that was thought about when the clustering
> was designed, but will it work?

No matter what technology you choose, the key issue will be conflict
resolution. You will need detailed policies for every kind of conflict
that can occur, and how it will be resolved. Then you need to see if
the software platform allows you to implement your specific policies.

You might also want to investigate "Microsoft Sync Framework" and its
competitors.

 Paul Prescod