Query Cloud

One SQL statement across namespaces, servers and databases

Join data from several IRIS namespaces, several servers, and even SQL Server, Access or CSV files — client-side, with nothing installed on any server.

Unique to SQL DATA LENS

  • One statement across namespaces and servers
  • Nothing installed on any server
  • No special privileges needed
  • IRIS joined to SQL Server, Access or CSV
  • Local processing only

The question is nearly always the same shape: are these two things the same? The patient IDs in the clinical namespace and the ones in the billing namespace. The article numbers in production and the ones in the test system someone restored last month. The codes in IRIS and the codes in the CSV file a supplier emailed. It is a five-minute question and a join would answer it — except the two tables are in different namespaces, or on different servers, or in different products, and IRIS will not join across any of those.

The usual answers are all server-side, and they all need someone's permission. Query Cloud is the client-side answer.

Your sources — unchanged, nothing installed on any of them

  • InterSystems IRIS Server A · namespace CLINICAL clinical_Patient
  • InterSystems IRIS Server B · namespace BILLING billing_Invoice
  • Microsoft SQL Server reporting · schema dbo dbo_Article
  • CSV file on your desktop supplier_csv

Your workstation

Query Cloud — a local virtual database

  • Catalog — connection, schema and table name per registered table. No rows are copied when you add one.
  • Query engine — joins, filters and aggregates the fetched rows in memory on this machine.

No row is sent to any public cloud service, and no server is asked for a privilege you do not already have.

One statement, one result set

PatientID LastName InvoiceNo Amount
10432Meier2026-08711 240.00
10432Meier2026-09023 118.50
10877Sarközy2026-09131 004.90
Four sources stay where they are; the join happens in SQL DATA LENS on your machine.

A local virtual database

Query Cloud behaves like a local virtual database. Inside it you write ordinary SQL — joins, aggregates, subqueries — against tables that physically live in different places, as if they were all in the same namespace. You do not move data into a common location first, and you do not build a staging schema for a question you will ask once.

The name is worth being clear about, because "cloud" here means the opposite of what it usually does. No data is sent to any public cloud service. Every query and every row is processed locally by SQL DATA LENS on your workstation. The only network traffic is the same traffic your normal connections already make: SQL DATA LENS reading from each source server.

Adding a table takes one menu item

Go to a source table anywhere in the Server Navigator and choose Add table to query cloud…. Repeat for each table you want to combine. That is the entire setup.

No data is copied when you add a table. Query Cloud stores only the information about where that table comes from — the connection, the schema and the table name. Rows are read when a statement is executed, and only the rows that statement needs.

Query Cloud table list showing four tables registered from different sources — two IRIS namespaces on different servers, one SQL Server table and one CSV file — each row naming its source, namespace and source schema, with the data of one registered table in the grid below
Four sources, one statement. The join happens on your machine.

Once registered, the tables are addressed like any other:

SELECT p.PatientID, p.LastName, b.InvoiceNo, b.Amount
FROM   clinical_Patient  p
JOIN   billing_Invoice   b ON b.PatientRef = p.PatientID
LEFT   JOIN supplier_csv s ON s.Code = b.ArticleCode
WHERE  b.Amount > 1000
ORDER  BY b.Amount DESC

Here clinical_Patient and billing_Invoice could be on two IRIS servers in two data centres, and supplier_csv could be a file on your desktop.

What sources you can mix

  • Several namespaces on one server — the most common case, and the one IRIS makes hardest without server-side configuration.
  • Several IRIS or Caché servers — production against test, one site against another, a current instance against a restored backup.
  • Different database products — Microsoft SQL Server, PostgreSQL, MariaDB, SQLite, H2, Access, Trino and the rest of the supported systems, joined to IRIS in the same statement.
  • Flat files — a CSV file, a folder of CSV files or a ZIP archive treated as tables. Reconciling an IRIS table against a spreadsheet a supplier sent is the single most requested use of this feature.

How this differs from the server-side options

There are three established ways to query across sources in this ecosystem. They are all good techniques and it is worth knowing where each one wins.

Linked servers

Microsoft SQL Server, Microsoft Access, Sybase and others can link a foreign table into the current server instance, after which you write queries as if the table were stored locally. It avoids loading data somewhere else and it works well — for the products that have it.

The IRIS and Caché SQL Gateway

The SQL Gateway gives IRIS access to external databases over JDBC or ODBC, which is the same idea as a linked server. You create a gateway connection, then use a wizard in the Management Portal to link a table or view in an ODBC- or JDBC-compliant database: a class is generated that redirects all calls to the external table, and from then on IRIS can query it.

The constraints are real, though. The user must be authorised to use the SQL Gateway, to create connections and to create classes and tables. And every table in the FROM clause of a single query must come from the same data source — queries that join heterogeneous sources are not permitted. That rules out precisely the reconciliation queries you wanted it for. SQL DATA LENS can list, create and delete server-side SQL Gateway connections for you, including creating one from a connection you already have configured locally — see the administration views.

Mapped tables (Caché only)

The mapped-tables feature, inherited from Caché Monitor, is something like the SQL Gateway and the Caché Link Table wizard combined: it maps the data storage of a class or table into another namespace, so you can query it alongside local tables as though it lived there.

Two caveats. It works for Caché only, and it needs configuring on the server. More importantly, treat delete operations on a mapped table with great care: the original table and the mapped table share the same data storage, so a delete through the mapping deletes the real data.

The honest trade-off

What the three server-side techniques share is that the database server does the work. The query optimiser picks a plan, the join runs where the data lives, and only the result crosses the wire to the client. From a pure performance standpoint that is the better architecture, and for a query that runs every night against millions of rows it is the right choice.

But if what you want is an ad hoc query across a few databases for analysis, all three make you do the configuration first — and get someone to grant you the rights to do it. With Query Cloud you can combine data from every source you already have access to. A working connection in SQL DATA LENS is the only requirement: no special privileges, and nothing whatsoever installed on the server side.

The cost is the mirror image. All the work happens on the client, so your workstation supplies the memory and CPU. That makes Query Cloud a poor choice for joining two tables of tens of millions of rows, and an excellent one for fast ad hoc analysis across systems without moving any data. Narrow the source tables with a WHERE clause where you can, and use max-rows limits while you are still working out what the query should say.

When the answer is "these rows need to be over there permanently", the right tool is not a join at all — it is the Data Pumper, which copies data from one table to another between namespaces, servers and different database systems without an export-and-import detour.

Getting started with it

Register the two connections you want to compare, add one table from each, and write the join in the SQL editor as though they had always been neighbours. Nothing changes on either server, so there is no cleanup afterwards and no reason to ask anyone's approval to try it. Query Cloud is available in every edition — see pricing for which databases the free edition covers — and it needs no server-side footprint at all.

See your IRIS data the way it actually is

Download, unzip, connect. Your first namespace is on screen in about three minutes.

Windows 10, 11 and Windows Server (64-bit) · ~140 MB · version 3.24 · full 30-day Pro trial included