我正在考虑用arangoDB进行图搜索。
我有两个收藏,一个是人,另一个是电影,我做了一个人和电影之间的图表。
当我插入如下查询时
FOR p IN people
FOR m In movie
FILTER p.movieName == m.title
INSERT {_from:p._id, _to:m._id} IN peopleAndMovieRelation
查询上述查询时,无法访问peopleAndMovieRelation边集合。查询完成后,我可以访问它。
ArangoDB在插入数据时使用集合锁吗?
2条答案
按热度按时间8i9zcol21#
如果你使用ArangoDB和MMFiles存储引擎,写块读和锁定是在集合级别。因此,在执行查询和将边写入
peopleAndMovieRelation
时,无法访问边集合。然而,使用RocksDB存储引擎,文档级锁允许并发写入。写操作不会阻塞读操作。读取不会阻止写入。
https://docs.arangodb.com/3.11/deploy/architecture/storage-engine/
edqdpe6u2#
下面是对存储引擎的补充说明。Comparing RocksDB and MMFiles Storage Engine
缩短)
MMFiles存储引擎
RocksDB存储引擎