首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在数据库中存储时间-温度数据

在数据库中存储时间-温度数据
EN

Stack Overflow用户
提问于 2009-05-12 03:40:56
回答 3查看 985关注 0票数 0

我将时间-温度数据存储在一个数据库中,这实际上就是CSV数据。第一列是以秒为单位的时间,从零开始,以下(一个或多个)列是温度:

代码语言:javascript
复制
0,197.5,202.4 
1,196.0,201.5
2,194.0,206.5 
3,192.0,208.1 ....etc

每个图代表大约2000秒。目前,我正在压缩数据,然后将其存储在output_profile longtext字段中。

代码语言:javascript
复制
CREATE TABLE `outputprofiles` (
  `id` int(11) NOT NULL auto_increment,
  `output_profile` longtext NOT NULL,
PRIMARY KEY  (`id`)

这很有帮助……我可以将10K的纯文本压缩到大约2.5K。不需要对此数据进行搜索或索引,因为它只是在另一个表中引用。

我的问题是:有没有其他方法存储这些数据,我没有考虑哪种方法在存储空间方面更有效率?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-05-12 03:44:22

有没有理由认为存储空间会限制你的应用程序呢?与易用性和易用性相比,我会在将其放在更高的优先级之前,尝试确定情况确实如此;出于这个目的,它听起来像是您所拥有的是令人满意的。

票数 3
EN

Stack Overflow用户

发布于 2009-05-12 04:57:20

我其实不太明白你所说的“压缩情节”是什么意思。这意味着,您正在压缩2000个测量值,还是您正在压缩每一行?

无论如何,空间是便宜的。我会用传统的方式,即两列,每个度量一个条目。

如果由于某些原因这不起作用,如果你想将2000个测量值保存为一条记录,那么你可以做得更好。

。创建包含测量结果的csv文件。。压缩它(gzip -9给您最大的压缩)。将其另存为blob (或longblob,取决于您使用的数据库),而不是长文本

那就把它保存在数据库里。

这将给你最大的压缩。

票数 1
EN

Stack Overflow用户

发布于 2009-05-12 12:26:04

PostgreSQL有很大的存储空间开销,因为每个元组(表中一行的预先表示)都是28字节,不包括数据(PostgreSQL 8.3)。有2、4和8个字节的整数,时间戳是8个字节。我认为浮点数是8个字节。因此,在PostgreSQL中存储1,000,000,000行将需要比MySQL多几个GiB存储空间(取决于您在MySQL中使用的存储引擎)。但与MySQL相比,PostgreSQL在处理海量数据方面也很出色。试着对一个巨大的MySQL表运行一些DDL查询,您就会明白我的意思。但是您要存储的这些简单数据可能很容易进行大量分区,所以一个简单的MySQL就可以很好地处理这项工作。但是,正如我经常说的,如果你不是真的很确定你需要一个特定的MySQL特性,你应该选择PostgreSQL。

我将这篇文章限制在MySQL和PostgreSQL上,因为这个问题只有这两个数据库。

编辑:对不起,我没有看到你实际上在数据库中存储CSV。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/851046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档