Skip to content

Database Schema

devsda edited this page Apr 17, 2019 · 3 revisions

Schema diagram

Database Schema

  • Schema design -

    In this section, I will cover schema design, and tables that is required to manage various of Shepherd.

    • Tables -
    Tables Responsibility Comments
    client_details Client details.
    endpoint_details Endpoint details.
    object_execution Maintains state of given object.
    node_execution Maintains state of given node (fundamental unit of workflow).
    1. Table#1 - client_details
    Column Responsibility Comments
    client_id Client unique identifier
    client_name Name of client
    Created_at Creation time
    Updated_at Last update time
    Created_by Submitter name
    1. Table#2 - endpoint_details
    Column Responsibility Comments
    endpoint_id Endpoint unique identifier
    client_id Which client is the owner of this endpoint
    workflow_graph DAG graph details In XML format.
    endpoint_details Endpoint file details in JSON format
    created_At Creation time
    updated_At Last update time
    created_by Submitter name
    1. Table#3 - object_execution
    Column Responsibility Comments
    object_id Object unique identifier
    execution_id Execution identifier
    endpoint_id Endpoint identifier, on which this execution is running
    status Status of this object’s execution
    error_message Reason of failure, if any
    processed_nodes List of Nodes that already processed in given execution
    current_executing_nodes List of Nodes that are currently under processing in given execution
    upcoming_nodes List of Nodes that will come to get processed.
    created_at Creation time
    updated_at Last updated time
    created_by Submitter name
    1. Table#4 - node_execution
    Column Responsibility Comments
    node_id Node unique identifier
    Execution_id Execution identifier, under which this node is running
    status Status of node
    error_message Reason of failure, if any
    created_at Creation time
    updated_at Last updated time
    created_by Submitter name