gpt4 book ai didi

SQL 用于数据记录?

转载 作者:行者123 更新时间:2023-12-03 00:26:42 25 4
gpt4 key购买 nike

我正在开始一个 build 先进科学仪器的项目。在开发仪器的过程中,我们将进行大量测试并因此记录大量数据。数据将由大量数据点和不同时间点的相应测量值组成。在任何给定的时间点,都可能存在不完整的数据点测量集。假设数据约为 100-200 个浮点,在 4 个月的运行过程中每秒采样一次。因此,到磁盘的数据速率为每秒几 kB(最多 5 kB)。

我正在寻找一种有效的方法来存储所有这些数据,并能够访问它并绘制不同数据点随时间变化的趋势,最好是从网络上的任何地方。我还想要一个软件 API,以便我们的自动化测试软件可以访问数据库来记录数据。

我遇到了 SQLite,我认为这可能是一个很好的工具。基于阅读一些基本教程,大多数教程都使用更简单的示例,可能不需要历史/趋势方面。因此,我想知道一些对 SQL 更有经验的人认为它是否是适合我想做的事情的工具?

最佳答案

SQLite 作为数据收集的高性能本地引擎非常有效。但是,SQLite 的设计目的并不是能够通过网络提供数据 - 为此,您需要基于服务器的 SQL 引擎,例如 MySQL 或 PostgreSQL。

我建议将您的数据记录到本地 SQLite 数据库中,然后在后台操作中将此数据导入到 MySQL 或 PostgreSQL 服务器(也许每天或每小时)。即使网络连接中断或 PostgreSQL 服务器因维护而停机,此方法也允许您在本地记录数据。同时,如果处理得当(使用事务来批量处理突发负载),SQLite 可以为非常高的传入数据速度提供出色的性能。

此外,原始测量结果包含大量数据,在进行更长时间的存储之前需要对其进行汇总,这是很常见的情况。 SQLite 将是完美的选择 - 在将数据放入 PostgreSQL 之前,您可以使用标准 SQL 对数据进行分组、平均或以其他方式汇总。

如果您绝对确定网络连接不是问题,您可以放弃 SQLite 作为中间存储并直接登录到 PostgreSQL - 这将使您的解决方案变得更加简单,但代价是失去一些可靠性。

关于SQL 用于数据记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39378675/

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