Amazon dynamodb 泰坦+;dynamodb遍历后端性能

Amazon dynamodb 泰坦+;dynamodb遍历后端性能,amazon-dynamodb,database-performance,titan,Amazon Dynamodb,Database Performance,Titan,我们尝试将Titan(1.0.0版本)与DynamoDB后端一起使用,就像我们的推荐系统引擎一样。我们有一个庞大的用户数据库和他们的关系。它包含大约350万用户和大约20亿用户之间的关系。 下面是我们用来创建模式的代码 如您所见,我们使用一个复合索引来查找快速遍历的起点、5个边的类型和一些属性 在我们的例子中,用户可以拥有大量的边缘。每一个都可能有数万条边 下面是我们用来在线提供建议的代码 问题是遍历工作非常慢。 这个 当用户有大约5000-6000条边时,会持续20-30秒 我们的Dyn

我们尝试将Titan(1.0.0版本)与DynamoDB后端一起使用,就像我们的推荐系统引擎一样。我们有一个庞大的用户数据库和他们的关系。它包含大约350万用户和大约20亿用户之间的关系。 下面是我们用来创建模式的代码

如您所见,我们使用一个复合索引来查找快速遍历的起点、5个边的类型和一些属性

在我们的例子中,用户可以拥有大量的边缘。每一个都可能有数万条边

下面是我们用来在线提供建议的代码

问题是遍历工作非常慢。 这个

当用户有大约5000-6000条边时,会持续20-30秒

我们的DynamoDB的表具有足够的读/写容量(我们可以从CloudWatch中看到,它消耗的容量低于1000个单元提供的容量)

这是我们对泰坦的配置

我们尝试在具有最大内存的Lambda函数内部和大实例(r3.8XL)上运行它,但结果相同

我们是做错了什么,还是这在我们的情况下是正常的


谢谢。

该系统的一般建议是用于加速您在泰坦上的穿越。此外,《泰坦号》是一个失败的项目。如果您正在寻找代码的更新,那么您已经找到了Titan代码并继续更新它

pantalohnes使用以顶点为中心的索引是正确的。此外,您的查询正在查找
has(USER\u LABEL、USER\u ID\u PROPERTY、userId)
,但复合索引不受标签的约束。当您需要时,请尝试以索引方式包括
(用户标签)