Database technologies we use in production
We choose databases based on your data model, query patterns, and scale requirements — not hype. Here's what we use and why.
✓ routed to a senior engineer
✓ estimate en route
const databases = [ // what we run in production
Our database stack
Our default relational database — JSONB, full-text search, and extensions.
Document store for flexible schema and hierarchical data.
Caching, sessions, queues, and pub/sub messaging.
Full-text search, log analytics, and faceted filtering.
Columnar OLAP for analytics and time-series at scale.
Embedded database for edge functions and serverless.
// what we do with databases — not just install and hope
Database expertise
Normalisation, denormalisation, and JSONB hybrid patterns chosen for your access patterns.
Explain plans, index design, and N+1 elimination before it becomes a production incident.
Zero-downtime schema migrations with Prisma or Flyway, tested in staging first.
Primary/replica read scaling and cross-region replication for resilience and speed.
Hash and range partitioning for horizontal scale when a single node runs out of room.
Automated backups, point-in-time recovery, and tested restore procedures — not just cron jobs.
import { matrix } from "@dww/databases" // when we use each database
Database matrix
// stack-databases.faq.md
PostgreSQL for structured relational data, complex queries, and transactions. MongoDB for flexible document data, rapid iteration, and embedded arrays.
Redis supports data structures (lists, sets, sorted sets), pub/sub, persistence, and clustering. Memcached is pure cache with no additional features.
When you need analytics over millions of rows — dashboards, time-series reporting, or log analysis. It's 10–100× faster than PostgreSQL for OLAP queries.
Schema changes via Prisma Migrate or Flyway. Expand-and-contract pattern for zero-downtime. All migrations tested in staging first.
$ ./contact --database-review
Ready for a database architecture review?
Free scoping and a detailed estimate from senior engineers — within 24 hours. Tell us what you're building and we'll scope the right database for it.