大规模监控数据等time-series类型数据,本地NOSQl处理方法

   我们在不断尝试、优化后,完成了处理大规模time-series类型数据如监控数据的NOSQL数据持久化组件,下面我们详细介绍一下这个组件:
  开发语言: JAVA
  适用的场景
      1、每秒能处理的数据项数量庞大,如2万个
      2、对查询响应时间要求苛刻,如在1亿条记录中查询任意一个数据项符合要求的1000条记录耗时不超过5秒
      3、断电等意外情况下,最多允许丢失最近一小时内的数据
      4、有限的内存要能容下尽量多的数据项,如1G内存能容下40-50万个数据项
      5、数据项的值插入频率快,如每秒一次
      6、数据项的值只有新增,没有更新操作(time-series类型数据的特点)
      7、无法部署数据库
   一个典型应用案例
      XX项目是要把某企业一个很重要的业务支撑平台的内部结构可视化出来,该软件平台每天处理的交易笔数超过1000万,导致该软件平台内部设计复杂,成千上万个重要数据指标在不断变化中,把这些数据指标可视化出来面临的第一个难题就是数据的保存,这上万个指标不但要能显示当前值,还要能保存最近一周的所有历史数据,更麻烦的是数据采集的频率要越快越好,最好小于3秒,项目在开始时候采用的是mysql、oracle等数据库,但效果不好,系统也不稳定。想用内存数据库,当时可能它还不那么流行,并且是否能满足这样的项目还未知。后面在采用我们的SFD组件后,数据持久化这一块基本上满足了,并且还带来一个意外的改变,就是该项目组尽量追求功能的组件化开发。
     示意图

     如果大家有碰到类似的场景,也许可以和我们联系,我们的联系方式email: [email protected];
QQ: 1054618780

猜你喜欢

转载自netcomm.iteye.com/blog/697938