为什么顶点数仅在 DSE Graph 的开发模式下获得
Why the vertex count is getting only in Development mode in DSE Graph
当我尝试使用
在 DSE 图形中获取顶点数时
g.V().count()
在生产模式下显示以下错误。
Could not find a suitable index to answer graph query and graph scans are disabled
但同样适用于开发模式。我是不是做错了什么。
我正在尝试快速启动 link 但创建了我自己的模式
https://docs.datastax.com/en/latest-dse/datastax_enterprise/graph/QuickStartStudio.html
架构:
schema.propertyKey("id").Int().single().create()
schema.propertyKey("name").Text().single().create()
schema.edgeLabel("created").multiple().create()
schema.vertexLabel("feed").properties("id").create()
schema.vertexLabel("user").properties("id", "name").create()
schema.vertexLabel("feed").index("byFeedId").materialized().by("id").add()
schema.vertexLabel("user").index("byUser").materialized().by("id").add()
TL;DR
跨顶点计数是一个昂贵的查询,预计不会在 OLTP 用例的生产中完成。
为什么?
顶点按 DSE 图中的顶点类型存储在邻接列表中,要计算所有顶点的数量,您必须对每个顶点进行完整的 table 扫描,这在分布式中是不切实际的事务系统(你必须命中可能有很多节点的整个副本集)。
这是一个真正的查询。我该怎么办?
如果这是一个真实的用例,它可能是一个分析用例,在这种情况下,您应该通过 运行 分析模式下的查询来利用火花图计算机。
注意:完整 table 扫描可能仍需要时间,但它将通过 DSE Analytics 以大规模分布式方式执行。
当我尝试使用
在 DSE 图形中获取顶点数时g.V().count()
在生产模式下显示以下错误。
Could not find a suitable index to answer graph query and graph scans are disabled
但同样适用于开发模式。我是不是做错了什么。
我正在尝试快速启动 link 但创建了我自己的模式
https://docs.datastax.com/en/latest-dse/datastax_enterprise/graph/QuickStartStudio.html
架构:
schema.propertyKey("id").Int().single().create() schema.propertyKey("name").Text().single().create()
schema.edgeLabel("created").multiple().create()
schema.vertexLabel("feed").properties("id").create() schema.vertexLabel("user").properties("id", "name").create()
schema.vertexLabel("feed").index("byFeedId").materialized().by("id").add() schema.vertexLabel("user").index("byUser").materialized().by("id").add()
TL;DR
跨顶点计数是一个昂贵的查询,预计不会在 OLTP 用例的生产中完成。
为什么?
顶点按 DSE 图中的顶点类型存储在邻接列表中,要计算所有顶点的数量,您必须对每个顶点进行完整的 table 扫描,这在分布式中是不切实际的事务系统(你必须命中可能有很多节点的整个副本集)。
这是一个真正的查询。我该怎么办?
如果这是一个真实的用例,它可能是一个分析用例,在这种情况下,您应该通过 运行 分析模式下的查询来利用火花图计算机。 注意:完整 table 扫描可能仍需要时间,但它将通过 DSE Analytics 以大规模分布式方式执行。