askill
databases

databasesSafety 85Repository

Advanced database engineering — PostgreSQL (schema design, advanced queries, optimization, replication, administration), MongoDB (document modeling, aggregation pipelines, sharding, Atlas), Redis (caching, pub/sub, streams). Use for schema design, query optimization, database administration, backup/restore, replication, and performance tuning.

0 stars
1.2k downloads
Updated 2/13/2026

Package Files

Loading files...
SKILL.md

Database Engineering Mastery

Production-ready database patterns for PostgreSQL, MongoDB, and Redis. Focuses on design, optimization, and administration — language-agnostic fundamentals that work with any backend (Rust, Go, Python, Node.js, etc.).

Backend-Agnostic Design

This skill focuses on database fundamentals that work with ANY backend:

This Skill (databases)Backend Implementation
Pure SQL, schema designSQLx (Rust), GORM (Go), SQLAlchemy (Python), Prisma (Node)
EXPLAIN ANALYZE, indexingQuery optimization in any language
DBA tasks (VACUUM, replication)Database administration (language-independent)
MongoDB shell & aggregationOfficial drivers: Rust, Go, Python, Node, Java
Redis CLI patternsRedis clients: redis-rs, go-redis, redis-py, ioredis

Implementation Examples:

  • Rust: See rust-backend-advance
  • Go: Use Gin/Echo + GORM or sqlx
  • Python: Use FastAPI + SQLAlchemy or asyncpg
  • Node.js: Use Express + Prisma or Knex

Database Selection

CriteriaPostgreSQLMongoDBRedis
Data modelRelational tablesJSON documentsKey-value / streams
Best forACID transactions, complex JOINsFlexible schema, rapid iterationCaching, real-time, pub/sub
ScalingVertical + read replicasHorizontal shardingIn-memory, cluster
Query languageSQLMQL (MongoDB Query Language)Redis commands
When to pickData integrity criticalSchema evolves fastSub-ms latency needed

Quick Start

PostgreSQL

-- Create with constraints
CREATE TABLE users (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    email TEXT UNIQUE NOT NULL,
    name TEXT NOT NULL,
    metadata JSONB DEFAULT '{}',
    created_at TIMESTAMPTZ DEFAULT now()
);
CREATE INDEX idx_users_email ON users(email);

-- Performance check
EXPLAIN (ANALYZE, BUFFERS, FORMAT TEXT)
SELECT * FROM users WHERE email = 'test@example.com';

MongoDB

// Insert with validation
db.createCollection("users", {
  validator: { $jsonSchema: {
    bsonType: "object",
    required: ["email", "name"],
    properties: {
      email: { bsonType: "string", pattern: "^.+@.+$" },
      name: { bsonType: "string", minLength: 1 }
    }
  }}
});

// Aggregation pipeline
db.orders.aggregate([
  { $match: { status: "completed" } },
  { $group: { _id: "$userId", total: { $sum: "$amount" } } },
  { $sort: { total: -1 } },
  { $limit: 10 }
]);

Redis

# Caching pattern
SET user:123 '{"name":"Alice"}' EX 3600
GET user:123

# Pub/Sub
PUBLISH notifications '{"type":"order","id":456}'
SUBSCRIBE notifications

# Sorted set leaderboard
ZADD leaderboard 100 "player1" 200 "player2"
ZREVRANGE leaderboard 0 9 WITHSCORES

Reference Navigation

PostgreSQL Deep-Dive

  • Schema Design — Normalization, partitioning, JSONB, constraints, migrations
  • Advanced Queries — CTEs, Window Functions, lateral joins, recursive queries
  • Optimization — EXPLAIN, indexing strategies, query planner, statistics
  • Administration — Users, backups, VACUUM, monitoring, pgBouncer
  • Replication & HA — Streaming replication, failover, pg_basebackup

MongoDB Deep-Dive

Redis Deep-Dive

Cross-Database

  • Selection Guide — When to use what, hybrid architectures, migration strategies

Best Practices

PostgreSQL: Normalize to 3NF first, denormalize for read performance. Always use EXPLAIN ANALYZE. Index foreign keys. VACUUM regularly. Use pgBouncer for connection pooling.

MongoDB: Embed for 1-to-few, reference for 1-to-many. Index every query pattern. Use aggregation pipeline over map-reduce. Enable authentication. Use Atlas for production.

Redis: Set TTL on everything. Use pipelines for bulk ops. Don't store data you can't lose (unless persisted). Monitor memory with INFO memory.

Related Skills

SkillWhen to Use
rust-backend-advanceRust/Axum/SQLx implementation (one backend option)
authenticationUser/session storage, auth tables
paymentsOrders, transactions, subscriptions storage
devopsDatabase hosting, backups, Docker containers
debuggingQuery performance issues, connection problems
testingDatabase integration tests

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

58/100Analyzed 2/19/2026

Comprehensive database reference document covering PostgreSQL, MongoDB, and Redis with comparison tables, code examples, and best practices. Well-structured and organized, but functions more as a navigation/overview document that points to deeper reference files. Lacks explicit trigger conditions or step-by-step actionable guides for specific tasks. Good reusability as language-agnostic database fundamentals, but limited actionability due to reference-heavy structure.

85
75
70
55
40

Metadata

Licenseunknown
Version-
Updated2/13/2026
Publisherthienty1207

Tags

ci-cddatabaseobservabilitysecuritytesting