ddia-principles

Apply DDIA principles to guide data-intensive system architecture decisions.

Updated Mar 28, 2026
One-click install
npx skills add https://github.com/MisLink/agentry --skill ddia-principles-mislink
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ddia-principles
Source: https://github.com/MisLink/agentry/tree/main/agents/.agents/skills/ddia-principles
Command: npx skills add https://github.com/MisLink/agentry --skill ddia-principles-mislink

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Designing Data-Intensive Applications (DDIA) distilled reference guide helps engineers consolidate broad, complex architectures into actionable principles for reliability, scalability, maintainability, and data flow decisions.

Core Features & Use Cases

  • Provides a concise, structured overview of reliability, replication, partitioning, transactions, and consistency concepts.
  • Serves as a ready reference when evaluating storage engines, data models, and distributed systems trade-offs.
  • Use Case: when designing a data-heavy system, consult the guide to align architecture choices with DDIA lessons.

Quick Start

Consult this distilled DDIA guide to inform architecture decisions for data-intensive systems.

Frequently Asked Questions about ddia-principles

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

FAQPage Schema
What are the core principles for designing data-intensive distributed systems?

Replication in distributed systems involves copying data across nodes to improve reliability and availability. This guide outlines trade-offs between single-leader, multi-leader, and leaderless architectures for consistency and fault tolerance.

How do I evaluate trade-offs between different data models and storage engines?

Partitioning distributes data across multiple nodes to enable horizontal scalability. This guide provides actionable principles for evaluating partitioning schemes, ensuring even data distribution, and handling secondary index queries in distributed systems.

When should I use stream processing versus batch processing for data flow?

Stream processing suits real-time, low-latency data flow requirements, whereas batch processing handles large-scale, periodic data computations. This guide explains DDIA principles to help determine the appropriate processing approach for your architecture.

How do distributed transactions and consistency models affect system architecture?

Distributed transactions and consistency models dictate how concurrent reads and writes behave across nodes. This distilled guide clarifies isolation levels and consensus algorithms to inform reliable architecture decisions for data-intensive applications.