2017-05-12 180 views
1

Cosmos DB允许我们使用gremlin查询语言存储图形数据。azure Cosmos的图形遍历性能DB

是否有智能算法来优化图形在许多服务器中的分配方式?如果没有,我可以想象一些查询速度非常缓慢,以便在网络间分配网络延迟。

+0

不确定你在问什么,但是......你无法想象宇宙DB在“服务器”方面 - 它不会这样工作。这是一个庞大的多租户系统,运行在一个非常大的服务结构上。最好的做法是对通常运行的查询类型进行一些基准测试,并根据查询成本调整请求单元(RU)。 –

+0

我肯定会运行一些测试。把服务器的概念抽象出来是件好事,但如果我有一张TB图,我怀疑所有的数据都会存在于一个物理磁盘上。这意味着当我遍历图时,它们将成为网络延迟。以智能的方式分解图形数据库以最大限度地减少这种类型的延迟是没有银弹解决方案的一个众所周知的难题。我只想知道微软是否已经在他们的系统设计中考虑过这一点,就像其他图形数据库(neo4j,arangoDB等)一样。 – mikestaub

回答

2

文档仍然有点缺乏,但DocumentDb本身有一些性能方面的考虑。也就是说,设置足够精细的PartitionKey可以将数据分割到多个分区,从而为您提供更高的吞吐量。你可以在这里找到更多: https://docs.microsoft.com/en-us/azure/documentdb/documentdb-partition-data

+0

谢谢,所以这意味着开发人员可以根据他们的域选择好的分区键以及他们如何查询图表。我认为这是一个合理的方法。 – mikestaub

+2

图中的'PartitionKey'的概念如何转化?说它是简单的属性图,其中节点和边都具有属性,并且可能具有不同类型(标签)的节点。 –