NoSQL   发布时间:2022-05-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了用于物理测量的良好(noSQL?)数据库[​​关闭]大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在建立一个最终由数千个测量站组成的测量系统.每个站点将在其生命周期内节省大约5亿个测量值,包括30个标量值.这些将是浮动值.我们现在想知道如何在每个站点上保存这些数据,虑到我们将在每个站点上构建一个Web应用程序

>我们希望在多个时间尺度上可视化数据(例如,一周,一个月,一年的测量)
>我们需要在数据上建立移动平均线(例如,一年内平均值显示在一年中的图表)
>数据库需要防撞(停电)
>我们只对数据进行写入和读取,不进行更新或删除

此外,我们还想要一台能够显示1000个测量站数据的服务器.这将是500亿次测量中约50TB的数据.为了将数据从测量站传输到服务器,我认为某种类型的数据库级复制将是一种干净而有效的方式.

现在我想知道NoSql解决方案是否可能比MysqL更好用于这些目的.特别是couchDB,Cassandra以及像redis这样的键值商店看起来很吸引我.您认为哪一种最适合“测量时间序列”数据模型?那么其他优势如崩溃安全和从测量站到主服务器的复制呢?

我认为CouchDB是一个很棒的数据库 – 但它处理大数据的能力值得怀疑. CouchDB的主要关注点是开发和离线复制的简单性,而不一定是性能或可伸缩性. CouchDB本身不支持分区,因此除非您使用BigCouch或发明自己的分区方案,否则您将受到最大节点大小的限制.

没有傻瓜,redis是一个内存数据库.它可以非常快速有效地将数据输入和输出RAm.它确实能够使用磁盘进行存储,但它并不是非常好用.对于经常变化的大量数据非常有用. redis确实有复制,但没有任何内置的分区支持,所以再次,你将独自在这里.

您还提到了Cassandra,我认为它更适用于您的用例. Cassandra非常适合无限增长的数据库,基本上它是原始用例.分区和可用性已经完成,因此您不必非常担心它.数据模型也比平均键/值存储更灵活,添加了第二维列,并且实际上可以容纳每行数百万列.例如,这允许时间序列数据被“划分”成覆盖时间范围的行.跨集群(分区)的数据分布是在行级别完成的,因此只需要一个节点来执行一行内的操作.

Hadoop直接插入Cassandra,具有MapReduce,Pig和Hive的“本机驱动程序”,因此它可能用于聚合收集的数据并实现运行平均值.最佳实践是围绕查询对数据进行整形,因此可能希望以“非规范化”形式存储数据的多个副本,每种类型的查询一个.

看看这篇关于在Cassandra做时间序列的帖子:

http://rubyscale.com/2011/basic-time-series-with-Cassandra/

大佬总结

以上是大佬教程为你收集整理的用于物理测量的良好(noSQL?)数据库[​​关闭]全部内容,希望文章能够帮你解决用于物理测量的良好(noSQL?)数据库[​​关闭]所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。