ArangoDB集合锁
我正在考虑使用arangoDB进行图形搜索 我有两个收藏,一个是人物,另一个是电影,我在人物和电影之间画了一个图表 当我像下面这样插入查询时ArangoDB集合锁,arangodb,Arangodb,我正在考虑使用arangoDB进行图形搜索 我有两个收藏,一个是人物,另一个是电影,我在人物和电影之间画了一个图表 当我像下面这样插入查询时 FOR p IN people FOR m In movie FILTER p.movieName == m.title INSERT {_from:p._id, _to:m._id} IN peopleAndMovieRelation 当我查询上述查询时,我无法访问PeopleAndMovierRelation边缘集合。查询完成后,
FOR p IN people
FOR m In movie
FILTER p.movieName == m.title
INSERT {_from:p._id, _to:m._id} IN peopleAndMovieRelation
当我查询上述查询时,我无法访问PeopleAndMovierRelation边缘集合。查询完成后,我可以访问它
ArangoDB在插入数据时是否使用收集锁 如果将ArangoDB与MMFiles存储引擎一起使用,则写入块读取和锁定在收集级别。因此,在执行查询并将边缘写入
peopleAndMovieRelation
时,无法访问边缘集合
然而,在RocksDB存储引擎中,文档级锁允许并发写入。写入不会阻止读取。读取不会阻止写入
以下是存储引擎的附加说明 (缩短) MMFiles存储引擎
-基于最新版本(3.2)的ArangoDB默认存储引擎
-收集级别锁定
-所有索引在启动时加载主内存(如果索引太多,则启动时间较长,但访问速度最快) RocksDB存储引擎
-支持的3.2+
-在主存中缓存数据,但如果需要,则从磁盘加载
-所有索引都写入磁盘
-最快的启动(启动时无负载指数),逐渐提高性能