ddia-systems

Design data systems using the DDIA framework for storage, replication, partitioning, and transactions.

Updated Apr 18, 2026
One-click install
npx skills add https://github.com/sachio222/based-stack --skill ddia-systems-sachio222
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ddia-systems
Source: https://github.com/sachio222/based-stack/tree/main/ddia-systems
Command: npx skills add https://github.com/sachio222/based-stack --skill ddia-systems-sachio222

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Design data systems by understanding storage engines, replication, partitioning, transactions, and consistency models to build robust, scalable data platforms.

Core Features & Use Cases

  • Storage engine guidance: select between LSM-tree and B-tree strategies to balance write throughput and read latency across OLTP and OLAP workloads.
  • Replication & consistency planning: evaluate single-leader, multi-leader, and leaderless topologies, assess replication lag, and apply CRDTs or other strategies for conflict resolution.
  • Partitioning strategies: compare key-range vs hash partitioning, plan rebalancing, hotspot mitigation, and secondary index considerations.
  • Transactions & isolation: discuss SSI, two-phase locking, sagas, and idempotent operations to manage distributed consistency and avoid anomalies.
  • Batch vs stream processing: design end-to-end data pipelines with CDC, event sourcing, and stream-table duality for derived data stores.
  • Reliability patterns: define timeouts, exponential backoff with jitter, circuit breakers, and chaos testing to ensure resilience.

Quick Start

Provide a high-level data-systems design outline for a scalable workload.

Frequently Asked Questions about ddia-systems

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

FAQPage Schema
How do I design distributed data systems for scalable workloads?

Design distributed data systems by evaluating storage engines, replication models, partitioning strategies, and transaction guarantees using the DDIA framework. This ensures robust, scalable data platforms tailored to your specific workload requirements.

What is the difference between LSM-tree and B-tree storage engines?

LSM-trees optimize write throughput by appending data sequentially for write-heavy workloads, while B-trees maintain in-place updates to provide predictable read latency for read-heavy OLTP and OLAP operations.

How do I choose between single-leader and leaderless replication topologies?

Select single-leader replication for straightforward consistency and transaction support, or choose leaderless and multi-leader topologies to maximize write availability and handle network partitions while applying CRDTs for conflict resolution.

What is the best way to partition data and mitigate hotspots?

Compare key-range and hash partitioning to distribute data evenly; hash partitioning mitigates hotspot risks effectively while key-range enables efficient range queries, requiring careful rebalancing and secondary index planning.

When should I use SSI versus sagas for distributed transactions?

Apply Serializable Snapshot Isolation (SSI) for strict consistency without locking overhead in read-heavy environments, and use sagas with idempotent operations to manage distributed consistency across long-running transactions and avoid anomalies.

Does stream processing with CDC work for building derived data stores?

Stream processing with Change Data Capture (CDC) and event sourcing works for building derived data stores by leveraging stream-table duality to design end-to-end data pipelines that continuously update derived views.