For the complete documentation index, see llms.txt. This page is also available as Markdown.

One-endpoint / three-protocols model

How e6data exposes one authenticated endpoint speaking gRPC, HTTP REST, and the PostgreSQL wire protocol, with routing by cluster name.

Your tools connect over TLS to a single e6data endpoint. You name the cluster you want to query - you never address individual nodes - and e6data routes the request. Cluster upgrades and waking a suspended cluster happen automatically, with no change to your connection.

The three protocols

Protocol
What it is
Best for

Native driver (gRPC)

The e6data JDBC and ODBC drivers and the Python connector - the richest feature set

SQL IDEs, Java/Python apps, notebooks

HTTP REST v2

A language-agnostic, firewall-friendly HTTPS API - authenticate, submit, poll, page

Integrations in any language (REST API)

PostgreSQL wire

Point a stock PostgreSQL client straight at e6data, nothing to download

Tableau, pgAdmin, psql, DBeaver (PostgreSQL protocol)

All three are behind one endpoint and run against the same cluster.

Routing and concepts

  • Cluster name is the routing key - supplied as a header on gRPC/HTTP, or encoded in the database name (<CLUSTER>/<CATALOG>) on the Postgres path.

  • Catalog and schema select what you query.

  • TLS is always on. The first query to a suspended cluster auto-resumes it (~30–90 s) - HTTP requests wait for the resume; Postgres clients receive a 57P03 retry signal.

Operational notes

  • HTTP/2 is required for the gRPC and HTTP paths - use an HTTP/2-capable client and don't force curl's --http2 flag.

  • Upgrades are transparent - your connection string never changes.

  • On the HTTP path, reuse sessions via X-Session-Id while polling and paging, and call clearOrCancel when finished.

See also

Last updated

Was this helpful?