DCH 2.5
What's New
Version 2.5 includes the following new features and changes.
Data Provider Workers (Beta)
Data Pumps were previously the primary method for data import into DCH. This version introduces Data Provider Workers as the new system for importing data. A Data Provider Worker is a standalone application implementing a pre-defined contract and exposing a REST API for communication with one or multiple DCH instances. It can be developed in any programming language, offering enhanced flexibility. While Data Pumps are tightly coupled to DCH, the decoupled nature of Data Provider Workers allows for a smoother transition when changes are introduced.
Additional benefits include increased performance and traceability of imported data. Previously, Data Pumps loaded all available data at once, which could lead to memory constraints. Additionally, the single large job structure didn't provide visibility into processing progress. Data Provider Workers handle data in multiple batches, enabling quick feedback and comprehensive traceability.
This feature is in Beta and might not work flawlessly
DCH UI Updates
The following features have been migrated to the new UI introduced in version 2.4:
- Connectors: Corresponds to the Data Pump Images section from GBS UI
- Workers: Corresponds to the Workers section from GBS UI
- Model: Introduces worker support for Data Source functionality
- Build: Provides enhanced data import and processing capabilities, succeeding Graph Processing from GBS UI
- Data Import Configuration: Corresponds to the Data Importer from GBS UI
Interface enhancements:
- Extended isolation functionality now covers Relationships and Data Sources
- Refined configuration panel for Target Entities, Relationships and Data Sources
- Enhanced Model views with customizable layouts and Data Source toggling options
Removed DAG Uploader
Due to Airflow's lack of native DAG upload functionality, previous versions required a custom Uploader application. Version 2.5 implements a multi-mount volume solution, eliminating the need for the Uploader component and streamlining the overall stack architecture.
M4AI Updates
The following features have been added to M4AI:
- Agent System Versioning: Enables creation and management of multiple Agent System versions
- Deep Context Logic (DIAna): Implements conversational context building for enhanced agent system exploration
- UI Enhancement: Introduces toggle functionality between Standard and Deep Context chat modes
- Advanced Analytics (experimental): Integrates coding agent within context building phase, enabling automated data transformation and aggregation capabilities
Bug Fixes and Improvements
- Fixed a bug that incorrectly prevented properties with
*_IDnaming pattern from being used in relationships - Implemented safeguards against modifications of processed entities in the new interface
- Added validation to prevent expression creation on unmapped properties
- Enhanced entity deletion to automatically remove associated incoming and outgoing relationships
- Introduced a warning system for Load Plan dependencies when removing Target Entities
API Changes
This release introduces several API changes to enhance usability and standardization.
Deprecations
The following API endpoints have been deprecated:
- [EBS]
/api/graph/search/advanced-search: Please use/api/graph/search/advancedendpoint instead, which includes pagination support
Deployment Changes
As part of this update, the following adjustments have been made to the deployment configuration.
Neo4j Configuration via Environment Variables
This release simplifies DCH instance deployment by relocating Neo4j configuration from the SysConfiguration table
to environment variables. The following environment variables are required for the backend, gbs, and m4ai_backend
services:
NEO4J_USERNAMENEO4J_PASSWORDNEO4J_DBNEO4J_HOSTNEO4J_PORTNEO4J_PROTOCOL
Multi-mount for DAGs
Multi-mount support is required for DAGs.
To enable this, you have to define a storage class with ReadWriteMany access mode in values.yaml at
airflow.persistence.storageClassName.