V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
kofj
V2EX  ›  问与答

第一次使用NoSQL,我该选择哪个数据库哪?

  •  
  •   kofj · 2013-06-03 23:35:56 +08:00 · 3503 次点击
    这是一个创建于 4191 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大概的需求是这样子的,有多个传感器采集环境数据,每一分钟向服务器上传一条不大于2K的数据,以类似日志的形式保存数据,现在初期设计测试也就4、5个sensor,后期会大量的增加sensor。这些数据要供服务程序用来检测环境信息是否超过设定的报警阀值,还有就是用于生成报表。我觉得这种情况下使用NoSQL应该比较适合,但是对此没有什么实际经验。
    需求概括的来说就是:有大量,频繁的(大量的sensor),持续的(1min*24*365)小数据写入,少量的读取(alert程序检测环境因素,生产报表)。
    查到的资料说Tokyo Cabinet在1亿条数据量是写性能明显下降,1.6亿条数据的时候写性能下降非常严重,一年时间200个左右的sensor就。。。
    请问各位,我该使用哪个NoSQL数据库比较合适哪?
    6 条回复    1970-01-01 08:00:00 +08:00
    timonwong
        1
    timonwong  
       2013-06-03 23:58:23 +08:00
    1分钟……几百个…… MySQL都毫无压力。
    主要看你数据重不重要,重要的话使用 NoSQL 要谨慎,多出的那些历史数据,可以归档,因为查询的机会少,写入的机会多。
    sivacohan
        2
    sivacohan  
       2013-06-04 00:07:21 +08:00 via Android
    你这个需求不是要日志系统吗?
    为什么要用db?
    数据先缓存一下,用alert检查一下,没问题就丢到日志里,有问题就报警。
    swulling
        3
    swulling  
       2013-06-04 01:31:32 +08:00   ❤️ 1
    如一楼所说,MySQL可以用Archive
    http://dev.mysql.com/doc/refman/5.7/en/archive-storage-engine.html

    话说历史数据真的需要保存那么细么,对老数据重采样下可大大节省空间
    Zhang
        4
    Zhang  
       2013-06-04 08:43:31 +08:00
    "阀值"写错了,应该是“阈值”哟!!
    kofj
        5
    kofj  
    OP
       2013-06-04 08:52:36 +08:00
    @timonwong MySQL一分钟几百个确实没有问题~但是总得记录数据量比较大啊,还有sensor需要分组查询数据做报表~
    kofj
        6
    kofj  
    OP
       2013-06-04 08:55:49 +08:00
    @sivacohan
    @timonwong 也许把最近三个月的数据缓存在NoSQL里面,其它长期数据归档
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1060 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:23 · PVG 03:23 · LAX 11:23 · JFK 14:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.