OmniSelect FileSQL

Guides
← Back to App
HomeGuides › Client-side data virtualization

What Is Client-Side Data Virtualization?

It is a mouthful, and the plain meaning is simple: query your data where it already is, without first copying it somewhere else. The “client-side” part means that somewhere else is nowhere at all — the query runs on your own machine.

Data virtualization, without the jargon

The traditional way to analyse data is to move it first. You extract it from wherever it lives, transform it into a common shape, and load it into a warehouse. Then you query the warehouse. That is ETL, and for large organisations with many sources it is the right answer.

Data virtualization inverts it. Instead of moving the data to the query, you take the query to the data. There is no copy, no pipeline and no warehouse — a layer presents the underlying sources as though they were tables, and translates your SQL against them on demand.

The advantages are the ones you would expect from not making copies: nothing goes stale, there is no sync to break, and you are not storing a second copy of sensitive data that now also needs protecting.

What “client-side” adds

Most virtualization products still run on a server. It might be yours or a vendor’s, but there is a machine in the middle that your data passes through.

Client-side means that machine does not exist. The virtualization layer is JavaScript and WebAssembly running in your browser tab. Your files are read from your own disk, turned into queryable tables in memory, and queried in place.

So there is no server to trust, no transmission to secure, no credentials to manage, and no retention policy to read — not because anyone promises to behave well, but because there is nowhere for the data to go.

How it compares

Load into a databaseServer-side virtualizationOnline converterClient-side (this)
Data leaves your machineYesYesYesNo
Setup requiredInstall, schema, importSubstantialNoneNone
Makes a second copyYesNoOn their serverNo
Full SQLYesYesNoQuery subset
Works offlineLocally, yesNoNoYes
Practical data sizeVery largeVery largeSmallUp to 50 MB per file

What it looks like in practice

Concretely: you drop orders.csv, customers.xlsx and regions.parquet onto a page. Three different formats, from three different systems, none of which know about each other. They become tables O, C and R, and you write:

SELECT R.region_name, COUNT(*) AS orders, SUM(O.amount) AS revenue
        FROM O
        JOIN C ON O.customer_id = C.customer_id
        JOIN R ON C.region_code = R.code
        GROUP BY R.region_name
        ORDER BY revenue DESC

A CSV, a spreadsheet and a columnar binary file joined in one statement, with no pipeline built and no data moved. That is data virtualization — it just happens to be running in a browser tab.

Three formats, one query, nothing copied anywhere.

Open the tool →

When it is the right tool

When it is not

It is a tool for the questions that fall between “open it in Excel” and “build a pipeline” — which, in most jobs, is a great many of them.

Related Guides