我必须在带有弹簧数据的cassandra db表中插入数千行。 最快的最好方法是什么。有什么建议吗?
答案 0 :(得分:0)
最快的方法是使用AsyncCqlTemplate
来执行异步操作,而不是“标准”同步操作(这里是full example)。
AsyncCassandraTemplate asyncTemplate = new AsyncCassandraTemplate(session);
ListenableFuture<Klass> future = asyncTemplate.insert(klass_instance);
但是您需要确保您不使连接超载-您需要某种计数信号量,该信号量在当时不会超过X个查询。您可能还需要调整connection pooling parameters-例如,将正在进行中的请求的数量增加到比标准1024更高的数量...
P.S。不要尝试使用批处理!在批量处理中只有相同分区的数据之前,将使插入速度变慢,而不是更快。