Description
Now that our support for SQL-on-FHIR-v2 ViewDefinition is complete (#821 and #916) we should do some large scale comparisons of the Spark+Parquet based approach with relational DB based ones using materialized views. We can start with PostgreSQL and establish some guidelines on the scale of data at which using a single node PG DB starts to make less sense (compared to a multi node Spark+Parquet based approach). Then we should repeat the same experiment with AlloyDB to see the impact of columnar storage (while still single node).
We should do several experiments using multiple realistic workloads (e.g., calculating program or data quality metrics involving joins of multiple resource tables). But we also recognize that these comparisons will always be subjective to some extent, because of the choice of workloads.