如何优化 DynamoDB 以应对订单类型数据的查询?

2019-04-09 10:55:39 +08:00
 iugo

SQL 能很好处理查询, 但是效率一般.

以前用 CouchDB, map/reduce 挺好, 但是没有事务.

DynamoDB 有一定的事务, 但是没有 map/reduce. 如何应对订单数据的查询?

设想使用 trigger + lambda 写数据到新表, 但是一致性不能保证.

数据例子:

[
    {
        "orderNum": "123",
        "selesperson": "张三",
        "department": "总店",
        "products": [
            {
                "id": 1,
                "price": 998
            },
            {
                "id": 2,
                "price": 0
            }
        ],
        "payments": [
            {
                "type": "现金",
                "amount": 900
            },
            {
                "type": "积分",
                "amount": 98
            }
        ],
        "time": "2019-04-09T02:32:30.450Z"
    }
]

一些常用统计:

1320 次点击
所在节点    程序员
6 条回复
southwolf
2019-04-09 11:52:05 +08:00
结合 stream 用啊
iugo
2019-04-09 12:16:00 +08:00
AWS 文档中一般都是建议使用 Amazon EMR 的, 可是实时性太低.
hearfish
2019-04-09 12:56:47 +08:00
为什么用 dynamodb? redshift 不好么
iugo
2019-04-09 20:36:27 +08:00
@southwolf Kinesis Data Streams?
iugo
2019-04-09 20:38:12 +08:00
@hearfish DynamoDB 是云原生的, 可以按需付费, 扩展性强, 不需要选机器配置.
kayv
2019-04-09 22:07:21 +08:00
这个场景确实不适合用 DDB 了,可以用#3 说的 redshift

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

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

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

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

© 2021 V2EX