The citizen portal is served from NoSQL, but planners need heavy multi-year group-by analytics across all districts. Where should those analytical aggregations typically run?
Select an answer to reveal the explanation.
Short Explanation
The portal needs snappy NoSQL reads; the big group-bys belong on the analytical track. Hadoop or Spark can crunch years of districts without choking the serving tier. Keep serving and heavy analytics in their own lanes.
Full Explanation
Heavy multi-year group-by analytics across districts belong on analytical engines such as Hadoop or Spark pipelines, separate from the latency-sensitive NoSQL path that serves the citizen portal. Mixing large aggregations into every page-view serving path overloads online stores and slows residents. Running those aggregations only inside the NoSQL serving path on every view couples reporting cost to interactive SLAs. Pushing exclusive compute onto each citizen’s phone cannot assemble citywide multi-year totals with governed data. Manually totaling printed reports abandons cluster compute and cannot meet modern planning timelines. Exam caveat: polyglot architecture often keeps NoSQL for serving and lake/Spark for analytics—do not assume one store must do both roles well. Operational check: route planner dashboards to a Spark or warehouse job reading lake snapshots, keep portal reads on NoSQL keyed gets, and verify the analytical job cannot contend for portal capacity. In production terms for analytical engines off the portal path, assign an owning team, wire a dashboard that shows the pattern is healthy under peak civic load, and require a staging drill that rehearses failure and recovery before resident impact. Revisit the choice when traffic shape, retention, or integrity needs change, and keep a named rollback owner on the change record. Re-test both the happy path and the failure path for analytical engines off the portal path after material dependency upgrades so regressions are caught before the next public release.