我需要排序键还是应该使用AWS DAX

时间:2018-10-10 13:20:06

标签: amazon-dynamodb amazon-dynamodb-dax

我有一个难题,我知道我应该从一开始就使用SQL DB。

我不确定我是否可以为特定用例使用排序键。我有一个包含多个属性的表,品牌,型号参考,参考...我要尝试做的是让用户选择品牌,然后选择型号,然后参考等,然后获得所有符合该条件的产品,并给出平均值这些物品的价格。

现在至少可以说,对具有300K +项的整个数据库执行扫描操作并不是很节省成本,但这就是我的情况。

我的问题是我如何才能最经济有效地完成我想做的事情?

1 个答案:

答案 0 :(得分:0)

让表T仅具有一个分区键:ID

为简单起见,让客户选择n = 3个属性:brandmodel-refreference

现在,使用分区键:brand_model-ref_reference和排序键:ID定义全局二级索引(GSI)。我建议您使用Projection:ALL。

因此,当您的客户选择了3个值:abc时,您要做的就是用brand_model-ref_reference = "a#b#c"查询GSI。您将高效地获取所有且仅获取计算平均值所需的项目。表格的大小不再重要。

注释

  • 使用此解决方案,您必须预先确定条件的数量,客户必须为所有条件选择一个值。不太好。
  • 如果存在更多约束,则所有解决方案都将变得无用。用它作为提示。 :)