Skip to the page
Get started

Docs · Connecting to data

Running across many machines

One query, every till server in the estate, with rows labelled by where they came from.

A retail estate often runs the same database in every shop. The query is identical; only the machine changes.

A Collection is the list of machines. Each entry replaces the host in the connection above it — port, database, credentials and query stay shared — and the rows come back carrying a _source column naming the host they came from.

Available on SQL databases, Microsoft SQL Server and Oracle. Not on SQLite, Snowflake, REST or files.

#Three places the list can come from

Own list — kept on this data source. Fine for something one-off.

Library collection — kept in the library and shared: "Using Italy stores from the library — 42 host(s). Edit the list there and every data source using it follows." This is what you want for an estate, because the list changes and you do not want to edit it in nine places.

Business Locations — the hosts are read from a property on your places: "Hosts come from Business Locations: hostname on 42 places, read again at every run." This is the strongest option where the estate is already modelled, because opening a shop in Mosaic opens it for every Check at once.

Linking to Business Locations is set up on a System, not on a data source. A data source can show and drop an existing link but cannot create one.

#The host table

ColumnMeaning
OnWhether this host is included in a run
HostnameThe machine
Shown asWhat _source carries. Defaults to the hostname
From the fileEvery other column the imported list carried, read-only

Lists longer than eight fold up, showing "12 of 42 on".

Shown as is worth filling in. S014 in a result column tells a reader something; db-milano-01.retail.internal does not.

#Importing a list

Import list accepts .csv, .txt, .tsv, .json and .xlsx.

You say which column holds the machine, and which columns make the label. Then:

42 hosts. Every column is kept on each host, so a parameter can offer them by name.

That last part is the useful bit. Every column in your file is kept against each host, which means a parameter can show a friendly name while sending the code, and a Check can be narrowed to one shop by picking it from a list.

Apply with Replace the collection or Add to the collection.

#Saving a list to the library

A source with its own list offers Save to library, which stores the list and attaches this source to it in one step.

#What a run reports

Each host reports separately: answered, unreachable, or failed, with a row count. The run log's Hosts tab shows them all, summarised as "all 42 hosts answered" or "3 of 42 hosts skipped".

Test connection probes every member and reports the same way: "Connected in 340 ms — 2 of 20 hosts unreachable: db-milano, db-torino", naming at most three.

#A missing collection stops the source

If a data source is attached to a library collection that has since been deleted, it does not silently fall back to the single connection — it refuses to run, and says so:

This data source is attached to a library collection that no longer exists, so it will not run.

Deleting a collection that is in use warns you for the same reason.