Azure cosmosdb CosmosDB图-为什么添加边的成本取决于图的大小?

Azure cosmosdb CosmosDB图-为什么添加边的成本取决于图的大小?,azure-cosmosdb,gremlin,Azure Cosmosdb,Gremlin,我创建了一个玩具应用程序,将顶点和边添加到CosmosDB图形集合中,并为每个请求打印消耗的RU 这是输出: Running g.V().drop() RUs: 34.88 //clean slate Running g.V('1').addE('knows').to(g.V('1')) RUs: 1.97 //don't actually create any edge, no vertices present Running g.addV('person').property('id'

我创建了一个玩具应用程序,将顶点和边添加到CosmosDB图形集合中,并为每个请求打印消耗的RU

这是输出:

Running g.V().drop()
RUs: 34.88 //clean slate

Running g.V('1').addE('knows').to(g.V('1'))
RUs: 1.97  //don't actually create any edge, no vertices present

Running g.addV('person').property('id', '1').property('tenantId', '1')
RUs: 5.71

Running g.V('1').addE('knows').to(g.V('1'))
RUs: 11.4  //1st edge, 1 vertex present

Running g.addV('person').property('id', '2').property('tenantId', '1')
RUs: 5.71 //constant vertex creation cost

Running g.V('1').addE('knows').to(g.V('1'))
RUs: 11.76 //2nd edge, 2 vertices + 1 edge present - cost goes up

Running g.addV('person').property('id', '3').property('tenantId', '2')
RUs: 5.71 //constant vertex creation cost - this vertex is on a different partition

Running g.V('1').addE('knows').to(g.V('1'))
RUs: 12.1 //3rd edge, 3 vertices + 2 edges present - cost goes up

Running g.V('1').addE('knows').to(g.V('1'))
RUs: 12.28 // 4th edge, 3 vertices + 3 edges present - cost goes up

Running g.V('1').addE('knows').to(g.V('1'))
RUs: 12.46 // 5th edge, 3 vertices + 4 edges present - cost goes up
添加顶点的成本是恒定的,但添加边的成本随着图中已存在的顶点和边的数量而增加

知道为什么会这样吗

编辑: 我在一个没有分区的集合上尝试了同样的方法,你知道吗?
所有的创造成本都是不变的

我很想了解如果集合被分区,分区间的通信是如何进行的。

添加顶点和边的小精灵查询是什么

请注意,添加顶点是一次写入。而添加边缘可以是两次读取和一次写入


现在,写入通常是独立的,但是读取可以与系统中的数据量相关联,这取决于您读取数据的方式。

添加顶点和边的小精灵查询是什么

请注意,添加顶点是一次写入。而添加边缘可以是两次读取和一次写入


现在,写入通常是独立的,但是读取可以与系统中的数据量相关联,这取决于您读取数据的方式。

您需要稍微修改查询

g、 V('1')。has('tenantID','1')。addE('knows')。to(g.V('1')。has('tenantID','1'))


用于分区集合。对于分区集合,按“id”查询顶点效率很低,因为将在所有分区中搜索顶点

您需要稍微修改一下查询

g、 V('1')。has('tenantID','1')。addE('knows')。to(g.V('1')。has('tenantID','1'))


用于分区集合。对于分区集合,按“id”查询顶点效率很低,因为将在所有分区中搜索顶点

更新并简化了示例查询。更新并简化了示例查询。