我正在开展一整天跟踪用户位置(纬度和经度)的项目。拥有超过一千个用户,意味着每个用户每天可以节省1440个曲目(每分钟1个),因此1440 * 1000个用户每天可以节省1.5M个曲目。
我已经使用mysql多年了,但是当db增长时,我需要做很多工作来分离轨道,例如在一个表中为每10个用户(分片)和更多...
刚刚看到MongoDB或DynamoDB(Amazone)的可伸缩性非常棒,但在这种项目中使用它是否正确?我需要获得每周报告,这意味着当用户需要报告时,我要在两个时间戳之间要求1440 * 7days曲目。
你会使用mongoDB吗?你将如何实现用户跟踪的结构?我有很多噩梦和mysql一起工作......
谢谢!
答案 0 :(得分:0)
我会使用dynamo来存储数据和弹性地图缩减以生成关于S3的每周报告(最终由ElasticBeanStalk应用程序发布,或者如果它们是公共的,则直接从Cloudfront发布),以便用户在他想要访问它时找到它们。对我而言,Mongo和Dynamo之间的关键点是TCO,发电机看起来更加清晰。但你最好看看Mongo vs Dynamo的这个问题: