Comment by theamk

Comment by theamk 2 days ago

0 replies

Input data rate: 1e6 * 48 / (24*60*60) = ~560 TPS

Working data size (1 day): (8B meter id + 8B timestamp + 8B value) * 48 * 1e6 = 1.1 gigabyte

Archival: 1.1GB/day * 15 month = 482 GB .. but looks like mostly write-only data?

That is pretty small as far as modern servers go. My usual approach for IoT things is event sourcing-like architecture - you have logging servers (for disaster recovery) and processing server(s), which keep things in RAM. If processing servers crash, they restart, and logging servers re-send data from last checkpoint.

But I am sure that a Postgres can be used as well, or some sort of time-series database too. Based on your description, you really don't need much as far as database go - basically range queries and that's it.