具有查询功能的仅插入RDBMS的性能优化

时间:2018-09-06 10:34:02

标签: postgresql performance rdbms timescaledb

我们有一个带有timescaledb插件的postgres db,用于存储基于时间的传感器数据(以千兆字节为单位并不断增长)。数据库中有两个表,其中包含索引,外键以及所有与客户数据库或任何其他数据库的经典数据库相同的表。问题是,存在哪些性能选项可以使插入性能和查询性能更快。

传感器数据由传感器ID,时间戳和浮点值组成。传感器id依次由一个ID和一个面包屑字符串组成,该字符串通常长约50个字符,但有时会更长一些。将此面包屑插入到表中以获取传感器数据,将使表的大小大增。因此,传感器ID在单独的表中。

传感器数据表具有传感器ID表的外键以及传感器ID和时间的索引。

每秒有成千上万的设备频繁插入。因此,插入性能很重要。除了清除旧数据外,传感器数据永远不会更改,也不会删除。很少有用户有时执行查询以调查传感器数据。该应用程序会定期运行查询,以调查当前和以前的传感器数据是否已更改。

现在的问题是如何针对此用例优化数据库。一种想法是删除外键以提高插入性能。我不确定查询性能是否真的受此或扩展的影响。传感器数据库对传感器ID和时间具有唯一的键约束。问题是查询需要现有索引,因此无法清除。

对于在这种情况下如何进行调优的任何想法。

0 个答案:

没有答案