我创建了一个玩具应用程序,它将顶点和边添加到CosmosDB图集合中,并为每个请求打印消耗的RU。
这是输出:
{'path1': {'$variable1': '2018-01-01',
'$variable2': '2020-01-01',
'$variable3': '2018-01-01',
'$variable4': '2018-01-01'},
'path2': {'$variable1': '2018-01-01',
'$variable2': '2020-01-01',
'$variable3': '2018-01-01',
'$variable4': '2018-01-01 + 2020-01-01'}}
添加顶点的成本是固定的,但添加边的成本会随着图中已有的顶点和边的数量而增加。
知道为什么会这样吗?
编辑: 我在一个没有分区的集合上尝试了同样的事情,whaddaya知道吗? 所有的创作成本都是不变的! 我真的很想了解如果集合是分区的,那么分区间的通信是什么。
答案 0 :(得分:2)
您需要稍微修改一下查询
gV('1')。has('tenantID','1')。addE('knows')。to(gV('1')。has('tenantId','1'))
用于分区收集。通过'id'查询顶点对于分区收集是低效的,因为将在所有分区中搜索顶点。
答案 1 :(得分:0)
用于添加顶点和边的gremlin查询是什么。
请注意,添加顶点是一次写入。同时,添加边可以是两次读取和一次写入。
现在,写入通常是独立的,但读取可以与系统中的数据量相关联,具体取决于您的读取方式。