Temporal in Data Nadhi
Data Nadhi uses Temporal to orchestrate and manage data processing workflows.
Temporal gives us reliability, scalability, and fault tolerance - perfect for complex, long-running workflows.
Why Temporal?
We use Temporal in Data Nadhi because it solves key challenges in workflow orchestration:
- Reliable execution: Workflows are guaranteed to complete, even if a worker or service fails.
- Scalable: Supports horizontal scaling by adding more workers to handle increased load.
- Fault tolerant: Automatic retry and state recovery means no data loss.
- Code-first approach: Workflows are written in standard programming languages, making them easy to maintain.
- State management: Temporal automatically tracks workflow progress - you don't need to manage state manually.
💡 Temporal gives us a durable, scalable, and easy-to-use workflow engine for orchestrating Data Nadhi pipelines.
Temporal Workflow Integration
1. Data Nadhi Server
- Receives incoming log data.
- Validates the API key and figures out the org and project.
- Pushes tasks into Temporal's
task-qqueue for processing. - See Server for more info
2. Data Nadhi Main Worker
- Gets the workflow config for each pipeline.
- Prepares a traversable workflow structure and finds the start node.
- Pushes tasks into Temporal's
task-q-transformqueue for transformation. - See Main Worker for more info
3. Data Nadhi Transformation Worker
- Processes tasks from
task-q-transform. - Applies transformations, filters, and branching logic based on the workflow.
- Pushes transformed data into Temporal's
task-q-destinationqueue. - See Transformation Worker for more info
4. Data Nadhi Destination Worker
- Gets tasks from
task-q-destination. - Fetches the destination and connector config.
- Sends processed data to the configured target (databases, APIs, etc.).
- See Destination Worker for more info
Temporal Architecture Overview
- Temporal Service: Coordinates workflow execution and makes sure everything's durable.
- Workers: Application-side processes that execute tasks defined in workflows.
- Workflows: Code-defined sequences of tasks that Temporal manages and persists.
- Queues:
task-q,task-q-transform, andtask-q-destinationhandle task distribution and sequencing.
💡 This architecture lets Data Nadhi reliably orchestrate complex pipelines without manual state management.
Benefits of Using Temporal
- Reliability: Makes sure workflows complete even when there are failures.
- Scalability: Can handle high loads by adding more workers.
- Fault Tolerance: Automatic retries and state recovery.
- Code-first Development: Easy to write and maintain workflows in standard languages.
- Automatic State Management: No need to persist workflow state manually.