JanusGraph中文翻译文档
事务
      所有与JanusGraph的交互都会关联到一个事务,JanusGraph的事务是多线程并发操作安全的。JanusGraph 实例上的方法如:graph.V(...) graph.tx().commit()  是在调用线程上执行ThreadLocal检索或创建一个事务。调用者可以选择放弃ThreadLocal事务管理,而调用graph.tx().createThreadedTx(),该方法返回对事务对象的引用,其中包含读取/写入图数据  和 提交或回滚等方法。

     JanusGraph事务不一定满足ACID。 可以在BerkeleyDB上进行配置这些特性,但通常不能在Cassandra或HBase上配置,因为它们底层存储系统不提供可序列化隔离或多行原子写入,并且模拟这些特性的成本很高。

     本节介绍了JanusGraph的事务语义和API。

12.1. 事务处理

     JanusGraph中的每一个操作都发生在一个事务的上下文中。根据TinkerPop的事务规范,每一个线程在执行第一个图操作(如查询或写入)时将打开它属于该线程自己的事务。

graph = JanusGraphFactory.open("berkeleyje:/tmp/janusgraph")
juno = graph.addVertex() //自动打开一个新的事务
juno.property("name", "juno")
graph.tx().commit() //事务提交







标签: janusgraph、事务、graph、juno、tx
一个创业中的苦逼程序员
  • 回复
隐藏