Skip to content

Database Selection

Date: 2026-01-20

Status: accepted

Context

We need a database to store personalization selections (user profile enhancement data) collected during onboarding flows, with plans to migrate additional user enhancement profile data (company, company size, etc.) in the future.

Based on architecture feedback, we need:

  • Relational database: As we might have some relations between data
  • PostgreSQL: Recommended for our use case
  • Serverless option: Reduces maintenance overhead for the team
  • AWS-native: Integrate with our existing AWS infrastructure

We evaluated AWS Aurora Serverless v2 as the PostgreSQL solution.

Decision

We will use AWS Aurora Serverless v2 (PostgreSQL) as our database.

Why we chose Aurora Serverless v2:

  • Less maintenance overhead
  • Auto-scaling based on usage
  • Works with our existing AWS infrastructure
  • PostgreSQL-compatible

Consequences

Aurora requires Lambda to run inside a VPC, which introduces some cold start overhead.

The minimum capacity (0.5 ACU) incurs baseline cost even during idle periods, though significantly lower than provisioned instances.