- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在开发一个项目,并研究从连接到 PLC 的工业工厂传感器(工厂机械的 Controller ,例如控制电机、速度、开关...)检索数据的最佳方法。
我将解释要实现的目标,我认为我的案例可以推断到许多不同类型的行业:
我有几个 PLC,它们为我提供了许多不同的数据值。 (其中许多值只是 bool 值,其他值是模拟值,例如实数类型。)
我的整个工厂将拥有超过 10,000 个传感器。
我希望至少每秒检索一次模拟值数据(例如电机转速、温度、湿度......)。
对于数字值,当事件出现时,数据将与时间戳一起保存。
我想将 Cassandra 与时间序列结合使用,因为它看起来是最有前途且更快的技术。
我的问题是关于每秒存储模拟值。拥有这样的架构是否更好:
timestamp, sensor1, sensor2, sensor3, sensor4
在工厂按零件进行排列和分组,还是这样更好
every sensor has his own table
<强>?
整个系统将用Java开发,并将数据提供给外部公司进行分析。
最佳答案
不太清楚您的查询是什么。你提到“我想至少每秒检索一次模拟值数据(例如电机转速、温度、湿度......)”。
这是否意味着您每秒都会查询所有 10K 个传感器?或者针对特定传感器,或者针对一组传感器?在 cassandra 中,在查看数据模型之前了解您的查询是什么至关重要。如果您正在寻找 1 秒的粒度,一种选择可能是将传入数据流提供给 Spark Streaming,并将 Spark Streaming 代码保存到适合您要查询的内容的 Cassandra 表中。
至于您提到的选项,在不知道您的查询的确切性质的情况下很难说。将一个 key 轮换到第二个 key 可能是一种选择 - 这意味着每个分区有 10K 左右的条目,假设每个传感器的数据速率为 1/s。每个传感器都有一个表会很奇怪,但每个传感器可能有一个分区,其中每个条目都有时间戳。这实际上取决于您的查询。
如果您向我们提供一个示例,说明您打算如何检索数据,我们可以提供更好的帮助吗?
关于Cassandra 为工业数据传感器节省时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26991287/
我试图找出在将数据传输到设备之前将数据复制到固定内存是否有意义,因为我对输入数据的分配没有影响(它是一个库)。 std::vector idata(WORK_SIZE); int *idata_ali
model.save() 让我很困惑。 示例。我将我的 mongoose.model(mongoose.schema) 移动到单独的 model.js 文件中。当我使用这种方法创建模型时,以下问题困扰
我正在用 Java Swing 制作模拟时钟。要计算我需要的时钟指针角度: 我可以通过 System.currentTimeMillis() 获得的以毫秒为单位的 UTC 时间 时区偏移 TimeZo
编辑 我的应用程序中有声音,该声音在应用程序启动时开始播放。此外,我还有两种播放和停止声音的方法: -(void)playBgMusic { NSString *path = [[NSBundle m
所以我的应用有 1 个 Activity 和 4 个 fragment ,其中一个有 Chronometer 来显示经过了多少时间。 它工作正常,但我有一个问题,每次我移动到另一个 fragment
我是 FireDAC 新手,遇到问题。我想在Delphi XE7中使用FireDAC读写SQLite数据库。我尝试的大部分方法都有效,但我在将 TTime 保存到 SQLite DB 时遇到问题。 这
这是我使用基本 Node.js 服务器创建的示例站点。我能够成功发布、创建给定架构的用户,然后“保存”到数据库;但是,保存不会返回用户对象,并且在我的实际数据库中找不到。连接也返回成功。 main.j
我有一台配备 2 Gb Nvidia GPU 的 Mac Book Pro。我正在尝试利用我所有的 GPU 内存进行计算(python 代码)。如果我绕过 GUI 界面并仅通过命令行访问我的机器,我可
我希望使用 Powerpoint 创建一种测验,我想保存用户提供的输入。 例如:如果我问这个问题:你最喜欢什么颜色?当他们回答问题并单击下一步按钮时,我想保存文本框的值并将其附加到输出文件中。 我已经
我是一名优秀的程序员,十分优秀!