Skip to content

Support additional database types: Cloudflare D1, chDB, SQLCipher, R2 SQL, Workers Analytics Engine #95

@Blankll

Description

@Blankll

Summary

Extend SQLKit to support additional database types beyond the current 55-database lineup. Below is a comprehensive gap analysis comparing SQLKit's current support against DBeaver (the industry standard SQL client).


Current SQLKit Database Support (55 databases)

Strategy Databases
Native (Rust) PostgreSQL, MySQL, SQL Server, SQLite, DuckDB, ClickHouse, Firebird, Oracle, rqlite, Turso
PG-wire compatible CockroachDB, Redshift, YugabyteDB, TimescaleDB, QuestDB, Vastbase
MySQL-wire compatible MariaDB, TiDB, OceanBase, StarRocks, Databend, Manticore Search
JDBC bridge DB2, H2, Snowflake, TDengine, Hive, Databricks, SAP HANA, Teradata, Vertica, Exasol, BigQuery, Informix, Cassandra, Derby, InterSystems IRIS, Kylin, KingbaseES, GBase 8s, DM8, GaussDB, PolarDB, TDSQL, openGauss, Doris, GoldenDB, HighGo, UXDB, YashanDB, Xugudb, SelectDB, Microsoft Access
HTTP bridge Trino, Presto

DBeaver Coverage Gap Analysis

DBeaver supports ~100+ relational SQL databases. The following are SQL databases DBeaver supports that SQLKit does not yet cover.

Tier 1 — High Priority (established, significant user base)

Database Type Solution Notes
SQLCipher Encrypted SQLite Native (Rust) Trivial SQLite feature flag — rusqlite with bundled-sqlcipher feature, existing adapter fully reusable
Cloudflare D1 Edge SQLite (HTTP) HTTP bridge Reuse SQLite adapter with HTTP transport layer
chDB Embedded ClickHouse Native (Rust) Bundle C library, reuse ClickHouse SQL dialect
Cloudflare R2 SQL S3 SQL layer (HTTP) HTTP bridge HTTP SQL adapter similar to Presto/Trino pattern
Workers Analytics Engine Time-series SQL (HTTP) HTTP bridge HTTP adapter with time-series query support
Greenplum / Cloudberry / Greengage MPP analytics (PG-based) PG-wire Near-trivial connection template
SingleStore (MemSQL) Distributed real-time SQL MySQL-wire Near-trivial connection template
Google Cloud Spanner Cloud distributed SQL JDBC bridge Needs JDBC driver
EnterpriseDB (EDB) PostgreSQL enterprise PG-wire Near-trivial connection template
AWS Athena Serverless S3 SQL HTTP bridge Trino/Presto-compatible HTTP API

Tier 2 — Medium Priority (growing adoption, reasonable user demand)

Database Type Solution Notes
CrateDB Distributed real-time SQL PG-wire PostgreSQL wire protocol compatible
Apache Kyuubi Thrift SQL gateway JDBC bridge JDBC driver available
Apache Drill Schema-free SQL JDBC bridge JDBC driver available
Apache Phoenix HBase SQL wrapper JDBC bridge JDBC driver available
Apache Impala Hadoop SQL engine JDBC bridge JDBC driver available
Babelfish PG with SQL Server protocol PG-wire PG-wire compatible
Materialize Streaming materialized SQL PG-wire PG-wire compatible
RisingWave Streaming SQL PG-wire PG-wire compatible
Dremio Lakehouse SQL engine JDBC bridge JDBC driver available
Apache Ignite Distributed SQL + caching JDBC bridge JDBC driver available
Google AlloyDB Cloud PostgreSQL fork PG-wire PG-wire compatible
Cloud SQL (PG/MySQL/MS) Google managed SQL PG-wire / MySQL-wire / JDBC bridge PG-wire for PG, MySQL-wire for MySQL, JDBC for SQL Server

Tier 3 — Low Priority (niche, legacy, or limited demand)

Database Type Solution Notes
HSQLDB (HyperSQL) Java embedded RDBMS JDBC bridge Similar to H2
H2GIS Spatial extension of H2 JDBC bridge Based on H2
SAP MaxDB Legacy SAP RDBMS JDBC bridge Legacy enterprise
Sybase / SAP ASE Legacy enterprise SQL JDBC bridge Legacy enterprise
Mimer SQL Niche embedded SQL JDBC bridge JDBC driver available
InterSystems Caché Object-relational DB JDBC bridge IRIS predecessor (IRIS already supported)
Ingres Open-source SQL JDBC bridge Legacy
CUBRID Korean open-source SQL JDBC bridge JDBC driver available
Virtuoso Hybrid RDBMS/RDF/XML JDBC bridge JDBC driver available
Yellowbrick Cloud data warehouse JDBC bridge JDBC driver available
Denodo Data virtualization JDBC bridge JDBC driver available
MonetDB Column-store analytics JDBC bridge JDBC driver available
HeavyDB (OmniSciDB) GPU-accelerated SQL JDBC bridge JDBC driver available
OpenEdge Progress application DB JDBC bridge JDBC driver available
Pervasive SQL ACID-compliant embedded DB JDBC bridge JDBC driver available
SQream DB GPU-accelerated analytics JDBC bridge JDBC driver available
Fujitsu Enterprise Postgres PG fork PG-wire PostgreSQL wire protocol compatible
Apache Calcite Avatica DB driver framework JDBC bridge Framework, not a database
Altibase Hybrid in-memory/disk RDBMS JDBC bridge JDBC driver available
Netezza IBM analytics warehouse JDBC bridge JDBC driver available
Ocient Hyperscale data warehouse JDBC bridge JDBC driver available
Teiid Data virtualization JDBC bridge JDBC driver available
GizmoSQL DuckDB + Arrow Flight SQL HTTP bridge Arrow Flight SQL protocol
LibSQL Turso open-source SQLite fork Native (Rust) SQLite-compatible, similar to Turso
NuoDB Cloud-native distributed SQL JDBC bridge JDBC driver available
NDB Cluster MySQL in-memory cluster MySQL-wire MySQL storage engine
Spark Hive Spark SQL connector JDBC bridge JDBC driver available
Gemfire XD In-memory data grid SQL JDBC bridge JDBC driver available
Cloudera Hadoop distribution JDBC bridge Hive/Impala via JDBC
SnappyData In-memory data store JDBC bridge JDBC driver available
ScyllaDB Cassandra-compatible CQL JDBC bridge Cassandra-compatible
Raima Embedded DBMS JDBC bridge JDBC driver available
Data Virtuality Data virtualization JDBC bridge JDBC driver available
DBF dBase file format JDBC bridge JDBC/ODBC driver
AWS Timestream Time-series SQL JDBC bridge JDBC driver available
SQLite Crypt SQLCipher alternative Native (Rust) SQLite variant, native feature flag

Out of Scope (non-SQL — DocKit territory or non-relational)

Databases DBeaver supports that fall outside SQLKit's SQL-focus: MongoDB, Couchbase, CouchDB, FerretDB, Azure Cosmos DB (all APIs), AWS DocumentDB, Firestore, Redis, Valkey, AWS DynamoDB, AWS Keyspaces, Elasticsearch, OpenSearch, Solr, Neo4j, OrientDB, Amazon Neptune, InfluxDB, Machbase, TimechoDB, DolphinDB, Apache IoTDB, Google Bigtable, CSV, XLSX, JSON, XML, Parquet.


Requested Databases

1. Cloudflare D1

Field Value
Type SQLite-compatible edge database
Protocol HTTP REST API (D1 API), SQLite wire-compatible
Solution HTTP bridge — reuse existing SQLite adapter with an HTTP transport layer
Why Popular serverless SQL database, growing adoption

2. chDB

Field Value
Type Embedded ClickHouse (DuckDB-style)
Protocol ClickHouse native / HTTP, embedded C library
Solution Native (Rust) — bundle chDB C library, reuse ClickHouse SQL dialect
Why ClickHouse-compatible embedded analytics, growing adoption

3. SQLCipher

Field Value
Type Encrypted SQLite variant
Protocol SQLite C library with encryption
Solution Native (Rust) — add encryption key field to SQLite config. Use rusqlite with bundled-sqlcipher feature flag. Existing SQLite adapter fully reusable.
Why Trivial to add as a SQLite variant

4. Cloudflare R2 SQL

Field Value
Type SQL query layer over R2 object storage
Protocol HTTP SQL API
Solution HTTP bridge — HTTP-based SQL adapter, similar to existing Presto/Trino pattern
Why Cloudflare ecosystem integration alongside D1

5. Workers Analytics Engine

Field Value
Type Time-series SQL over Cloudflare Workers
Protocol HTTP SQL API
Solution HTTP bridge — HTTP-based SQL adapter with time-series query support
Why Cloudflare ecosystem, complements D1 and R2 SQL

Implementation Priority (Suggested)

  1. SQLCipher — Lowest effort, near-trivial SQLite feature flag change
  2. Cloudflare D1 — Moderate effort, needs HTTP transport layer for SQL
  3. chDB — Moderate effort, library bundling + ClickHouse dialect reuse
  4. R2 SQL — Higher effort, needs HTTP adapter from scratch
  5. Workers Analytics Engine — Higher effort, time-series specific

Scope Note

  • Redis was considered but excluded — it is not a SQL database and falls outside SQLKit's scope as a SQL GUI client.
  • Amazon S3, Cloudflare R2 (without SQL layer), and Workers KV are also excluded for the same reason.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions