一个监控系统,用MySQL还是MongoDB,还是混用?

小灰狼 2017-01-10 05:09:03
要做的一个设备监控系统,设备数量可能在10W以内,还会有一些关系较强的数据,如用户、区域、设备、设备供应商、系统参数等

设备会周期性地上送设备的实时数据(电压、电流、功率、故障等),平均每分钟一次数据,并且存储到数据库中,因此监控数据的数据量将会很大,并不断增长。根据设备型号和类型的不同,每一次的监控数据在200~500字节左右。应用程序会对监控数据进行简单的查询和分析,比如绘制一个设备在某一天的功率曲线(查询条件不会太复杂)

我想把监控数据存到 MongoDB中
其它数据因为要用到比较复杂的业务管理、存储过程,所以放到MySQL中

MongoDB以前没用过,一直是用 MySQL,对海量数据的处理方式是按时间进行分区
如果用 MongoDB 存储监控数据的话,有几点担心:
1、MongoDB 能否存储海量数据(这一点似乎不用担心)
2、MongoDB 如何进行数据备份和还原,有没有好的方案,最好是增量备份
3、如果自己购买服务器,当磁盘空间不足时,如何进行扩容,会不会影响到应用程序(修改应用程序)
4、多线程时,性能怎么样
...全文
505 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiexie1020 2017-04-28
  • 打赏
  • 举报
回复
关于MongoDB 如何进行数据备份和还原问题,可以参考下这个官方支持的MongoDB论坛,里面有讨论过http://forum.foxera.com/mongodb/topic/176/mongodb%E5%A4%87%E4%BB%BD%E4%B8%8E%E6%81%A2%E5%A4%8D-3-%E6%95%B0%E6%8D%AE%E5%A4%87%E4%BB%BD-mongodump-%E4%B8%8E%E6%81%A2%E5%A4%8D-mongorestore?un=106
rucypli 2017-01-11
  • 打赏
  • 举报
回复
mongodb天生支持分片shard,就是来存储海量数据的,这种简单的操作性能不是问题
小灰狼 2017-01-11
  • 打赏
  • 举报
回复
引用 1 楼 rucypli 的回复:
对 逻辑简单无需事务的放在mongodb里面 1、MongoDB 能否存储海量数据(这一点似乎不用担心) 为海量而生 2、MongoDB 如何进行数据备份和还原,有没有好的方案,最好是增量备份 没有增量备份方案,但是如果业务逻辑简单可以写脚本来实现增量备份 3、如果自己购买服务器,当磁盘空间不足时,如何进行扩容,会不会影响到应用程序(修改应用程序) 如果是购买的云服务器 用lvm在线扩容磁盘 不影响应用 4、多线程时,性能怎么样 性能非常高 你可以搜相关的benchmark
那么在海量数据的情况下,查询性能怎么样? 监控数据一分种一次存储,10W个设备,一年的数据量就达到 52560000000 如果要绘制某个设备在一天时间范围内的功率曲线,则要在52560000000条数据中根据 DeviceId、DeviceDateTime 查找 1440 条记录,在3秒内可以搞定吗?并且是为WEB应用程序提供服务的,要考虑多线程同时访问。 在用 MySQL 时,我都是按 DeviceDateTime 进行分区的,不知道 MongoDB 有没有类似的方法?
rucypli 2017-01-10
  • 打赏
  • 举报
回复
对 逻辑简单无需事务的放在mongodb里面 1、MongoDB 能否存储海量数据(这一点似乎不用担心) 为海量而生 2、MongoDB 如何进行数据备份和还原,有没有好的方案,最好是增量备份 没有增量备份方案,但是如果业务逻辑简单可以写脚本来实现增量备份 3、如果自己购买服务器,当磁盘空间不足时,如何进行扩容,会不会影响到应用程序(修改应用程序) 如果是购买的云服务器 用lvm在线扩容磁盘 不影响应用 4、多线程时,性能怎么样 性能非常高 你可以搜相关的benchmark

1,746

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧