java - 从 DynamoDB 获取大量数据?

标签 java spring-boot rest amazon-dynamodb large-data

我正在开发一个 spring boot REST API,它必须根据搜索条件从 dynamoDB 表中获取大量数据(100-200k 记录),并将响应返回给 API 使用者,而无需将整个对象列表加载到其内存中.对于基于 SQL 的数据库,我使用 JDBCTemplate queryForStreams 方法来满足类似的要求。但是对于像 DynamoDB 这样的非 SQL 数据库,我找不到类似的方法来流式传输数据。

一个示例场景是从 xyz 航空公司 dynamoDB 数据库中获取所有在圣诞节周末预订商务舱机票的乘客。

注意:为清楚起见进行了编辑。

最佳答案

从 DynamoDB 读取每个请求的 GB 数据似乎不可扩展。最终用户是否需要所有这些数据,目的是什么?

DynamoDB 每个请求只能返回 1MB,因此对于单个最终用户 API 调用,您必须向 DynamoDB 发出许多分页请求。

如果您使用的是 Scan,那么您的解决方案根本无法扩展,我可能会建议您使用不同的数据库。

关于java - 从 DynamoDB 获取大量数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74282667/

相关文章:

java - 如何在 Spring Boot 中向请求正文添加额外属性并插入数据库

java - 将 post 参数映射到请求中的 DTO

java - 从 Cookie 获取 'undefined' 作为 java 中的值?

java - 在 Spring Security 中的 session 之间传递参数

java - Spring Batch Admin,无法替换占位符 'batch.business.schema.script'

java - 对象生命周期记录

java - POST 方法在 Angular2 中不起作用

java - 如何使用 Spring Boot 在后端跟踪文件下载进度?

c++ - 当 header 中指定文本/纯文本时,eBay API 返回 JSON

java - 是否可以使用 jaxb2 创建完整的 SOAP Envelope 消息?