AWS Lambda函数的快速数据访问

特隆德

我有一个基于python的lambda函数,该函数在基于kinesis firehose流的s3 put操作上触发,该流以每分钟约10k条记录的速率发送数据。现在,lambda函数只是对数据进行一些小的修正,并以100为批次将其交付给logstash实例。lambda执行时间为5到12秒,这很好,因为它每分钟运行一次。

我们正在考虑在将流数据发送到logstash之前,使用一些更多信息来丰富它们。每个传入的消息都有一个“ id”字段,我们希望针对某种类型的数据库查找该ID,从数据库中获取一些额外的信息,然后将其注入对象中,然后再传递给它。

问题是,我无法使其运行足够快。我尝试将所有数据(600k条记录)加载到DynamoDB中,并在lambda函数中的每个记录循环上执行查找。这会大大降低执行速度。然后我发现我们不必两次查找相同的id,因此我使用列表obj来保存已经“查找”的数据-这虽然使执行时间有所缩短,但仍与我们的执行时间相差无几d喜欢。

然后,我考虑了预加载整个数据库数据集。我对此进行了测试-只需将dynamodb中的所有600条记录转储到“缓存列表”对象中,然后再开始循环遍历s3对象中的每条记录。数据在大约一分钟内转储,但是缓存列表现在是如此之大,以至于每次查找都需要5秒钟(比命中数据库要慢得多)。

我对这里的操作不知所措-我完全意识到lambda可能不是此平台的正确选择,如果我们无法使其正常运行,我们可能会转向其他产品,但是首先我想我是d查看社区是否对如何加快处理速度提出了一些建议。

马克B

将数据预加载到Redis服务器中。这正是Redis擅长的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Lambda函数访问AWS Elasticsearch

来自分类Dev

在Amazon AWS上快速访问大数据

来自分类Dev

从lambda函数中访问AWS API?

来自分类Dev

AWS Lambda函数不显示对DynamoDb的访问

来自分类Dev

在AWS Lambda函数之间共享通用数据

来自分类Dev

从AWS Lambda访问GNUPG

来自分类Dev

如何从AWS Lambda函数访问YAML文件中的变量?

来自分类Dev

在python AWS Lambda函数中从python访问json请求

来自分类Dev

如何在Go AWS Lambda函数中访问参数

来自分类Dev

在 Lambda Python 函数中循环访问 AWS 账户

来自分类Dev

允许AWS Lambda访问RDS数据库

来自分类Dev

AWS Lambda:无法通过具有VPC访问权限的Lambda函数访问SQS队列

来自分类Dev

回调到AWS Lambda函数

来自分类Dev

使用pyaudio的AWS Lambda函数

来自分类Dev

如何重用AWS Lambda函数?

来自分类Dev

Java 中的 AWS Lambda 函数

来自分类Dev

AWS Lambda 上的 Python 函数

来自分类Dev

AWS Lambda 函数无法连接?

来自分类Dev

从 aws lambda 函数与 mongodb 通信

来自分类Dev

SDK AWS 和 Lambda 函数

来自分类Dev

部署多个 AWS Lambda 函数

来自分类Dev

您如何动态地授予AWS Lambda函数访问资源的权限?

来自分类Dev

如何编辑AWS EC2实例的安全组以仅允许访问lambda函数

来自分类Dev

如何在自定义授权者AWS Lambda函数中访问HTTP标头

来自分类Dev

“ Runtime.ImportModuleError”尝试使用图层访问AWS Lambda函数中的npm软件包

来自分类Dev

发生错误(AuthFailure)AWS无法验证所提供的访问凭证:来自lambda函数的ClientError

来自分类Dev

从 Java Web 应用程序访问 AWS Lambda 函数是通过 Https 或 Http 完成的

来自分类Dev

如何从我的 AWS lambda 函数访问一些 JSON 文档?

来自分类Dev

AWS Lambda-访问公共AWS RDS MySQL

Related 相关文章

热门标签

归档