Working with time series data using Django and Timescale with Joaquín Scocozza - DjangoCon US 2022

Discover how to effectively work with time series data using Django and TimescaleDB, a relational database designed for efficient storage and querying of large volumes of data.

Key takeaways
  • Time series data is a type of data that represents how a system, process, or behavior changes over time.
  • TimescaleDB is a relational database designed for working with time series data.
  • Time series data is usually ingested in massive volumes, which means that data management and compression are crucial.
  • TimescaleDB provides features such as compression, materialized views, and continuous aggregates to efficiently store and query time series data.
  • Django and TimescaleDB can be used together to build a solution for working with time series data.
  • Django’s ORM can be used for non-complex queries and inserts, while raw SQL queries can be used for complex queries.
  • TimescaleDB’s hyperfunctions, such as Time Bucket, can be used to aggregate and analyze time series data.
  • Materialized views can be used to provide fast access to aggregated data.
  • Continuous aggregates can be used to provide real-time aggregation of data.
  • Downsampling can be used to reduce the amount of data stored.
  • TimescaleDB provides a retention policy to automatically drop old data.
  • Django and TimescaleDB can be used together to build a scalable and performant solution for working with time series data.
  • The solution built uses TimescaleDB’s compression, materialized views, and continuous aggregates to efficiently store and query time series data.
  • The solution also uses Django’s ORM and raw SQL queries to interact with the database.
  • The solution is built on top of PostgreSQL, which provides a robust and scalable database engine.
  • The solution is used to build a platform for monitoring and controlling environmental conditions in a farm, and for optimizing cow health and productivity.