纯粹在内存中运行 Neo4j,没有任何持久性
我不想保留任何数据,但仍然想使用Neo4j的图形遍历和算法功能。在嵌入式数据库中,我已经配置了,并且在所有写入之后,我将事务设置为失败。但是我的写入速度(节点,关系创建速度)很慢,这正在成为我过程中的一大瓶颈。cache_type = strong
所以,问题是,Neo4j可以在没有任何持久性的情况下运行,而只是作为一个纯粹的API吗?我尝试了像JGraphT这样的其他机制,但这些机制没有像Neo4j提供的遍历机制。
我不想保留任何数据,但仍然想使用Neo4j的图形遍历和算法功能。在嵌入式数据库中,我已经配置了,并且在所有写入之后,我将事务设置为失败。但是我的写入速度(节点,关系创建速度)很慢,这正在成为我过程中的一大瓶颈。cache_type = strong
所以,问题是,Neo4j可以在没有任何持久性的情况下运行,而只是作为一个纯粹的API吗?我尝试了像JGraphT这样的其他机制,但这些机制没有像Neo4j提供的遍历机制。
在每个事务中对多少更改进行分组?您应尝试在每个事务中对多达数千个更改进行分组,因为提交事务会强制逻辑日志到磁盘。
但是,在您的情况下,您可以通过以下方式开始交易:
db.tx().unforced().begin();
而不是:
db.beginTx();
这使得该事务不会等待逻辑日志强制到磁盘,并使小事务更快,但是断电可能会使您丢失最后几秒钟的数据。
tx() 方法位于 GraphDatabaseAPI 上,例如 EmbeddedGraphDatabase 实现。