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
npx -y skills add ebarti/skills --skill ddia-data-modelingAssembled 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
- Open
guidelines.md— find your task, symptom, or topic. - Load only the listed reference files (typically 1-3).
- Apply the rules and patterns; consult
examples.mdfiles for concrete code/schema. - For multi-step decisions, follow the relevant workflow under
workflows/.
Contents
References
| Category | Files | Purpose |
|---|---|---|
relational-document-models | knowledge, rules, examples | Relational vs document trade-offs, joins, schema-on-write vs schema-on-read |
graph-models | knowledge, rules, examples | Property graphs, triple stores, Cypher/SPARQL/Datalog, traversal patterns |
event-sourcing-cqrs | knowledge, rules, examples | Append-only event logs, CQRS read views, DataFrames for analytics |
oltp-storage | knowledge, rules, examples | LSM-trees, B-trees, in-memory engines, write/read trade-offs |
olap-storage | knowledge, rules, examples | Columnar layout, vectorized execution, separation of storage and compute |
specialized-indexes | knowledge, rules, examples | Multidimensional, geo (R-tree), full-text, vector indexes |
encoding-formats | knowledge, rules, examples | JSON, Protobuf, Avro, Thrift; schema evolution and compatibility |
dataflow-modes | knowledge, rules, examples | Databases, REST/RPC services, messaging, durable execution |
Workflows
workflows/choosing-database-type.md— relational vs document vs graph vs columnarworkflows/choosing-storage-engine.md— LSM vs B-tree vs in-memory vs columnarworkflows/choosing-encoding-format.md— JSON vs Avro vs Protobuf vs Thriftworkflows/designing-event-sourced-system.md— event log + CQRS read views
Workflows
| Task | Workflow |
|---|---|
| Choose between relational/document/graph/columnar database | workflows/choosing-database-type.md |
| Choose storage engine (LSM/B-tree/in-memory/columnar) | workflows/choosing-storage-engine.md |
| Pick wire encoding format & schema evolution strategy | workflows/choosing-encoding-format.md |
| Design an event-sourced system with CQRS | workflows/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
references/
- dataflow-modes/examples.md5.9 KB
- dataflow-modes/knowledge.md5.8 KB
- dataflow-modes/rules.md4.5 KB
- encoding-formats/examples.md5.9 KB
- encoding-formats/knowledge.md5.7 KB
- encoding-formats/rules.md5.5 KB
- event-sourcing-cqrs/examples.md5.6 KB
- event-sourcing-cqrs/knowledge.md5.4 KB
- event-sourcing-cqrs/rules.md4.9 KB
- graph-models/examples.md6.4 KB
- graph-models/knowledge.md6.5 KB
- graph-models/rules.md5.1 KB
- olap-storage/examples.md5.3 KB
- olap-storage/knowledge.md6.6 KB
- olap-storage/rules.md4.5 KB
- oltp-storage/examples.md5.7 KB
- oltp-storage/knowledge.md6.7 KB
- oltp-storage/rules.md5.4 KB
- relational-document-models/examples.md5.9 KB
- relational-document-models/knowledge.md6.4 KB
- relational-document-models/rules.md5.0 KB
- specialized-indexes/examples.md4.9 KB
- specialized-indexes/knowledge.md7.6 KB
- specialized-indexes/rules.md4.6 KB
workflows/
- guidelines.md10.2 KB