【问题标题】:NoSQL and meteorological dataNoSQL 和气象数据
【发布时间】:2010-04-09 07:58:44
【问题描述】:

所以有一个很酷的新东西,这些 NoSQL 数据库。所以这是我的数据: 气象数据行的行:值,代表某个站点的某些测量值(由 WMO 编号,而不是坐标标识),在某个时间。

不是每个站点都测量每个参数,也不是每个参数都被测量。

我目前在 MySQL 中存储这些数据(价值 30 年的每小时值,产生约 10 亿个值)。持续的增长和可预见的更多数据的增加让我有点头疼。

阅读有关似乎很容易扩展的基于文档的 NoSQL 系统,我想知道 NoSQL 是否也是气象数据的可行数据存储概念。你有这方面的经验吗?

更新:忘记了典型查询:大多数查询需要时间轴上的数据:即给我 066310 站从 01.01.2010 00:00 到 01.03.2010 00:00 的温度。

或者:给我一个特定站的所有参数的最新值。

【问题讨论】:

  • 究竟是什么让你头疼?管理数据库?表现?汇总数据?还有什么?如果它与性能相关,您是否分析了查询的查询计划 - 也许您需要更好的索引,或者调整您的数据库设置(PostgreSQL 在这方面做得很好)。您的数据集有多大 - 磁盘方面。 1GB?更多的?少一点?
  • 如果不了解有关您的表结构和查询细节的所有血腥细节,很难说,但您可能会在经典数据库中获得很多(读取)速度,例如通过在日期字段上对您的表进行聚类(并为您的查询提供适当的索引)...
  • @Mike:当前数据库的磁盘容量约为 30gb,但未来的扩展将增加到 100-300gb。对查询进行分析并相应地对表进行索引。让我们头疼的是事物的一般大小。备份、复制恢复、具有繁重索引活动的批量插入都需要越来越长的时间。 @ChristopheD:集群肯定是我们正在研究的东西。

标签: nosql


【解决方案1】:

当您的数据结构非常简单(例如简单的键值存储)/可预测并且您不需要关系完整性或临时和/或高级查询时,NoSQL 可能是合适的。

您在轻松的可扩展性中获得的优势可能会在灵活性和一致性方面有所损失。

最大的问题是有一种简单的方法来对您的数据进行复杂的查询。我会说气象数据不是 NoSQL 的最佳候选者。

我个人更喜欢 PostgreSQL 而不是 MySQL,并且发现如果设置正确,它的可扩展性非常好(即使有数百万甚至数十亿行)。

【讨论】:

  • 这并不完全正确。 NoSQL 也可以适应非常复杂的数据,例如图数据库。然后还有更简单的键值对 NoSQL 数据存储。 NoSQL 解决方案种类繁多。
  • @adamse:关于 NoSQL 术语的广泛性很好,虽然我认为图形数据库不适合气象数据 ;-)
【解决方案2】:
【解决方案3】:

我发现现在很难创建一个连贯的答案,但是就这样吧。

  1. 您的数据可以毫无问题地适合 Cassandra 等“nosql”数据存储(而且可能更多)
  2. 您将从许多“nosql”解决方案的无模式设计中受益(因为并非所有列(使用 MySQL 术语)都始终存在)
  3. 基于时间的查询在 Cassandra 中没有问题(查看基于 TimeUUID 的键)
  4. 您似乎没有利用 MySQL 的关系部分,所以失去它时您不会受到太大伤害
  5. 虽然您可能对 MySQL 很好,因为您实际上并没有描述这类问题,您真的有任何问题吗? (只是感兴趣就很酷)
  6. 诸如索引和搜索之类的东西是你必须在许多 nosql 数据存储中手动实现的东西,如果这让你害怕你可能会坚持使用 sql。

感谢收听 ;)

【讨论】:

  • 我去看看 Cassandra。感谢您的意见。
猜你喜欢
  • 2013-03-19
  • 2013-03-30
  • 2012-02-27
  • 2011-02-10
  • 1970-01-01
  • 2012-11-25
  • 2013-09-19
  • 2019-02-19
  • 1970-01-01
相关资源
最近更新 更多