Hi everyone!
First of all we are using AWS so for us Rack = AZ (Availability Zone).
What if we add Rack awareness to TokenAware policy (the client knows in which AZ is running and it tries to use replica(s) within the same AZ first)?
Lets assume the following scenario in AWS:
Cassandra with 25 nodes, using 3 AZs (1a, 1b and 1c)
Read heavy workload and RF=3.
No fat partitions, even data.
Clients doing same amount of request to Cassandra from three different AZs (1a, 1b and 1c).
What happen if we use a modified TokenAware policy that tries local AZ replicas first and then the rest of the replicas. Think about this policy as a AZ/Rack Aware + Token Aware policy.
Can you see any disadvantages to this approach? We just implemented it and seems to work fine for us, but maybe I am missing something and that is why I want to hear experts' opinion.
If the community thinks this is useful we can contribute ! :) Always improving C*!!!
Regards,
Mario
To unsubscribe from this group and stop receiving emails from it, send an email to java-driver-us...@lists.datastax.com.
--
Olivier Michallat
Driver & tools engineer, DataStax
stresscql.tests ( vis_id text, field1_id text, field2_id int, field3 text, field4_id text, field5_id text, field6 timestamp, field7 timestamp, field8 boolean, PRIMARY KEY (vis_id, field1_id, field2_id) ) WITH CLUSTERING ORDER BY (field1_id ASC, bluekai_field2_id ASC)
- 50K reads consistency level LOCAL_ONE, using three different policies: Rack+Token+DCAware (new implementation), Token+DCAware (with shuffle replicas true) and Latency+TokenAware policies:
50K writes consistency level LOCAL_ONE, using three different policies: Rack+Token+DCAware (new implementation), Token+DCAware (with shuffle replicas true) and Latency+TokenAware policies:
As you can see the performance we obtain with the new version of Rack + Token + DC Aware yields better results than the other two. It is true that LatencyAware is running with default parameters, so maybe if we tune it, it can give out better results...
Let me know if you have any questions. I would love to contribute!
Regards,
Mario