- Published on
For three years we kept OmniMES sensor time-series data in MongoDB. It worked up to about 50 million readings a day. Then aggregation pipelines started taking 10–15 seconds, and storage was growing by 60 GB per month. In January 2026 we began the migration to TimescaleDB — a PostgreSQL extension with hypertables. Six months later: 3.6 TB on MongoDB → 180 GB on TimescaleDB (95% compression), aggregations from 12 s to 400 ms, zero downtime during the migration. This article walks through what, how and why — plus what we would do differently.