保存大量顺序数据的最佳方法是什么

时间:2015-04-30 14:17:59

标签: sql-server database-design nosql

我试过但是找不到类似的帖子,如果我错过了帖子并在这里复制了,我道歉。

我需要找到保存数据的最佳机制,以满足我的以下要求并考虑获得您的意见。

主要要求

我们从一系列电子传感器收到大量数据。数据量约为每秒50,000条记录,每条记录包含一个浮点值和一个日期/时间戳。

此外,我们需要保留这些数据至少5年并处理它们以进行预测。

目前我们正在使用MS Sql服务器,但我们非常希望探索像NO SQL这样的新领域。

我们可以灵活应对这些

  • 由于数据结构非常简单,我们不需要很大的一致性
  • 我们可以在保存时(如果需要)从代码管理原子性

我们需要DB端在这些

上可靠
  • 快速检索 - 这样它就不会为繁重的预测算法所需的时间增加很多时间
  • 保存时的可靠性 - 我们的中间层必须高速投入大量数据,并希望数据库可以保存所有数据。
  • 数据需要安全(耐用)

我一直在阅读这篇文章,我开始怀疑我们是否可以同时使用MS SQL和NO SQL。我在想的是继续使用MS SQL来定期使用数据,并使用NO SQL解决方案进行长期存储/处理。

正如您可能已经意识到的那样,我对No SQL很新。

您认为在保持性能和准确性的同时存储这么多数据的最佳方式是什么?

如果你能对此有所了解,我将非常感激,以便我们能够为这个问题提供有效的解决方案。

我们也在考虑消除彼此接近的几乎相同的 记录(例如45.9344563V,45.9344565V,45.9344562V抵达在3微秒内 - 我们将忽略前2并取第三个)。你之前有没有解决过类似的问题,你使用过哪种算法?

我不想在这里找到完整的解决方案。只是想与其他专业人士开始对话......请提出您的意见。

非常感谢您的时间,非常感谢您的意见!

1 个答案:

答案 0 :(得分:1)

NoSQL非常酷,可以很好地处理您的一个要求(快速存储和非关系检索)。但是,当您开始尝试以关系方式使用数据时,NoSQL的问题最终会变成该怎么做,它不会像RDBMS那样真正地执行。

在RDBMS中存储大量数据时,可以使用多种策略来处理大量数据。想到的最明显的一个是使用分区。您可以在此处阅读有关SQL Server的更多信息:https://msdn.microsoft.com/en-us/library/ms190787.aspx

您可能还需要考虑创建一个作业,以定期将未经常访问的历史数据移动到单独的磁盘上。这可以使您在内存OLTP中调用的SQL Server 2014中使用新功能,以获取更多使用的最新数据(假设它低于250gb):https://msdn.microsoft.com/en-us/library/dn133186.aspx