cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amit sehas <cu...@yahoo.com.INVALID>
Subject Re: Deployment
Date Sat, 12 Jan 2019 15:14:01 GMT
 Thanks for your response, this leads to some further questions:
a) If queries are submitted to co-ordinator nodes (i assume this includes writes as well as
reads) then:  -- is this the approach also followed for the initial data load?   -- some
select queries may not have restrictions on all the partition key columns, and Cassandra would
reject such a query, but we we utilize ALLOW FILTER then the query will execute, since there
is no way to determine which node to send the query to, it will be sent to all the nodes that
could potentially have results. In such a case it would seem that the co-ordinator would gather
the results from all the nodes and return it to the application.
b) This seems as if this is a 3 tier architecture. Application sends query to coordinator.
coordinator sends it to the right nodes.Application does not know which nodes may have the
data, so it can not directly send the data to the right nodes. Even if application had the
data, it may not be able to perform load balancing. Does the coordinator perform load balancing?
I imagine it would have to ...
thanks
    On Saturday, January 12, 2019, 3:32:53 AM PST, Rajesh Kishore <rajesh10sinha@gmail.com>
wrote:  
 
 Application would send request to one of the node(called as coordinating node) & this
coordinating node is aware of where your result lies(considering you have modelled your DB
correctly, it should not result in scatter& gather kind of stuff) and thus delegate the
query to respective node, so it does follow client server architecture & your assumption
is correct.
As per my knowledge , generally application should be unaware where your result lies &
must not be tied to a specific node because it would have bigger implications when stuffs
like re-balancing would occur. So, your application should be unaware where your data lies
(in which node I meant), but obviously keeping application in same region as that of cassandra
cluster would make sense, can't comment much on cloud deployment.
Thanks,Rajesh

On Sat, Jan 12, 2019 at 8:54 AM amit sehas <cun23@yahoo.com.invalid> wrote:

I am new to Cassandra, i am wondering how the Cassandra applications are deployed in the cloud.
Does Cassandra have a client server architecture and the application is deployed as a 3rd
tier that sends over queries to the clients, which then submit them to the Cassandra servers? 
Or does the application submit the request directly to any of the Cassandra server which then
decides where the query will be routed to, and then gathers the response and returns that
to the application.
Does the application accessing the data get deployed on the same nodes in the cloud as the
Cassandra cluster itself? Or on separate nodes?  Are there any best practices available in
this regard?
thanks
  
Mime
View raw message