以下是我通常会插入MySQL的示例记录。然后,我可以使用SQL来执行常规类型的查询。请注意,我将以5分钟为间隔进行日期时间。
datetime account_id country zip count
2012-04-27 03:40 1234 69 91845 234
2012-04-27 03:45 3432 43 91813 212
我将使用带有python boto api的simpledb。
鉴于它是一个键值数据存储,其中值可以存储为dictionary / json类型对象,存储数据的正确结构是什么,以便我可以查询?例如。按国家/地区选择总和(计数)。
答案 0 :(得分:0)
SimpleDB只支持count(*)聚合,而不是sum。
您要么1)需要做一些hadoop处理来聚合结果并返回结果,或2)在单独的文档中存储和增加聚合(我通常要么将逻辑添加到我的存储库附近(就像在更新中一样)方法)或者,对于需要更快更新/获取例程的文档,将消息添加到Amazon SQS,然后在后台服务中重新计算这些聚合。
真相告诉 - 我没有从SimpleDB报告太多,编写一个在关系数据库中定期更新数据的同步脚本要容易得多,然后我可以从中报告,而不用担心与前端的资源争用应用
谢谢,
哈尔