nosql - Tuning write performance in cassandra -


We have a typical scenario:

10 simple columns less than 10 column families

When we receive a request from the client, we need to write 10 000 000 records of this column family in the database and we are writing them in batch (1000 in a batch) It usually lasts 5-10 minutes depending on the number of nodes in cluster and replication factor.

After writing in the next few hours, we will get many updates (each record is updated 2 times).

So many of us write / update at a time (one hour) of the day and after that are very few.

Question: For the purpose of improving the write / update performance, I have looked at the memtable_flush_queue_size and similar configuration fields for example I do not have enough experience with the cassandra, to know what to do.

Any suggestion is helpful,

Evan

  1. Increase JVM Memory (maximum 12 GB on Java 6+) - This will automatically increase the size of memtables and reduce the flush interval, which also means that will be merged simultaneously in continuously updated RAM and coincidentally Not during - this will also reduce the disk usage
  2. Very important: Use separate disk for data and use to log in Switch to. You can use SSD for data, there is no substance to logging, since this sequential writes
  3. Changing the replication factor to 1 will generate less weight in the cluster, because each node has its The data should be kept in mind and there are no replicas, but you can lose data - I will not recommend it again.

    This can help to get some better understanding:



Comments

Popular posts from this blog

c - Mpirun hangs when mpi send and recieve is put in a loop -

python - Apply coupon to a customer's subscription based on non-stripe related actions on the site -

java - Unable to get JDBC connection in Spring application to MySQL -