首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

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

  •  
  •   iugo · 47 天前 · 490 次点击
    这是一个创建于 47 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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"
        }
    ]
    

    一些常用统计:

    • 时间段内各部门的销售数量及金额总和
    • 时间段内各商品的销售数量及金额总和
    • 时间段内各营业员的销售数量及金额总和
    • 时间段内各支付方式的金额总和
    6 回复  |  直到 2019-04-09 22:07:21 +08:00
        1
    southwolf   47 天前   ♥ 1
    结合 stream 用啊
        2
    iugo   47 天前
    AWS 文档中一般都是建议使用 Amazon EMR 的, 可是实时性太低.
        3
    hearfish   47 天前   ♥ 1
    为什么用 dynamodb? redshift 不好么
        4
    iugo   46 天前
    @southwolf Kinesis Data Streams?
        5
    iugo   46 天前
    @hearfish DynamoDB 是云原生的, 可以按需付费, 扩展性强, 不需要选机器配置.
        6
    kayv   46 天前   ♥ 1
    这个场景确实不适合用 DDB 了,可以用#3 说的 redshift
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2228 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 07:19 · PVG 15:19 · LAX 00:19 · JFK 03:19
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1