我是初级开发工程师,现在有个需求,需要存储一些实时监控数据。
目前有5000个监控点,每隔十五秒存储一次监控数据。以后监控点还会增加。
也就是说每隔十五秒至少需要插入5000行数据。
请问我该如何设计数据库,用怎样的框架比较容易处理这样的需求,并且有比较好的性能?
集成,分布式了解一下
首先,15秒产生 5000 条数据的插入,这个量并不算大,一般数据库用批量入库的方式都是可以承受的。
其次,你选择什么数据库存储呢?如果是 MySQL 数据库的话,最好设计表时选中 MyISAM 引擎,不要有自增主键,这样几秒内入几万条记录都不是问题。
15秒存储5000行,这个压力不大啊……服务线程收到数据先缓存,然后做一个后台线程专门管入库……很简单的。
如果单条数据没有很大的字段的话这个量很小了 就算15秒5w都没问题 把所有数据收集到之后利用批处理一次就可以写入数据库 简单的比如jdbc Statement.addbath(insertSql)