agentsclimarketplace

Ddia data modeling

Skill ebarti/skills/ddia-data-modeling

Data modeling, storage engines, and encoding choices distilled from "Designing Data-Intensive Applications" (Kleppmann, 2nd ed) chapters 3-5. Covers relational, document, graph, and event-sourced models; LSM, B-tree, in-memory, and columnar storage; specialized indexes; encoding formats; and modes of dataflow. Use this skill when: - Choosing a database (relational/document/graph) - Picking a storage engine (LSM/B-tree/columnar) - Designing an analytics warehouse - Selecting a wire format (JSON/Avro/Protobuf) - Deciding REST vs RPC vs messaging - Modeling event-sourced systems - Building search/vector/geo indexesFrom its SKILL.md

Install
npx -y skills add ebarti/skills --skill ddia-data-modeling

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.4 KB, 652 tokens by cl100k_base, as published. Nobody here has run it

DDIA Data Modeling

A reference skill for designing data models, picking storage engines, and choosing encoding/dataflow strategies. Knowledge is split across 8 categories with progressive disclosure: load only the references relevant to the decision in front of you.

Quick Start

  1. Open guidelines.md — find your task, symptom, or topic.
  2. Load only the listed reference files (typically 1-3).
  3. Apply the rules and patterns; consult examples.md files for concrete code/schema.
  4. For multi-step decisions, follow the relevant workflow under workflows/.

Contents

References

CategoryFilesPurpose
relational-document-modelsknowledge, rules, examplesRelational vs document trade-offs, joins, schema-on-write vs schema-on-read
graph-modelsknowledge, rules, examplesProperty graphs, triple stores, Cypher/SPARQL/Datalog, traversal patterns
event-sourcing-cqrsknowledge, rules, examplesAppend-only event logs, CQRS read views, DataFrames for analytics
oltp-storageknowledge, rules, examplesLSM-trees, B-trees, in-memory engines, write/read trade-offs
olap-storageknowledge, rules, examplesColumnar layout, vectorized execution, separation of storage and compute
specialized-indexesknowledge, rules, examplesMultidimensional, geo (R-tree), full-text, vector indexes
encoding-formatsknowledge, rules, examplesJSON, Protobuf, Avro, Thrift; schema evolution and compatibility
dataflow-modesknowledge, rules, examplesDatabases, REST/RPC services, messaging, durable execution

Workflows

  • workflows/choosing-database-type.md — relational vs document vs graph vs columnar
  • workflows/choosing-storage-engine.md — LSM vs B-tree vs in-memory vs columnar
  • workflows/choosing-encoding-format.md — JSON vs Avro vs Protobuf vs Thrift
  • workflows/designing-event-sourced-system.md — event log + CQRS read views

Workflows

TaskWorkflow
Choose between relational/document/graph/columnar databaseworkflows/choosing-database-type.md
Choose storage engine (LSM/B-tree/in-memory/columnar)workflows/choosing-storage-engine.md
Pick wire encoding format & schema evolution strategyworkflows/choosing-encoding-format.md
Design an event-sourced system with CQRSworkflows/designing-event-sourced-system.md

Guidelines

See guidelines.md for:

  • Task-based file selection (database choice, storage choice, analytics, encoding, services)
  • Symptom/question lookup (joins, connected data, audit, write throughput, etc.)
  • Topic-by-topic file index (8 categories, 24 files)
  • Decision trees for the most common selection paths

What ships with it: 29 files

178.6 KB alongside SKILL.md

Gives 0 of the 12 instructions most data backend skills give in 652 tokens

Counted across 229 of the 229 authors here whose files we hold, read 2026-08-07

  • Separate business logic into service layersin 22 of 229, across 15 files
  • Retry failures with exponential backoffin 21 of 229, across 14 files
  • Select only needed database columnsin 20 of 229, across 13 files
  • Abstract data access into repository classesin 19 of 229, across 12 files
  • Use centralized error handlersin 17 of 229, across 10 files
  • Use AsNoTracking for read-only queriesin 16 of 229, across 4 files
  • Use async/await for all I/O operationsin 16 of 229, across 5 files
  • Implement structured loggingin 15 of 229, across 4 files
  • Use dependency injection for all servicesin 14 of 229, across 2 files
  • Use resource-based URLs for REST APIsin 13 of 229, across 7 files
  • Invalidate cache after data changesin 13 of 229, across 9 files
  • Use a dependency injection containerin 12 of 229, across 4 files

Said here and by no other author read

  • find the task symptom or topic in guidelines
  • apply the rules and patterns from references
  • consult examples files for concrete schemas
  • follow the relevant workflow for multi-step decisions

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 326,758. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.