我正在开发一个 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/