Virtual Data Platform (VDP) Architecture
You can read about practical applications for VDP in core concepts
Technical Properties
Comprehensive Modeling
The VDP models all aspects of your data platform, including:
- Partitioning strategies (day, month, integer, etc.)
- Schema definitions with detailed field information
- Transformation queries with their inputs and outputs
- Routine definitions with parameters and return types
- Custom metadata for additional context
Immutability
Each version of the VDP is immutable - when changes are made, a new version is created rather than modifying the existing one. This provides:
- A complete record of previous states
- Safe rewrites of references for different environments
- Clear tracking of what has changed between versions
Digest-Based Change Detection
Each component in the VDP has a digest (hash) computed from its definition, enabling:
- Identification of which components have changed
- Selective revalidation of only affected parts
- Precise detection of conflicts (e.g., duplicate names with different content)
Source-Location Awareness
The VDP can track the source code location of each component, powering features like:
- Hover documentation showing a table's schema in your IDE
- Error messages tied to specific lines of code
- Navigation from components to their source definitions
Open-Ended Metadata
Every component in the VDP can have custom metadata attached as arbitrary JSON, allowing for:
- Team ownership or cost-center information
- Security classifications (e.g., PII markers)
- Integration points like webhook URIs
- Any custom information relevant to your organization
Serialization
The entire VDP can be serialized to formats like JSON, enabling:
- Storage in version control
- Comparison of different versions
- Sharing between environments