首页 > 解决方案 > 无法获取仪表板的数据(100k+ 行)

问题描述

对 dynamoDb 和整个 AWS 来说非常新,这非常令人兴奋,但我觉得学习曲线有点陡峭。无论如何,这是我的情况和我的问题。

我们有一个移动反应原生应用程序,每次用户进行搜索时,它都会在 dynamoDb 表中存储一行。(数据库是带有 UUID 的搜索历史记录,然后是搜索条件)。平均而言,我们每天对表进行数千次新搜索。该表只有一个主键,即搜索 ID。

该应用程序非常新,但我们已经达到了表中的几十万行,并且预计在接下来的几个月中会有一百万行。数据是简单的简单数据,在其他属性中具有唯一的 id 和字符串和数字。没有联系,没有关系,等等......那时我已经觉得 DynamoDb 可能不是最好的选择,但我仍然在任何地方阅读,如果管理得当,它可以适用于任何东西。

在此旁边有一个 webapp 仪表板,它 - 感谢使用 nodejs lambdas 的 rest api - 查询 dynamoDB 以对搜索进行统计:每天搜索多少次,最后搜索列表......问题是 DynamoDb 不是真的合适查询数十万条数据(1mb 限制、查询限制、积分...)。当我进行扫描时,我只得到 3000 次搜索。我尝试使用请求的最后一个索引对扫描进行循环,但经过几次测试后我没有得到数据并且我阻止了最大吞吐量。很明显,我没有正确的方法将所有这些搜索带到我的网络应用程序中。那么现在正确的方法是什么?我的想法如下,但我愿意接受更有经验的人:

期待您的意见。

标签: amazon-web-servicesamazon-dynamodbdynamodb-queries

解决方案


添加另一个图层以进行全文搜索。

例如,使用 Elasticsearch、Algolia 或其他类似工具。

笔记:

如果比较 dynamodb 的成本,Elasticsearch 可能会花费你很多

参考: https ://aws.amazon.com/about-aws/whats-new/2015/08/amazon-dynamodb-elasticsearch-integration/


推荐阅读