Back to Templates
developer

Architecture Decision Record

Document architecture decisions with context, decision, and consequences. Track the evolution of your system design.

adr
architecture
decision
documentation
0
Docs Created
1.7k
Downloads
0
Likes
VerseKit Team
@versekit
Published January 8, 2026

Available Variables

Use these variables with Handlebars syntax {{variableName}} in your content.

{{date}}

January 15, 2025

{{title}}

Use PostgreSQL for Primary Database

{{author}}

Development Team

{{status}}

Accepted

{{context}}

We need to choose a primary database for our new microservices architecture. The database must support complex queries, handle high transaction volumes, and integrate well with our existing tooling.

{{driver1}}

Need for ACID compliance for financial transactions

{{driver2}}

Requirement for complex JSON querying capabilities

{{driver3}}

Team familiarity and existing expertise

{{driver4}}

Strong ecosystem and community support

{{adrNumber}}

0015

{{negative1}}

Requires more operational overhead than managed services

{{negative2}}

Horizontal scaling is more complex than NoSQL options

{{positive1}}

Strong ACID compliance for transactions

{{positive2}}

Excellent JSON support with JSONB

{{positive3}}

Team already has PostgreSQL expertise

{{updatedBy}}

Architecture Team

{{lastUpdated}}

January 20, 2025

{{option1Desc}}

Open-source relational database with excellent JSON support and proven scalability.

{{option1Name}}

PostgreSQL

{{option2Desc}}

Popular open-source database with wide adoption but weaker JSON support.

{{option2Name}}

MySQL

{{option3Desc}}

NoSQL document database with flexible schema but no native ACID transactions.

{{option3Name}}

MongoDB

{{relatedAdr1}}

0012

{{relatedAdr2}}

0014

{{statusClass}}

accepted

{{decisionVerb}}

use PostgreSQL

{{relatedTitle1}}

Use Kubernetes for Container Orchestration

{{relatedTitle2}}

Implement Database Connection Pooling

{{decisionDetail}}

PostgreSQL best meets our requirements for ACID compliance, JSON querying, and team expertise. We will use PostgreSQL 16 with the pg_partman extension for table partitioning.