Hi Shankar,
I would say:
* Prepared statements to avoid sending the whole statement with every
query and instead just send the values.
* Using session.executeAsync() to improve concurrency.
So you would start by creating a prepared statement, something like:
PreparedStatement ps = session.prepare("INSERT INTO ks.tb
(key1,data1,data2) VALUES (?,?,?)"); // Only done once
And then in loadData():
session.executeAsync(ps.bind("key", "1", "2"));
The executeAsync() does not wait for a response for the query, so that
should probably be done elsewhere(see the link below for how you can get
the results back).
http://www.datastax.com/dev/blog/java-driver-async-queries
BR
Marcus Olsson
On 06/09/2015 10:27 AM, SHANKAR REDDY wrote:
Team,
I have a sample insert query which loads around 10 million records and
found that the insert rate is around 1500 per second. This is very slow.
The Source code I am using available at the below location. I am using
the very latest version 2.1.6 with default seetings and single node
VM machine with 20GM RAM and 100 GM SSD disk.
https://github.com/shankar-reddy/CassandraSandbox/blob/master/src/main/java/com/itreddys/cassandra/example/BulkLoadTest.java
Please suggest on insert rate improvement.
-Shankar