> For the complete documentation index, see [llms.txt](https://docs.e6data.com/query-engine/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.e6data.com/query-engine/get-started/architecture/high-level-architecture.md).

# High-level Architecture

This page provides a high-level overview of e6 query engine architecture. It introduces the key constructs of e6data query engine and describes the deployment models we support.

![e6data query engine block diagram](https://256648299-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz2BYVXehgdnk8dbeZoW5%2Fuploads%2Fgit-blob-d9a1f09cd3a4a569d5e82116c9d419ed0e40cc5c%2Fe6%20Query%20Engine%20Block%20Diagram.jpg?alt=media)

## Platform layers

The platform is organized into two planes and your data:

### Control Plane

The e6data Console where you manage your account, workspaces, billing, and global access control. This is what you see when you sign in at the e6data URL. The Control Plane is shared across all your workspaces - it doesn't process queries or touch your data.

| Component                | Purpose                                      |
| ------------------------ | -------------------------------------------- |
| Organization and account | Tenancy, membership, and billing             |
| Workspace management     | Create, open, disable, and delete workspaces |
| Global access control    | Users, groups, roles, and SSO                |
| Releases and monitoring  | Version management and platform telemetry    |

### Compute Plane

The workspace-scoped environment where catalogs, clusters, and queries live. You enter a Compute Plane by opening a workspace from the Control Plane. Each workspace has its own Compute Plane, which includes the SQL Editor, the catalogs you've connected, the clusters you've created, Run History, Access Control, Service Accounts, and Settings.

| Component   | Purpose                                                                                                             |
| ----------- | ------------------------------------------------------------------------------------------------------------------- |
| Catalogs    | Connections to your metastores ([Catalogs](/query-engine/guides/catalogs.md))                                       |
| Clusters    | The compute that runs queries ([Clusters](/query-engine/guides/clusters.md))                                        |
| SQL Editor  | Write and run queries in the browser ([Query editor](/query-engine/guides/querying/query-editor.md))                |
| Run History | A searchable log of every query ([Query history](/query-engine/guides/querying/query-history-and-saved-queries.md)) |
| Settings    | Access control, version upgrades, observability, and connectivity                                                   |

### Your data

Stays in your cloud account. e6data reads data directly from S3, ADLS Gen2, or your Iceberg/Hive metastore. It never copies your data into a separate store.

## Core objects

### Account

An e6data **account** is the top-level entity for handling all your workloads - billing, support, and tenant membership are scoped to the account.

### Tenant

Within an account, a **tenant** is your organization. Multiple users belong to one tenant, and resources (workspaces, catalogs, clusters) belong to a tenant.

### [Workspace](/query-engine/guides/workspaces.md)

A **workspace** is an isolated environment for a team or project. It has its own Compute Plane, catalogs, clusters, and access control. You can have one workspace or many - separate workspaces for `prod` vs. `dev`, or per business unit, are both common patterns.

When you create a workspace, you choose a **Workspace Type** (Serverless or In Your VPC), a **Cloud Provider** (AWS or Azure), and a **Region** where your data resides.

### [Cluster](/query-engine/guides/clusters.md)

A **cluster** is the compute that runs your queries inside a workspace. Each cluster has a **Cluster Runtime (CRT)** version, a **Cluster Size** (for example, XS, S, M), and optional **Autoscaling**, **QPS-based scaling**, and **Auto-Suspension** configuration. Clusters can be connected to one or more catalogs.

### [Catalog](/query-engine/guides/catalogs.md)

A **catalog** connects e6data to your metastore so it can discover databases, tables, and columns. Supported catalog types: Hive Metastore, AWS Glue, Databricks Unity, Microsoft Fabric (OneLake), Apache Polaris, Iceberg REST Catalog, and AWS S3 Tables.

## Querying

### [SQL Editor](/query-engine/guides/querying/query-editor.md)

The native SQL console inside the Compute Plane where you write and run queries.

### [Query history](/query-engine/guides/querying/query-history-and-saved-queries.md)

A searchable log of all queries run in a workspace, with timing, status, user, and query text. Useful for audit, debugging, and cost attribution.

## e6data Deployment Flavors

e6data offers two deployment models. In both, the **Control Plane** (workspace management, access control, monitoring, releases) is hosted by e6data, and **your data always stays in your cloud account** - only the **Compute Plane** differs.

|                                               | Serverless                      | In Your VPC                                        |
| --------------------------------------------- | ------------------------------- | -------------------------------------------------- |
| Compute Plane (clusters, planners, executors) | Runs in e6data's cloud          | Runs in **your** Kubernetes cluster (EKS, AKS)     |
| Catalog metadata, query history               | e6data                          | Your cluster + your cloud storage                  |
| Your data                                     | Your cloud account, never moved | Your cloud account, never moved                    |
| Query traffic                                 | To e6data's managed compute     | Stays entirely within your network                 |
| You manage                                    | Nothing - fully managed         | The Kubernetes cluster, IAM, and storage lifecycle |

#### **Serverless Model**

![e6data Serverless deployment block diagram](https://256648299-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz2BYVXehgdnk8dbeZoW5%2Fuploads%2Fgit-blob-cf6fe1c0d431f2145a2b268ba8d89ad36e68ce3a%2Fe6%20Query%20Engine%20Block%20Diagram%20\(1\).jpg?alt=media)

e6data fully manages the Compute Plane in its own cloud, eliminating the need to operate Kubernetes or infrastructure. Secure, short-lived cloud identity federation provides access to your storage without storing long-lived credentials.

**Choose Serverless when** you want the fastest start, don't need to host compute yourself, and want e6data to handle scaling and upgrades. **Less ideal when** compliance mandates compute inside your VPC, you have strict data-locality needs, or you're air-gapped.

Set up: [AWS Serverless](/query-engine/guides/deployment/aws-serverless.md) · [Azure Serverless](/query-engine/guides/deployment/azure-serverless.md).

#### **In Your VPC - Cloud prem Model**

![e6data In Your VPC deployment block diagram](https://256648299-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fz2BYVXehgdnk8dbeZoW5%2Fuploads%2Fgit-blob-902e515ca4b030ea78f53f38a5e4f163908d33b5%2Fe6%20Query%20Engine%20Block%20Diagram%20\(2\).jpg?alt=media)

The Compute Plane runs within your Kubernetes cluster, ensuring query traffic remains inside your private network. You manage the underlying infrastructure and cloud IAM, while e6data manages the platform software, releases, and workspace lifecycle.

**Choose In Your VPC when** security or compliance requires compute inside your VPC, you're in a regulated industry, or your data sources have no public routing. **Less ideal when** you want the fastest start or don't have a platform team to run the cluster.

Set up: [AWS In-VPC / CloudPrem](/query-engine/guides/deployment/aws-in-vpc.md) · [Azure In-VPC / CloudPrem](/query-engine/guides/deployment/azure-in-vpc.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.e6data.com/query-engine/get-started/architecture/high-level-architecture.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
