mhd
mhd

Reputation: 4717

Cassandra result from running query cqlsh from one of the node cluster

I am new to cassandra and haven't finished read the doc yet. Just want to know if I run cqlsh from one node of a 3 nodes cluster and run query e.g.

cqlsh node1host -u username -p passwd -k my_cass_keyspace
> select ...

is the result come from all the 3 nodes or it is just result from the node that I run cqsh in? Sorry for very noob question. Thanks.

Upvotes: 1

Views: 180

Answers (2)

LetsNoSQL
LetsNoSQL

Reputation: 1538

The answer is Yes, it comes from all the nodes but it depends upon you cluster configurations, replication factor and consistency level.

For Example:- You have 3 nodes cluster and replication factor is 3 and consistency level is quorum for read and write both so whenever you will do insert query then your data will replicate to all 3 nodes but 2 nodes acknowledgement is sufficient to coordinator as quorum. same fill follow if you do a select query.

You may also refer Cassandra documentation as below:- http://cassandra.apache.org/doc/latest/architecture/dynamo.html#replication

Upvotes: 1

Saifallah KETBI
Saifallah KETBI

Reputation: 313

General answer : from all node.

Detailed answer : Your node might be the coordinator, then depending on your replication factor, the node might fetch data from other nodes ( for example RF 1, then you query on a partition from another node).

This depends on your replication factor, and also your consistency level. you can check your consistency when using cqlsh by (default is ONE) :

cqlsh> consistency;
Current consistency level is ONE.

You can change it by ( to QUORUM for example) :

cqlsh> CONSISTENCY QUORUM ; 

If you want to know details about your request execution plan, try to activate tracing :

cqlsh> tracing on ;  

I hope this helps !

Upvotes: 2

Related Questions