保存使用node.js每1秒钟向Postgres发送数据的最佳方法

时间:2017-04-16 11:30:26

标签: javascript node.js postgresql

我正在使用node.js构建一个项目,该项目与其他4个系统集成,每隔1秒钟就会从传感器发送数据。我想要一个时间轴,所以我需要保存这些数据,但我不觉得每隔一秒插入几个插入语句是正确的。

保存冗余数据的最佳方法是什么?我正在考虑拥有一些日志文件,然后批量插入数据。有什么建议吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

这会使它过早优化。我在Node.js下多次使用基准标记的PostgreSQL。并且在任何给定时刻,每秒插入几个记录将花费不到10毫秒,即不到应用程序负载的1%,如果你每秒都这样做。

从开始就应该做的唯一有价值的优化 - 使用多行插入,即使您一次只插入2行。原因如下:

  • Node.js IO是一个宝贵的资源,所以你做的往返次数越少越好
  • 多行插入比单独的插入查询快得多
  • 单独的插入通常需要一个事务,而单个多行插入则不需要。

你可以在这里找到一个很好的例子:Multi-row insert with pg-promise