data-systems-architecture

Guide schema decisions, storage, indexing, and scalability planning for database design.

49|9|Updated Dec 18, 2025
One-click install
npx skills add https://github.com/ratacat/claude-skills --skill data-systems-architecture
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: data-systems-architecture
Source: https://github.com/ratacat/claude-skills/tree/main/skills/data-systems-architecture
Command: npx skills add https://github.com/ratacat/claude-skills --skill data-systems-architecture

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Use when designing databases for data-heavy apps, making schema decisions, evaluating OLTP vs OLAP, indexing, and planning for scale. Also use when addressing N+1 queries or ORM issues.

Core Features & Use Cases

  • Foundational principles, trade-offs, and data-modeling guidance
  • Synthesis of Kleppmann + Fontaine + Dombrovskaya patterns
  • Navigation to domain-specific chapters (modeling, storage, indexing, scaling, transactions, integration)

Quick Start

Start with 01-foundational-principles.md to understand reliability, scalability, and maintainability; then explore 04-indexing.md for indexing strategies.

Frequently Asked Questions about data-systems-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a database schema for a data-heavy application?

Database schema design for data-heavy apps balances normalization versus denormalization, storage efficiency, and query performance. Start with foundational principles around reliability and scalability, then apply indexing and storage strategies tailored to your access patterns and growth projections.

What's the difference between OLTP and OLAP, and which should I choose?

OLTP optimizes transactional workloads with frequent writes and small reads; OLAP optimizes analytical workloads with large batch reads. Evaluate trade-offs early in design: OLTP prioritizes consistency and concurrency, OLAP prioritizes query performance on historical data aggregates.

How do I fix N+1 query problems and ORM performance issues?

N+1 queries occur when an ORM fetches one parent record then issues separate queries for each related child. Address this by understanding your storage engine's join capabilities, selecting appropriate indexing strategies, and designing schemas that reduce unnecessary round trips.

What indexing strategies should I use for database scalability?

Indexing strategies depend on query patterns, write frequency, and scale. Choose between B-tree, hash, and specialized index types; balance read speed gains against write overhead and storage cost. Plan index evolution as data and access patterns grow.

How do I plan for database growth and concurrent transactions?

Scalability planning addresses storage capacity, query latency, and transaction concurrency early. Apply patterns for sharding, replication, and transaction isolation levels; choose storage engines and schema designs that sustain reliability and maintainability as volume increases.