我们计划使用Cassandra和Titan / JanusGraph db的组合作为我们项目的后端 . 作为其中一部分,我有以下要求 .

应该以原子方式将记录/顶点A和记录/顶点B写入后端,即,既写入记录,也不写入任何记录 . 基本上,我需要进行多行原子写入 . 但是,根据下面列出的Titan和Cassandra的文档,这是我发现的 .

Titan DB

Titan交易不一定是ACID . 它们可以在BerkleyDB上进行配置,但它们通常不是Cassandra或HBase,其中底层存储系统不提供可序列化隔离或多行原子写入,并且模拟这些属性的成本很高

Cassandra 2.0

在Cassandra中,写入在分区级别是原子的,这意味着插入或更新行中的列将被视为一个写入操作 .

Cassandra 3.0

在Cassandra中,写操作在分区级别是原子的,这意味着同一分区中两行或更多行的插入或更新被视为一次写操作 .

I have below questions.

1)我们使用titan DB和Cassandra 2.1.X.如果我想实现多行原子性,我该怎么做?有没有解决方案来实现这一目标?

2)我看到Cassandra批处理操作为多个操作提供了原子性?但我没有在Titan DB中看到相应的操作来使用此功能 . 我在这里遗漏了一些东西还是有办法使用它?

3)由于Cassandra在各种应用中被大量使用,我很确定人们有需要多行原子操作的用例 . 人们如何解决这个问题?

4)我看到Cassandra 3.0有这种支持 . 所以当JanusGraph开始支持Casandra 3.0(目前它只支持2.1.x)时,我是否应该期待JanusGraph中的这种支持?