Ultralithic Architecture: Embracing the Shared Database in Enterprise Architecture

Ultralithic Architecture: Embracing the Shared Database in Enterprise Architecture

Enterprise Architecture
Database Design
Microservices
Data Management
System Design

In the ever-evolving landscape of enterprise architecture, a provocative concept has emerged: Ultralithic Architecture. Born from a playful critique of the microservices trend, this approach challenges the conventional wisdom of database separation and proposes a thoughtful return to centralization.

The Genesis of Ultralithic Architecture

The term "ultralithic" emerged during office discussions about microservices, questioning the trend of enterprises maintaining multiple databases instead of a centralized solution. While it started as a joke about embracing the shared-database "anti-pattern," it evolved into a serious architectural consideration with compelling benefits.

Core Components of Ultralithic Architecture

1. The Centralized Data Model

At its heart, ultralithic architecture proposes a single, highly available, and redundant database. However, this isn't a return to monolithic chaos. Instead, it employs logical separation through schemas and access controls, providing many of the benefits of physical separation while maintaining data consistency and relationships across the enterprise.

2. The Layered Model Structure

The architecture follows a snowflake pattern with four distinct layers:

  • Inner Core: Contains fundamental data objects with minimal, stable structures
  • Outer Core: Houses business domain-specific extensions of core entities
  • Inner Periphery: Manages less stable, domain-specific models
  • Outer Periphery: Handles microservice-level data models with maximum flexibility

3. Governance and Evolution

The Enterprise Data Architecture (EDA) team plays a crucial role in managing the core models while allowing peripheral models to evolve independently. This creates a natural pathway for mature concepts to migrate inward, balancing centralization with autonomy.

Benefits of Ultralithic Architecture

  1. Data Consistency: Maintains a single source of truth across the enterprise
  2. Simplified Management: Centralizes data governance and security
  3. Flexible Evolution: Supports both stability in core models and innovation at the periphery
  4. Business Alignment: Naturally maps to organizational structure and expertise

Implementation Strategy

Implementing ultralithic architecture requires careful planning and execution:

  1. Start with core business entities that are stable and well-understood
  2. Define clear boundaries between layers using schemas and access controls
  3. Implement proper security and governance mechanisms
  4. Allow for controlled evolution of models as business needs change

Addressing Common Concerns

Critics might argue that a shared database creates tight coupling and reduces team autonomy. However, ultralithic architecture addresses these concerns through:

  • Logical separation of concerns via schemas and access controls
  • Clear boundaries between different layers of the model
  • Flexibility at the periphery where change is most frequent
  • Gradual absorption of mature patterns into the core

Conclusion

Ultralithic architecture represents a pragmatic approach to enterprise data management. While it may seem counterintuitive in today's microservices-focused world, it offers a compelling balance between centralization and autonomy. By embracing this approach thoughtfully, organizations can achieve better data consistency and simplified management while still maintaining the flexibility needed for innovation.

Further Reading:

  • Enterprise Data Architecture and Core Models
  • Disposable IT vs Composable IT in Enterprise Architecture
  • Data-Centric Enterprise Architecture