【问题标题】:DataLogging and NoSQL数据记录和 NoSQL
【发布时间】:2013-03-30 08:28:30
【问题描述】:

我有一个监控设备的 Saas 应用程序。

我开发了一个监控平台传感器。 我的应用程序目前大约监督100,000 传感器。 每 15 分钟记录一个值。

每个测量值当前都存储在一个 MySQL 表中(时间戳 => 值)。 为了限制MySQL 表中的行数,将单个传感器的所有点组合在每日日志中。

传感器的数量呈指数增长。 我的 BDD 已经是100GB

从这些措施中,我必须进行整合daily, monthly, annual and total

我的应用程序需要快速访问最近的数据,但我必须至少保留 10 年的历史记录并可以查阅它们。

NoSQL architectures 似乎是存储大量数据并进行合并的解决方案。

哪种解决方案最适合存储此类数据。

我测试了CouchDB。我犹豫在不同的NoSQL solution (Hadoop,cassandra, mongodb...)

我正在寻找有关此体验的反馈。

【问题讨论】:

    标签: mongodb hadoop couchdb bigdata nosql


    【解决方案1】:

    我会根据我对您提到的一些技术的经验提供建议。

    使用 HDFS/Flume/Hadoop

    您可以考虑只编写纯文本文件,然后使用 Flume (http://flume.apache.org/) 将它们移动到 HDFS (http://en.wikipedia.org/wiki/Apache_Hadoop#Hadoop_Distributed_File_System)。

    之后,您可以使用 Hadoop 及其所有工具针对存储在 HDFS 中的平面文件编写 map/reduce 作业。 HDFS 将允许您很好地扩展存储大小。

    使用 Mongo

    您可以在 Mongo 中设置副本集并水平扩展以存储日志数据,但 100GB 和不断增长的副本集可能有点太大了。 Mongo 中的副本集(概念上与“集群”相同)不会无限扩展。

    如果您发现副本集过载,您可以对日志信息进行分片(可能通过传感器和 id 条目?),然后您可以通过添加节点来无限扩展。

    -- 我会找到一些您喜欢在其中编写查询的内容。许多解决方案可以横向扩展,但并非所有解决方案都具有相同的生态系统。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 2016-08-21
      • 2013-03-19
      • 2012-02-27
      • 2011-02-10
      • 1970-01-01
      相关资源
      最近更新 更多