Skip to content

Add ADR052 on storing analytics in S3 Tables - #263

Merged
theseanything merged 2 commits into
mainfrom
ADR-business-analytics-storage-options
Oct 5, 2026
Merged

theseanything merged 2 commits into
mainfrom
ADR-business-analytics-storage-options

Conversation

@theseanything

@theseanything theseanything commented Sep 8, 2026 •

Copy link
Copy Markdown
Contributor

We want to measure submissions over time and the number of live forms, keeping the data for at least two years.

This proposes storing those metrics in S3 Tables and querying them with Athena. It is very cheap, fully managed and already prototyped, with events taken from the structured logs the applications already emit.

Existing tools (OTel and Classic CloudWatch metrics, GA4, Splunk, Logs Insights, the runner database) fall short on accuracy, cost, cardinality, retention or ownership. A separate Aurora cluster and the forms-admin database were also considered, but are more cost, effort or maintenance than the current requirement needs.

@theseanything
theseanything requested review from a team, cadmiumcat and whi-tw September 8, 2026 09:28
Comment thread ADR/ADR052-store-analytics-in-s3-tables-or-aurora.md Outdated
Comment thread ADR/ADR052-store-analytics-in-s3-tables-or-aurora.md Outdated
@theseanything
theseanything force-pushed the ADR-business-analytics-storage-options branch from 268c86c to f75b3f2 Compare September 22, 2026 10:54
@theseanything theseanything changed the title Add ADR052 on storing analytics Add ADR052 on storing analytics in Aurora Sep 22, 2026
We want to measure submissions over time and the number of
live forms, keeping the data for at least two years. Existing
tools (OTel and Classic CloudWatch metrics, GA4, Splunk, Logs
Insights, the runner database) fall short on accuracy, cost,
cardinality, retention or ownership.

S3 Tables queried with Athena was prototyped and is very cheap,
but relies on unfamiliar services, at-least-once delivery and
slow queries. A separate Aurora PostgreSQL cluster is familiar,
gives exactly-once writes and low-latency queries, and can later
serve per-form analytics in forms-admin.

This record accepts Aurora and sets out the trade-offs.
@theseanything
theseanything force-pushed the ADR-business-analytics-storage-options branch from f75b3f2 to 62858f1 Compare September 22, 2026 10:57
Comment thread ADR/ADR052-store-analytics-in-aurora.md Outdated
Aurora's always-on cost and maintenance is too much for a few small
tables behind an internal dashboard. S3 Tables is cheap, fully managed
and already prototyped. Also records storing metrics in the forms-admin
database as a rejected option, following PR discussion.
@theseanything theseanything changed the title Add ADR052 on storing analytics in Aurora Add ADR052 on storing analytics in S3 Tables Sep 24, 2026
@theseanything
theseanything merged commit 44c49d4 into main Oct 5, 2026
1 check passed
@theseanything
theseanything deleted the ADR-business-analytics-storage-options branch October 5, 2026 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants