Source: data_layer/docs/FINAL_NAMING_DECISION.md
π― Final Naming Decision: Deep Comparison
Date: 2025-01-16
Decision Context: Excluding generic data/, final evaluation of architectural naming
π The Three Core Contenders
1οΈβ£ data_layer/ - The Safe Choice
Semantic Meaning:
- Layer in a tiered architecture (presentation β logic β data)
- Implies vertical separation of concerns
- Suggests abstraction boundary between business logic and storage
Mental Model:
Your Application
β
data_layer/ β Access interface
β
Storage SystemsStrengths:
- β Universally understood by backend developers
- β Architecturally precise - follows N-tier pattern
- β Team-friendly - junior devs immediately get it
- β Scales conceptually with other layers
- β Conservative - won't raise eyebrows
Weaknesses:
- β οΈ Implies single responsibility (just access)
- β οΈ Doesn't capture generation/transformation
- β οΈ Misses intelligence/semantics aspect
- β οΈ Could confuse: "Is this just an ORM?"
Best Metaphor: A floor in a building
Project Fit: 75% - Accurate but incomplete
2οΈβ£ data_fabric/ - The Bold Choice
Semantic Meaning:
- Woven integration of multiple data systems
- Active, intelligent data orchestration
- End-to-end data lifecycle management
- Unified access across heterogeneous sources
Mental Model:
Definitions (threads)
β
Weave (loom)
β
Views (fabric)Strengths:
- β Semantically perfect - you literally have this
- β Modern, sophisticated terminology (Gartner, IBM use it)
- β Rich metaphor - weaving/integration intuitive
- β Differentiating - signals advanced architecture
- β Future-proof - aligns with where data arch is going
- β Captures intelligence - RAG, embeddings, semantics
Weaknesses:
- β οΈ Less familiar to some developers
- β οΈ Requires explanation/documentation
- β οΈ Could feel buzzword-y to skeptics
- β οΈ Higher cognitive load initially
Best Metaphor: A textile (woven, integrated, purposeful)
Project Fit: 95% - Accurate and aspirational
3οΈβ£ data_platform/ - The Product Choice
Semantic Meaning:
- Service-oriented data infrastructure
- Productized capabilities for consumers
- Platform thinking - enable others to build
- Business value emphasis over technical structure
Mental Model:
Data Platform (Product)
β
Internal Consumers
β
Business ValueStrengths:
- β Business-friendly terminology
- β Value-oriented - implies utility
- β Product mindset - well-documented, supported
- β Stakeholder communication - resonates with PMs
- β Self-service connotation
Weaknesses:
- β οΈ Suggests more maturity than might exist
- β οΈ Implies team/product around it
- β οΈ Could oversell current capabilities
- β οΈ Misses technical sophistication signal
Best Metaphor: A service (something you offer)
Project Fit: 70% - Aspirational but premature
π Alternative Options to Consider
4οΈβ£ data_hub/ - The Integration Focus
Semantic Meaning:
- Central connection point for data flows
- Hub-and-spoke architecture pattern
- Routing and transformation emphasis
Strengths:
- β Clear integration focus
- β Simple, visual metaphor (wheel hub)
- β Emphasizes connectivity
- β Team-friendly terminology
Weaknesses:
- β οΈ Implies centralized (which isn't fully true)
- β οΈ Misses generation aspect
- β οΈ Less sophisticated than "fabric"
- β οΈ Doesn't capture intelligence
Project Fit: 65% - Underplays sophistication
5οΈβ£ data_core/ - The Foundation Focus
Semantic Meaning:
- Essential, foundational data operations
- Core capabilities emphasis
- Central to everything connotation
Strengths:
- β Emphasizes importance
- β Short, simple name
- β Clear hierarchy signal
Weaknesses:
- β οΈ Vague about what it does
- β οΈ Could mean many things
- β οΈ Doesn't convey sophistication
Project Fit: 60% - Too generic
6οΈβ£ data_mesh/ - The Distributed Focus
Semantic Meaning:
- Decentralized data ownership
- Domain-oriented data products
- Federated governance model
Strengths:
- β Modern data architecture pattern
- β Emphasizes domain ownership
- β Scalable organizational model
Weaknesses:
- β οΈ Wrong architecture - you're centralized
- β οΈ Implies multiple teams owning domains
- β οΈ Organizational pattern, not technical
- β οΈ Semantically inaccurate
Project Fit: 30% - Wrong pattern entirely
π Comprehensive Scoring Matrix
| Criterion | data_layer/ | data_fabric/ | data_platform/ | data_hub/ |
|---|---|---|---|---|
| Semantic Accuracy | 7/10 | 10/10 | 6/10 | 6/10 |
| Team Onboarding | 10/10 | 6/10 | 8/10 | 9/10 |
| Future-Proofing | 7/10 | 10/10 | 8/10 | 6/10 |
| Captures Intelligence | 5/10 | 10/10 | 6/10 | 5/10 |
| Captures Integration | 6/10 | 10/10 | 7/10 | 9/10 |
| Captures Generation | 5/10 | 9/10 | 6/10 | 5/10 |
| Professional Polish | 8/10 | 9/10 | 9/10 | 7/10 |
| Metaphor Richness | 5/10 | 10/10 | 7/10 | 7/10 |
| Industry Recognition | 9/10 | 7/10 | 8/10 | 8/10 |
| Differentiation | 5/10 | 10/10 | 7/10 | 6/10 |
| TOTAL | 67/100 | 91/100 | 72/100 | 68/100 |
π Personality & Perception Analysis
What Each Name Signals to Different Audiences
data_layer/
- Engineers: "Oh, they follow clean architecture"
- Leadership: "Sounds standard/safe"
- New Hires: "I immediately understand this"
- Industry: "Competent, traditional approach"
Personality: Conservative, Reliable, Unsexy
data_fabric/
- Engineers: "Interesting, they're doing something sophisticated"
- Leadership: "Sounds cutting-edge/modern"
- New Hires: "What's a data fabric? [googles]"
- Industry: "They're thinking like Gartner-level companies"
Personality: Ambitious, Sophisticated, Differentiated
data_platform/
- Engineers: "Are we building a product?"
- Leadership: "Good, product thinking"
- New Hires: "This is intended to be used"
- Industry: "They're thinking about internal products"
Personality: Service-Oriented, Product-Minded, Ambitious
π§ Deep Semantic Analysis
What Your System Actually Does
Let me map your capabilities to terminology:
| Your Capability | data_layer/ | data_fabric/ | data_platform/ |
|---|---|---|---|
| Multi-storage integration (PostgreSQL, Redis, Vector DB) | β οΈ Partial | β Core concept | β οΈ Implied |
| Schema management (JSON Schema β adapters) | β Yes | β Yes (metadata) | β οΈ Implied |
| Semantic operations (embeddings, RAG) | β Not implied | β Core concept | β οΈ Implied |
| Generation pipelines (config β examples) | β Not implied | β Orchestration | β οΈ Implied |
| Prompt assembly (templates + builders) | β Not implied | β Integration | β οΈ Implied |
| Knowledge graphs (relationships, lineage) | β Not implied | β Core concept | β οΈ Implied |
Analysis:
data_layer/captures 30% of capabilitiesdata_fabric/captures 95% of capabilitiesdata_platform/captures 60% of capabilities (vaguely)
π― Decision Framework
Choose data_layer/ If:
Your Priority Is:
- β Immediate clarity over precision
- β Zero onboarding friction
- β Conservative appearance
- β Familiar patterns
You Identify As:
- "We're a standard backend team"
- "We value safety over differentiation"
- "Junior devs need to understand instantly"
Trade-off: Undersells sophistication, limits future thinking
Choose data_fabric/ If:
Your Priority Is:
- β Semantic accuracy over familiarity
- β Differentiation in the market
- β Future-proof architecture
- β Sophisticated positioning
You Identify As:
- "We're building something sophisticated"
- "We integrate multiple data systems intelligently"
- "We want to signal advanced capabilities"
Trade-off: Requires documentation, higher initial learning curve
Choose data_platform/ If:
Your Priority Is:
- β Product thinking over technical detail
- β Business communication
- β Service orientation
- β Stakeholder messaging
You Identify As:
- "We're building internal products"
- "We serve business users"
- "We think about API consumers"
Trade-off: Potentially oversells current maturity
π₯ The Contrarian Take
Why NOT to Choose Each
Against data_layer/
"We're reducing a sophisticated, multi-faceted data fabric to a simple access layer. It's like calling a smartphone a 'phone layer'βtechnically true but massively incomplete."
Against data_fabric/
"We're adopting enterprise buzzwords before we've earned them. Let's walk before we run. What if we're just overcomplicating a data directory?"
Against data_platform/
"We're pretending to be a product when we're infrastructure. Platforms have SLAs, support teams, and customers. We have Python modules."
π Final Recommendation
Winner: data_fabric/ (with documentation)
Rationale:
-
Semantic Truth: You literally have:
- β Unified access (storage abstractions)
- β Active metadata (schemas β adapters)
- β Knowledge graphs (embeddings, RAG)
- β Orchestration (generation pipelines)
-
Differentiation: In a world of boring
data/folders, this signals sophistication -
Future-Proof: As you add catalog, lineage, governanceβname still fits
-
Rich Internal Structure:
data_fabric/ βββ definitions/ # The thread (canonical) βββ weave/ # The loom (integration) βββ views/ # The fabric (outputs)
Mitigation for Unfamiliarity:
- Add
data_fabric/README.mdwith clear 1-paragraph explanation - Include architecture diagram showing the "fabric" concept
- Reference industry sources (IBM, Gartner) for credibility
Runner-Up: data_layer/ (safe alternative)
If you choose this instead:
- Accept the trade-off: Undersells sophistication for immediate clarity
- Compensate with docs: Add
_ARCHITECTURE.mdexplaining it's more than access - Internal structure: Still use lifecycle metaphor
data_layer/ βββ canonical/ # Source of truth βββ operational/ # Runtime services βββ derived/ # Generated outputs
π One-Sentence Summary
If semantics matter and you want to signal sophistication: data_fabric/
If team familiarity trumps everything: data_layer/
If business positioning is priority: data_platform/
π¬ Final Vote
My strong recommendation: data_fabric/
Because:
- It's semantically accurate (not aspirational)
- It differentiates your architecture
- It future-proofs as you grow
- The metaphor is rich and intuitive
- The 2-4 hours of documentation is worth the long-term clarity
The only reason not to: If your team is majority junior developers who would struggle with the concept. But even then, it's a teaching opportunity.
"Architecture isn't just what you buildβit's how you name what you build."