1
2 Comments

Database backend service. Estimate, please!

Hello!
I have written a database service that implements a bidirectional search for links between any two vertices of a multipartite graph.
Functionally, the service is a package of procedures, a queue table with an automatic procedure for processing messages in the queue, and two Oracle jobs launched by the scheduler. As well as a table to save the result.

In details:
A package of procedures starts the search for routes, fixes the moment when the search ends and saves result in JSON format in the final table.

Two Oracle Jobs - one for searching from start to end, and the other vice versa - from end to start go through the graph level by level, placing intermediate routes in the queue table. When the graph passes to a given search depth, each job sends a message to the procedure package that called these jobs to terminate the job.

The automatic message processing routine searches the queue table for common nodes and saves the resulting routes in the final table.

What you need to start the service at a minimum:
1 Select a schema to install into the database;
2 Grant the user of this schema the necessary rights to install the above listed database objects into the selected schema;
4 Submit to the input of the main procedure of the package the name of the table with the initial data, the names of two fields in this table, which denote the edge of the graph,
as well as identifiers of the start and end nodes of the search.

The service is written for Oracle and Postgres.

Please rate the idea, ask questions. Your opinion about the approximate cost of this service is also very interesting.

on January 3, 2023
  1. 1

    The algorithm is good wherever there is a hierarchical data structure, it has many possible applications.
    Give your assessment, please, I'm interested in your opinion.

  2. 1

    This is a multipartite graph.

    Multipartite graph

  3. 1

    This comment was deleted 4 years ago

  4. 1

    This comment was deleted 4 years ago