Open Sky Query Architecture
This is based heavily up the initial SkyQuery architecture.
There are three major components.
You are currently looking at the portal web site. This is an ASPX application
built on the SOAP WebServices provided by the portal. Any thing you do on this site may be done programatically using SOAP.
The individual databases which may be on different machines are exposed through the OpenSkyNode WebServices interface.
This is a SOAP interface which takes ADQL (Astronomical Data Query Language) and returns data.
Nodes may be BASIC or FULL. Only Full nodes may participate in a XMatch operation.
All nodes must be registered in the Virtual Observatory Registry. The registry is itself distributed and
has many implementations. The portal uses the STScI/JHU registry
The diagram below depicts the architecture of OpenSkyQuery.
The Plan Execution
For a distributed query the Portal makes a plan by first asking each node for its estimate of
data for the given query (Performance Queries). The nodes are ordered based on this information - the one with least data is the first to execute or the node on the bottom of the plan.
The ExecPlan is next send to the first node in the plan (the one which will execute last) which passes is recursively to the other nodes. the data is passed back from each node and XMatched.
Finally the result is passed to the portal.
This is depicted below.