gpt4 book ai didi

database - 时序数据存储 : RDBMS vs NoSQL

转载 作者:行者123 更新时间:2023-12-05 08:53:44 29 4
gpt4 key购买 nike

最近,我面临着存储一些时间序列数据的问题。

此数据取自工业机器:对于每个作业(大约每小时 3 个,24/24 小时),软件记录:

  • 油压;
  • 油温;
  • 一些振动数据。

振动数据以非常高的频率(> 10 kHz)获取,并导致非常大的内存需求。这个问题让我的公司评估了一些有效存储这些数据的可能性。

插入不会很频繁(当机器不工作时,可能每天 1 或 2 次)。读取可能会非常频繁(另一个软件将检索数据用于绘图和分析目的)。

目前,单个节点将用于存储数据,所以我(暂时)不想考虑分区和并行化问题。

我应该选择哪种解决方案?关系型 DBMS(如 MySQL 或 PostgreSQL),或通用的 NoSQL DB(例如,面向列的数据库——考虑所有时间序列都是单变量的——如 Cassandra,或面向文档的数据库,如 MongoDB)?

除了我的特定用例之外,通常什么时候更喜欢 RDMBS 而不是 NoSQL 来存储时间序列?什么时候更喜欢 NoSQL 而不是 RDBMS?

最佳答案

tl;博士:

通常对于时间序列,我会使用像 InfluxDb 这样的时间序列数据库。一些 NoSQL 产品,例如 MongoDB ,实际上结合了这些特点。


传统上,NoSQL 用于记录结果、网站搜索数据等非结构化大量数据。但是,随着专业人士越来越习惯于文档存储和关系功能随着时间的推移而改进,NoSQL 通常比传统关系数据库更受青睐。

何时使用关系数据库?

由于 NoSQL 的建模在概念上与关系数据库的建模有所不同,因此在已经存在大型关系数据库的应用程序和数据迁移场景中,关系数据库通常是首选。

关系数据库使用规范化来优化存储。这是存储非常昂贵的时代的人工制品。在为 NoSQL 建模时,通常会针对读写速度和业务清晰度进行优化。

如果不处理遗留系统,类似 NoSQL 的解决方案是 RDBMS 的现代替代品。

关于database - 时序数据存储 : RDBMS vs NoSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53043902/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com