并发写入titan DB以提高性能

时间:2015-04-01 06:56:18

标签: java multithreading concurrency cassandra titan

与Cassandra一样,并行写入Titan DB的方式是什么?使用Titan和Cassandra作为数据存储。总的来说,我想平行地写入数据库,以便提高性能。

我尝试使用java多线程执行此操作但遇到锁定异常。

1 个答案:

答案 0 :(得分:1)

Aurelius Graphs邮件列表中提到了这个问题:

https://groups.google.com/d/msg/aureliusgraphs/LbOx0wKhULc/j2wQuBtRqTQJ

当然欢迎其他答案,但是这里是我在该交流中的回答摘要:

您可以使用多线程,多个JVM处理等以并行方式写入Titan。但是,如果您的Titan架构使用锁来强制执行唯一性,则您将不可避免地遇到锁定异常。有两种方法可以解决这个问题:

  1. 自行删除锁定并管理唯一性一致性:http://s3.thinkaurelius.com/docs/titan/0.5.4/eventual-consistency.html
  2. 启用锁定并向代码添加事务重试。您可能还会考虑较小的提交,以便在最短的时间内保持锁定,从而防止进一步的锁争用。