This page is for discussing ways in which we can accommodate multiple projects using same sensors without duplicating data.

Approach 1- Aggregation and Filtering on backend


Approach 2 -Aggregation and Filtering on frontend.

The geodashboard communicates with the geostreams-api instances directly. The filtering and aggregation of data takes place in the geodashboard app.


Approach 3- Connecting tables of different projects

Use postgres partitioning and foreign data wrapper to connect tables of services with each other.

How:

Scenario: Project A needs to show all datapoints of a source in Project B.

Drawbacks:

Link for more information:

https://www.percona.com/blog/2019/05/24/an-overview-of-sharding-in-postgresql-and-how-it-relates-to-mongodbs/

https://pgdash.io/blog/postgres-11-sharding.html