用于海量数据的 MongoDB

Posted

技术标签:

【中文标题】用于海量数据的 MongoDB【英文标题】:MongoDB for huge amount of data 【发布时间】:2018-05-28 18:48:29 【问题描述】:

我需要从近 200 个德国城市获取天气数据。

关键是我需要保存今年年初以来的数据,我应该保存每一天的数据,包括一天中几个小时的温度(每小时温度)以及最低和最高温度一整天。

我知道这是一个庞大的数据,它可能会更大,因为我们还没有决定我们是否会获得 10 年前到现在的历史天气数据。除此之外,包含在其中的城市数量可能会增加,以添加来自其他国家/地区的城市。

MongoDB 是保存这些数据的好方法吗?如果没有,哪种方法更好?

【问题讨论】:

IMO 这不是一个非常大的数据量。除非您的数据格式无法插入到表中,否则关系数据库可能仍然是您的最佳选择。例如,MariaDB 可以在单个表中存储多达 64TB 的数据,这可能远远超出您的要求。 这取决于您的用例。你打算用这些数据做什么?在数据量方面,我相信每个城市有 365 * 24 个测量值,有 200 个城市。这将是每年大约 175 万个数据点。我认为任何数据库都能够在合理的硬件要求下轻松处理这么多数据。 【参考方案1】:

您可以将 MongoDB 用于天气数据。 MongoDB 灵活并且基于文档,您可以将类似 JSON 的二进制数据点存储在一个地方,而无需预先定义这些数据的“类型”。

MongoDB 是一个无模式数据库,可以加载大量数据,而且它非常容易扩展。它支持分片,即当数据量增长时,将数据存储在不同机器上的过程。这导致水平缩放并且可以写入更多的数据量。

它已被 天气频道 组织使用,因为天气变化很快。天气频道求助于 MongoDB 以快速向用户获取信息。过去需要数周才能完成的更改现在可以在数小时内完成。因此,MongoDB 数据库将能够处理这么多的天气数据。

【讨论】:

以上是关于用于海量数据的 MongoDB的主要内容,如果未能解决你的问题,请参考以下文章

浅析MongoDB数据库的海量数据存储应用

浅析MongoDB数据库的海量数据存储应用

MongoDB应用场景及选型(海量数据存储选型)

浅析MongoDB数据库的海量数据存储应用

mongodb数据库批量插入海量数据时为啥有少部分数据丢失

MongoDB分片存储集群支撑海量数据