【发布时间】:2014-12-10 06:50:59
【问题描述】:
问:
我知道所有这些废话都没有一个完美的答案;我希望有一些经验丰富的洞察力来缩小可能的口味,一些避免转换噩梦的一般策略,以及减少我在 CPU/磁盘上的数据存储占用的任何想法(大字符串操作既昂贵又乏味)。我使用受限硬件,对 XML 标准 有点陌生。我可以很好地读写它(通常用于网站),从来没有真正作为数据集封装。
我已经考虑了这几周,我有 92.3% 的把握 XML 文件是我理想的存储目标。我正在记录各种仪器读数/分析,并一次保存几个月。尽管我确实担心我的数据收集节点的硬件资源有限(过多的字符串操作会变慢,512kB RAM,3.2GB 闪存)。
我正在尝试找到一个结构良好且占用空间最小的机器学习,它可以处理 RAW 数值数据类型。我不需要完全合规的文件,但我正在寻找最合适的解决方案,所以不要偏离正确的格式太远
主要数据模型因素
(以及为什么我认为 XML 更适合打包二进制、FLAT TEXT 甚至 CSV)
- 多达 8 个不同的数据点(不同的测量值、品牌和传感器类型)
- 各种原始数据类型(REAL32、DINT、DWORD、BYTE、STRING(任意长)
- 数据集需要能够在每个文件中保留绝对时间戳(我有一个目录,其中包含 100 个最终会合并的 XML)
- 数据点配置/数量可能会发生变化,因此我需要能够以最少的冗长/混乱记录对架构的更改。
性能限制/注意事项
- 我通常应该只从嵌入式平台写出 XML,所以可读性不是最重要的,尽管如果我确实需要处理任何类型的查询,折腾和解析 3.0GB 的文本不是即使在最干净的情况下也会很有趣。
- 我相信间歇性的 DATE-TIME 节点将帮助我索引此类查询
- 过度压缩数据实际上会在导出时成为问题,因为这些会成为我的懒惰解压缩更多的计算。
- 过于冗长的 XML 只能给我 111 天的存储时间。我希望能达到 180 天或更长时间。所以我确实需要更好地压缩文本。
- 卸载数据后有 3 个潜在目标。我不想因过于复杂而陷入转换瓶颈/错误。
- Microsoft Excel(他不必完全理解它,但我们不想花费数小时手动将不合规的架构类型/映射导入二维网格。
- RRD 后端服务器(我将能够运行所需的任何转换,但希望我已经接近 RRD 想要的效果
- 一些可爱的 Javascript/Android 工具。虽然我希望这些能够执行自定义数据类型处理,但格式良好的 XML 将使开发过程中的检索和解析变得更简单。
【问题讨论】:
-
你有什么问题?
-
@MichaelKay 突出显示并向上移动了一点。
-
恐怕这类问题在 StackOverflow 上通常不太适用。它需要一个为期 2 天的咨询研讨会,而不是 SO 问题通常得到的 3 分钟。
-
@MichaelKay 我确实理解你的意思,但 XML 是我避免每一次机会的事情之一,因为我认为它很愚蠢,现在看来我别无选择。我厌倦了唤醒XML Gods。如何缩小this list 或添加一个我不知道的范围。这会有所帮助。我知道以前有人遇到过这个问题,我只是需要一个好的起点,然后再冒险。
-
很抱歉,如果没有仔细研究您的项目要求,我认为在这里提供指导是不专业的,我没有时间。
标签: xml database real-time datalog