使用过 AWS DynamoDB 的大神看过来,关于分页有问题

2020-09-08 00:15:55 +08:00
 samin

我目前的认知,DynamoDB 无法获取总数量大小,查询有限制 DynamoDB 无法做到指定页面跳转 DynamoDB 只能通过 exclusiveStartKey 和 lastEvaluatedKey 进行前进后退的功能开发

请问这正确吗 ? 搞了一天,这个 NoSQL 有点刷新我的认知

3405 次点击
所在节点    Amazon Web Services
3 条回复
lihongming
2020-09-08 01:12:37 +08:00
没错,DynamoDB 放弃了一切可以放弃的东西,就是为了更加高效。

从设计上来看,DynamoDB 更适合移动应用。所以,如果你想要传统桌面的翻页方式,就得自己在程序里处理了。Amazon 自己用的也是 DynamoDB,据说 Airbnb 也是,你可以看到他们都是能直接选页的。

不过我不觉得获取总数量是个必要的需求,因为特别靠后的页面除了爬虫根本没人看。我之前工作过的一个公司,数据量有几亿条,但对每个 query 只处理前 100 页,后面的就放弃了。按每页 20 条算,100 页才 2000 条,DynamoDB 每次 Query 可以取回 1MB 的数据,你只取 key 的话肯定够用了。
wwwjfy
2020-09-08 02:05:08 +08:00
感觉你没把它当成 NoSQL,虽然你自己这么说了。
所谓分页的概念本来也是 RDBS 里才有吧,对 key-value 来说不存在啊,要获取所有信息只能做全 namespace 扫描。
coyove
2020-09-08 08:35:37 +08:00
mysql 里不也经常这么做:where index > last_cursor limit 20,很多业务场景端上只需要可以上下 scroll 的流式数据,这样设计再适合不过了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/705030

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX