gpt4 book ai didi

database - 在 Oracle 中存储波形

转载 作者:搜寻专家 更新时间:2023-10-30 20:22:23 27 4
gpt4 key购买 nike

我正在设计一个新的实验室数据库。我想将所有测试的原始结果存储在一起。但是,结果可以是单次测量或原始波形。 (转发见页脚)

下面哪种情况是理想的(为什么)? ... 或提供您自己的理想选择。

TEST
test_id*
(other TEST fields)

选项 1:分离单个值和波形结果

TEST (1 -- many) MEASUREMENT
( \-- many) RAW_HEADER 1 -- many RAW_POINT

MEASUREMENT RAW_HEADER
measurement_id* raw_header_id*
test_id (FK) test_id (FK)
rec_time as DATE start_time as DATE
measurement sample_rate

RAW_POINT
raw_header_id* (FK)
point_index*
raw_measurement

选项 2:重叠选项 1 中的公共(public)字段

TEST (1 -- many) MEASUREMENT (1 -- many) RECORDING_POINT

选项 1 相同,除了:
MEASUREMENT:信号的measurement是sample_rate
RAW_POINT:raw_header* (FK) 更改为 measurement_id* (FK)
RAW_HEADER:不需要

选项 3: 将信号编码为 BLOB 测试(1 - 许多)测量

MEASUREMENT
measurement_id*
test_id (FK)
rec_time as DATE
measurement
signal as BLOB

对于单个值,measurement 是测量值,signalNULL
对于信号,measurement 是采样率,signal 存储编码数据点

选项 4:重叠公共(public)字段,但使用 BLOBS

TEST (1 -- many) MEASUREMENT (1 -- many) RAW_DATA

MEASUREMENT
measurement_id*
test_id (FK)
rec_time as DATE
measurement

RAW_DATA
measurement_id* (FK)
raw_data as BLOB

对于单个值measurement是measurement
对于信号,measurement 是 sample_rate

图例:

  • _*_ 后跟星号的字段是完整的主键。
  • (FK) 字段后跟(FK) 表示字段有外键约束。
  • ____ 除非另有说明,否则所有字段均为 NUMBER 类型。

其他信息:原始波形数据将以多种方式使用: - 绘制(情节看起来是否正确) - 过滤/平滑(为了更好的呈现) - 获取值(最大时间、最小值、下降时间等)

此外,将通过多个 channel 同时获取数据。了解当 channel 1 首次达到 500(某个单元)时 channel 2 的值是多少会很有用。

一个波形通常有大约 4,000 - 25,000 个数据点。

其他想法/问题:可以返回 BLOB 的一部分吗?换句话说,我可以从字节 4000 开始提取 4 个字节吗?

blob 是否可以是打包的 Oracle 类型,以便 Oracle 本身可以读取值(即:获取最大值、最小值等)

注意:这是General Oracle Data Collection Storage 的转发具有更好的开发选项。

最佳答案

信不信由你,我认为这里没有足够的信息来确定。例如,通常如何处理结果?它们会被绘制出来,还是会对它们进行某种数值分析?你的波形有多大?

除非您的原始结果通常很小,否则我不喜欢此应用程序的选项 1。存储一个数据点需要大量的存储开销。

在较小程度上,同样的反对意见适用于选项 2。

选项 3 是我可能会采用的方式。我曾经开发过一款用于查看雷击波形的应用程序——每个波形有数百万个点。唯一可行的选择是为那种数据集使用 BLOB。并且(同样,取决于一些未知数)我会认真考虑将数据存储为二进制 float 或 double ,并使用 Java 或外部 C 程序处理它们。说真的,您是否需要对您的个人数据点进行 key 访问?加载数组并对其进行索引不是更简单、更紧凑和更高效吗?

关于database - 在 Oracle 中存储波形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1050331/

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