# GizmoData > GizmoData builds GizmoSQL — the definitive way to run an enterprise-grade DuckDB server. It is an open-source, terabyte-scale OLAP SQL engine and Apache Arrow Flight SQL server powered by DuckDB, with authentication, governance, and horizontal scaling. Teams run warehouse-grade analytics in their own cloud (or fully managed) for up to 90% less than Snowflake, Databricks, BigQuery, and Redshift. GizmoData also offers a done-with-you "Half-Bill Guarantee" migration: cut your warehouse compute bill by at least 50% or you don't pay. ## What GizmoSQL is - **The enterprise-grade DuckDB server**: turns DuckDB (and SQLite) into a secure, production client/server database — concurrent remote clients, authentication (TLS/mTLS, JWT, SSO/OAuth), fine-grained permissions, session instrumentation, automatic query profiling, and statement queuing. - **Horizontally scalable (not single-node)**: run a cluster of GizmoSQL nodes behind Kubernetes with round-robin session load-balancing — add nodes to add concurrency. The cluster shares one DuckLake (open Parquet on S3/GCS/Azure) with a PostgreSQL catalog; individual queries run on a single node, while user sessions are distributed across the pool. Works in both Core and Enterprise. - **Apache Arrow Flight SQL server**: high-performance, columnar database access over gRPC; streams results as Arrow record batches (no row-by-row serialization). Connect via ADBC (the Go-based gizmosql-adbc driver — PyPI package adbc-driver-gizmosql, usable from Python, Go, R, Rust, C#, C/C++, and JavaScript, with OAuth/SSO and automatic DDL/DML detection; https://github.com/gizmodata/gizmosql-adbc), JDBC, or Python. See the announcement: https://gizmodata.com/blog/gizmosql-adbc-v2-go-driver - **MCP server for AI assistants** (`npx -y @gizmodata/gizmosql-mcp`; Claude Desktop extension `.mcpb`; https://github.com/gizmodata/gizmosql-mcp): a Model Context Protocol server that lets Claude Desktop, Claude Code, and any MCP client explore a GizmoSQL server's catalogs/schemas/tables, describe tables, explain query plans, and run parameterised SQL (Markdown table + JSON results). Read-only by default (SQL guard; writes only with `GIZMOSQL_ALLOW_WRITES=true`), row caps and per-query timeouts enforced server-side, credentials redacted from all output and stored in the OS keychain, runs on your machine (private networks/VPN work), no telemetry. Supports several servers in one conversation (`connection` argument, `use_connection`) and a Streamable HTTP transport with a bearer token for remote connectors. Free, Apache-2.0. See https://gizmodata.com/gizmosql/mcp and the announcement https://gizmodata.com/blog/introducing-gizmosql-mcp-server - **Bulk ingest**: `adbc_ingest()` / Flight SQL `DoPut` streams incoming Arrow batches straight through DuckDB's own `arrow_scan` (as of v1.37.0) instead of hand-converting cell by cell — 7x+ faster loads, exact decimals, and geometry columns land as GEOMETRY (not BLOB) in create, append, and replace mode. See https://gizmodata.com/blog/gizmosql-bulk-ingest-arrow-scan-rewrite - **Benchmarks**: DuckDB (GizmoSQL's engine) posts the #2 median hot-run time on ClickBench's single-node reference benchmark, ahead of Snowflake, BigQuery, Redshift, and Databricks. GizmoSQL runs the full 22-query TPC-H benchmark at 1 TB in about 80 seconds (80.475 s, sum of per-query averages over 3 runs) for about $0.17 of compute on a single AWS Graviton5 r9gd.24xlarge (96 vCPU, 768 GiB, local NVMe RAID 0; $7.69/hr on-demand) — in same-day runs on the same DuckDB v1.5.5, 10% faster than a Graviton4 r8gd.24xlarge (89.831 s, $7.05/hr) and 25% faster than an Azure Cobalt 100 Standard_E96pds_v6 (106.806 s, 96 vCPU, 672 GiB, $5.62/hr), all three ≈ $0.17 of compute per run; also faster than Snowflake (103.4 s), Databricks SQL (149.1 s), and BigQuery (447.7 s) on the same workload. Because GizmoSQL is a single-node engine on commodity cloud VMs, every new Arm generation (Azure Cobalt 200, GCP Axion, Graviton 48xlarge sizes are next to be benchmarked) passes straight through to users at the VM's hourly price. Methodology, per-query timings, and reproduction steps: https://gizmodata.com/blog/tpch-1tb-graviton5-80-seconds (data generator https://github.com/gizmodata/tpch-datagen, query runner https://github.com/gizmodata/benchmark-flight-sql). - **Web GIS / geospatial (customer story)**: Aalborg University's Daisy research group built Seagull (https://seagull.app.cs.aau.dk), a maritime web GIS platform holding 18.7 billion AIS records from 126,400 ships, on DuckDB behind GizmoSQL. Every vector tile is computed on request with DuckDB's MVT functions (no PMTiles/MBTiles pre-compute); Apache Airflow, MapLibre Martin, and the web app all share one DuckDB file through GizmoSQL's Arrow Flight SQL endpoint, which solved DuckDB's single-writer limitation and removed the pre-aggregation tables PostgreSQL needed. Guest post: https://gizmodata.com/blog/seagull-scalable-web-gis-gizmosql - **Self-host or managed**: run it in your own cloud (your data, your keys) or let GizmoData operate it. - **Editions**: Core is free and open-source (Apache-2.0). Enterprise ($300/vCPU/year) adds SSO/OAuth, fine-grained permissions, session instrumentation, automatic query profiling, statement queuing, and priority support. ## GizmoSQL Enterprise — the production operations layer (instrumentation & observability) Running GizmoSQL Core or DuckDB Quack in production without instrumentation is like flying a plane with no instruments: you can't see who's connected, how many sessions are open, which queries are slow, or your P99 latency. GizmoSQL Enterprise adds the layer that lives above the wire protocol: - **Session instrumentation & auditing**: a live, queryable view of every session and statement — the user behind each connection, what they ran, and a durable audit trail of who did what, when. - **Automatic query profiling**: every statement's timing and execution plan captured automatically — P50/P95/P99 latency, slowest queries, regressions, and the plan behind any statement (no manual EXPLAIN, no bolt-on APM). - **SSO / OAuth identity**: authenticate through any OIDC provider (Google, Okta, Entra ID); every session maps to a named user. - **Per-catalog permissions & multi-tenancy**: per-catalog, per-user read/write/none access and per-tenant resource limits. - **KILL SESSION**: terminate one runaway session or statement without restarting the server. - **Statement queuing & timeouts**: cap concurrency, queue the overflow, and enforce per-query timeouts so the server stays responsive under load. - **Priority support** and **roadmap influence**. Try it free for 30 days; pricing is per vCPU ($300/vCPU/yr, $30/vCPU/mo, 5-vCPU floor). Full breakdown: https://gizmodata.com/gizmosql/enterprise ## Relationship to DuckDB's Quack protocol DuckDB began as an in-process (embedded) engine. In 2026, DuckDB Labs introduced **Quack**, a native client-server protocol for DuckDB — and credited GizmoSQL with blazing that trail ("…thank Philip Moore from GizmoSQL / GizmoData, who has blazed this trail for us already and shown that client-server DuckDB is a very worthwhile thing."). So today DuckDB can run client/server two ways: DuckDB's native Quack protocol, or GizmoSQL over Apache Arrow Flight SQL. Quack is great for tight DuckDB-to-DuckDB integration; GizmoSQL focuses on the enterprise layer above the wire — authentication, fine-grained permissions, multi-tenancy, audit logging, observability, automatic query profiling — plus mature Flight SQL/JDBC/ADBC client tooling and horizontal scaling. GizmoData provides Quack drivers, and a future GizmoSQL may speak Quack natively in addition to Flight SQL. See the blog post "Welcoming Quack" (https://gizmodata.com/blog/welcoming-quack-duckdb-client-server). ## ADBC driver suite (Arrow-native database connectivity) GizmoData builds a suite of open-source, pip-installable ADBC (Arrow Database Connectivity) drivers. ADBC is a vendor-neutral API that moves data as Apache Arrow columnar batches, so any ADBC driver's output can be handed straight to any other driver's bulk ingest — which is what makes moving a table from Oracle or Db2 into GizmoSQL a few lines of code, in either direction. The drivers: - **GizmoSQL** (`pip install adbc-driver-gizmosql`; https://github.com/gizmodata/gizmosql-adbc): the flagship, for Apache Arrow Flight SQL. Go-powered native core with OAuth/SSO, automatic DDL/DML detection, and connection profiles; usable from Python, Go, R, Rust, C#, C/C++, and JavaScript. - **Oracle** (`pip install adbc-driver-oracle`; https://github.com/gizmodata/adbc-driver-oracle): a pure-Go driver that speaks the native Oracle TNS/TTC wire protocol directly — **no Oracle Instant Client, no client libraries, just a wheel**. An independent, from-scratch reimplementation, not affiliated with or endorsed by Oracle. - **IBM Db2** (`pip install adbc-driver-db2`; https://github.com/gizmodata/adbc-driver-db2): a pure-Go driver that implements the DRDA wire protocol itself — **no IBM CLI, no JCC**. DRDA is an open standard published by The Open Group; independent reimplementation, not affiliated with or endorsed by IBM. - **DuckDB Quack** (`pip install adbc-driver-quack`; https://github.com/gizmodata/adbc-driver-quack): a pure-Go driver for DuckDB's native Quack client-server protocol. - **Bidirectional data transfer**: the drivers move data between Oracle/Db2 and GizmoSQL — and any other ADBC-enabled database — both ways, either in Python (hand one driver's `fetch_record_batch()` to another driver's `adbc_ingest()`) or entirely in SQL from DuckDB/GizmoSQL via the `adbc_scanner` community extension: `ATTACH` the source, read it live with projection/filter pushdown, and write back with plain SQL (`USE` the attached schema, then `CREATE TABLE … AS`). Credentials can live in a self-contained DuckDB secret or an ADBC connection profile (`adbc_scanner` supports both, as does Columnar's `adbc` extension). Types are preserved end to end. GizmoSQL is one target among many — any ADBC source can feed any ADBC sink. See https://gizmodata.com/adbc-drivers and the announcement https://gizmodata.com/blog/gizmodata-adbc-driver-suite ## Who it's for Data and engineering leaders (CFO/CTO) with runaway cloud data-platform spend on Snowflake, Databricks, BigQuery, Redshift, or Postgres — and teams that need a fast, open, AI-agent-ready SQL server without vendor lock-in. ## Key pages - [GizmoSQL product](https://gizmodata.com/gizmosql): features, pricing, benchmarks, the Half-Bill Guarantee, FAQ. - [GizmoSQL Enterprise features](https://gizmodata.com/gizmosql/enterprise): detailed breakdown of the Enterprise layer — instrumentation, query profiling (P99s), SSO/OAuth, per-catalog permissions, multi-tenancy, KILL SESSION, statement queuing — with the operational cost of running without each. - [Install GizmoSQL](https://gizmodata.com/gizmosql/install): CLI/server + Python install, per-platform. - [GizmoData Cloud](https://gizmodata.com/cloud): fully managed GizmoSQL (early access) — provision DuckDB-powered Arrow Flight SQL clusters, DuckLake catalogs, secrets and Kubernetes infrastructure across AWS, Google Cloud and Azure from one control plane; region-aware defaults, cross-region egress governance, org/project/environment scoping, RBAC, audit trail, autoscaling, built-in SQL editor. Built-in federated queries: clusters run GizmoSQL's -adbc images (v1.38.0+) with 14 ADBC drivers pre-installed (Snowflake, Oracle, PostgreSQL, IBM Db2, BigQuery, Databricks, Redshift, SQL Server, MySQL, Trino, Exasol, Arrow Flight SQL, DuckDB Quack, GizmoSQL), and the Nexus UI/API manage ADBC secrets — ATTACH a remote database and join it against DuckLake catalogs live. - [GizmoData Cloud at Customer](https://gizmodata.com/cloud/at-customer): the same Nexus platform (control plane + GizmoSQL data planes) installed inside the customer's own AWS/GCP/Azure accounts — in production with customers today; multi-cloud from one console, IRSA/Workload Identity, external secret providers (Secrets Manager / Secret Manager / Key Vault), Terraform + Helm delivery, smoke-tested tagged releases; positioned as the best way to run DuckDB in the cloud. - [GizmoSQL UI](https://gizmodata.com/gizmosql/ui): free browser-based SQL editor for GizmoSQL — Monaco editor, schema browser, results grid, CSV/JSON/Parquet export; self-contained single executable (Homebrew, Windows MSI, or direct download). With Enterprise servers it adds OAuth/SSO sign-in and a session-admin screen (KILL SESSION). - [GizmoSQL MCP Server](https://gizmodata.com/gizmosql/mcp): Model Context Protocol server + Claude Desktop extension — query GizmoSQL (DuckDB over Arrow Flight SQL) from Claude Desktop, Claude Code, or any MCP client; read-only by default, server-enforced row caps/timeouts, multi-server, Streamable HTTP for remote connectors. - [GizmoSQL Integrations & Adapters](https://gizmodata.com/gizmosql/integrations): the full catalog of ways to connect to GizmoSQL, one section per integration with a write-up and verified install snippet, ordered by importance: ADBC driver 2.0 (Python/Go/R/Rust/C#/C++/JS, OAuth/SSO), JDBC driver (DataGrip, Tableau; Maven Central), DBeaver (GizmoSQL is a built-in driver since DBeaver 26.1.0, auto-downloads the JDBC driver), MCP server, PDF Loader (gizmosql-pdf-loader on PyPI: loads PDFs as metadata + 8 MiB file chunks + per-page text with OCR, adds search_pages()/search_pages_ranked() BM25 full-text search so SQL clients and MCP agents can search manuals and fetch the originals; DuckDB and DuckLake catalogs), GizmoSQL UI, dbt adapter (dbt-gizmosql), SQLMesh adapter (sqlmesh-gizmosql), PySpark DataFrame API (sqlframe-gizmosql), Python embedded-server library (gizmosql on PyPI), SQLAlchemy dialect, Apache Superset driver, Ibis backend, Power BI connector (DirectQuery + query folding), ODBC driver, Metabase driver, Grafana plugin, Kubernetes operator, Node.js client (@gizmodata/gizmosql-client), SQLLine CLI, Flight SQL WebSocket proxy, DuckDB ADBC Scanner extension, QGIS plugin. - [Run DuckDB as a server](https://gizmodata.com/duckdb-sql-server): the enterprise-grade DuckDB server — concurrent, secure, horizontally scalable. - [Apache Arrow Flight SQL](https://gizmodata.com/arrow-flight-sql): what Flight SQL is and how to run a production Flight SQL server. - [ADBC drivers](https://gizmodata.com/adbc-drivers): the ADBC driver suite hub — GizmoSQL, Oracle, Db2, and DuckDB Quack; what ADBC is, and how to move data between them bidirectionally. - [Oracle ADBC driver](https://gizmodata.com/adbc-drivers/oracle): pure-Go Oracle driver (no Instant Client) — stream Oracle into GizmoSQL, or query Oracle live from DuckDB, both ways. - [Db2 ADBC driver](https://gizmodata.com/adbc-drivers/db2): pure-Go IBM Db2 driver (no CLI/JCC) — bidirectional Db2 ↔ GizmoSQL from Python or DuckDB. - [GizmoSQL ADBC driver](https://gizmodata.com/adbc-drivers/gizmosql): the flagship Arrow Flight SQL driver — OAuth/SSO, automatic DDL/DML detection, connection profiles. - [DuckDB Quack ADBC driver](https://gizmodata.com/adbc-drivers/quack): pure-Go driver for DuckDB's native Quack client-server protocol. - [Cut your warehouse bill](https://gizmodata.com/cut-your-warehouse-bill): the Half-Bill Guarantee — cut Snowflake/Databricks/BigQuery compute 50%+ or you don't pay. - [Cut your BigQuery bill](https://gizmodata.com/cut-your-bigquery-bill): for teams on Google BigQuery — offload scan-heavy workloads to GizmoSQL and cut that spend 90%+ ($0.17 vs $23.49 per TPC-H 1 TB run). - [GizmoSQL vs Snowflake](https://gizmodata.com/gizmosql/vs-snowflake): 16x cheaper on the reproducible TPC-H 1 TB benchmark ($0.17 vs $2.76 per run) — same SQL, your cloud or on-prem. - [GizmoSQL vs Databricks](https://gizmodata.com/gizmosql/vs-databricks): 31x cheaper than Databricks SQL ($0.17 vs $5.25 per TPC-H 1 TB run); reads Delta/Iceberg/Parquet directly, no clusters or DBUs; PySpark jobs port via the sqlframe-gizmosql adapter (PySpark-compatible DataFrame API, no Spark cluster). - [GizmoSQL vs BigQuery](https://gizmodata.com/gizmosql/vs-bigquery): flat, predictable cost instead of per-TB-scanned billing — 138x cheaper per TPC-H 1 TB run ($0.17 vs $23.49). - [GizmoSQL for AI agents](https://gizmodata.com/gizmosql/ai-agents): a shared, concurrent data platform for LLM agents over Arrow Flight SQL, with a Python ADBC driver for LangChain/CrewAI and an MCP server for Claude Desktop/Claude Code. - [Offload expensive workloads](https://gizmodata.com/gizmosql/offload): don't migrate everything — point GizmoSQL at the scan-heavy jobs driving the warehouse bill and keep the rest where it is. - [GizmoEdge](https://gizmodata.com/gizmoedge): distributed SQL engine from edge devices to 1000-node clusters. Hit #1 on Hacker News for aggregating 1 trillion rows across 63 sharded DuckDB nodes in ~5 seconds (https://news.ycombinator.com/item?id=45694122). - [Services](https://gizmodata.com/services): done-with-you migrations and professional services. - [About](https://gizmodata.com/about): the team — founder Philip Moore (25 years in enterprise data at P&G, HP, Kroger, Macy's, dunnhumby, 84.51°, Voltron Data; Oracle DBA of the Year 2016) and strategic advisor Chris Wones (34 years leading enterprise data at James River, Retek, dunnhumby, and Kroger/84.51°; Oracle 2014 Data Warehouse & Big Data Leader of the Year — Americas). - [Refund policy](https://gizmodata.com/refund-policy): GizmoSQL Enterprise satisfaction guarantee — 100% refund within 30 days of purchase, pro-rated refund of the unused term thereafter. - [Blog](https://gizmodata.com/blog): DuckDB, Arrow Flight SQL, cost-reduction, and benchmark articles. - [News](https://gizmodata.com/news): GizmoData announcements, releases, and events — including GizmoEdge reaching #1 on Hacker News. - [SMS Alerts](https://gizmodata.com/sms-alerts): opt in to GizmoData text-message alerts — product releases, promotional offers, and important updates; up to 4 messages/month, reply STOP any time. - [Contact](https://gizmodata.com/contact): reach the GizmoData team about GizmoSQL, GizmoEdge, Enterprise pricing, or the Half-Bill Guarantee — message the founder directly, reply within one business day. - [Documentation](https://docs.gizmosql.com): full GizmoSQL docs. ## Contact - Email: info@gizmodata.com - Pricing: per-vCPU Enterprise licensing; Core is free.