下面是我通常会插入到MySQL中的示例记录。然后,我可以执行常规类型的查询usig SQL。请注意,我将使用5分钟间隔的datetime。
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。
假设这是一个键值数据存储,其中的值可以存储为字典/json类型的对象,那么存储数据的正确结构是什么,以便我可以进行查询?例如,按国家/地区选择sum(计数)组。
发布于 2012-04-30 23:42:50
SimpleDB只支持count(*)聚合,不支持sum。
您可能需要1)执行一些hadoop处理来聚合结果并返回结果,或者2)在单独的文档中存储和递增聚合(我通常会将逻辑添加到我的存储库附近(例如在update方法中),或者对于需要更快的更新/获取例程的文档,向Amazon SQS添加一条消息,然后在后台服务中重新计算这些聚合。
实话实说--我不会在SimpleDB中做太多的报告,编写一个同步脚本来定期更新关系数据库中的数据要容易得多,然后我就可以从那里进行报告,而不用担心与前端应用程序之间的资源争用。
谢谢,
硬件
https://stackoverflow.com/questions/10344492
复制相似问题