Discover, query, monitor & optimize every database across Kubernetes, VMs, and cloud — free and offline-first. Provision, back up, automate & govern your fleet with DBHelm Platform.
Open on a Mac, Windows, or Linux computer to install. You can bookmark this page to visit later.
Free to start
·
No signup
·
macOS, Windows & Linux
56
Discovery Engines
17
Provisioners
2529
Unit Tests
100%
Offline-First
DBHelm — Database Control Plane
Overview
Dashboard
All Databases
Management
Environments
Direct Connect
Observability
Monitoring
Health Check
Logs
Alerts
Optimize
Query Optimizer
Code Optimizer
Index Janitor
Schema Doctor
Autovacuum
Pool Fit
Plan Watch
Cost
GitOps
Declarative
GitOps log
Intelligence
Playbooks
DR Testing
Right-Sizing
Compliance
Upgrade Advisor
Capacity
Trx Tracer
Environments
4
All connected
Databases
81
14 types
Backups
24
0 failures
Alerts
1
CPU warning
Cluster Health — Real-time
CPU Memory IOPS
Recent Discoveries
MongoDB — prod-psmdb (Percona)GKE
PostgreSQL — api-pg-ha (CloudNativePG)EKS
Redis — cache-cluster (Bitnami)AKS
Engines DBHelm discovers + manages
PostgreSQLMongoDBMySQLRedisKafkaElasticsearchCassandraClickHouseCockroachDBNeo4jInfluxDBRabbitMQ+ 44 more
How it works
From zero to full visibility in three steps
Connect → Discover (or provision) → Operate. No agents, no sidecars, no cloud dependency. Free, offline-first.
STEP 01
Connect
Import kubeconfig or Direct Connect
Open DBHelm, go to Environments, and import your kubeconfig — auto-detects cloud provider, region, and cluster. Or use Direct Connect for any database with just a host and port. No agents, no sidecars.
DBHelm scans CRDs, StatefulSets, and Deployments to discover databases across 56 engines — SQL, NoSQL, vector, streaming, cache, time-series. Need a new cluster? The wizard provisions via 17 built-in providers covering all DB-Engines top-10: CNPG / Percona PG / PSMDB / MongoDB Community / MySQL Operator / Redis / K8ssandra / SQL Server / Oracle / Db2 / Strimzi on K8s, plus AWS RDS + Cloud SQL + Azure DB Flexible Server (Postgres + MySQL on each).
Replace scattered CLI tools, dashboards, and scripts with a single control plane that understands every database — from PostgreSQL to Kafka to vector databases.
Free
Connect, query, monitor & optimize
Platform
Provision, back up, automate & govern
Universal Discovery
Free
Auto-detect databases across Kubernetes clusters via CRDs, operators, Helm charts, and StatefulSets. Direct Connect for VMs and bare metal — including self-hosted MongoDB replica sets you operate (not Atlas or vendor DBaaS).
Engine-level metrics for every database type: InnoDB stats, Galera wsrep, Patroni HA, oplog lag, consumer group lag, query latencies — not just K8s pod metrics.
Scheduled automated backups with retention policies, one-click restore with pre-flight validation, and volume snapshot support. Full restore history with audit trail.
AES-256-GCM encryption (scrypt KDF, per-record salt) for all credentials. JWT HS256 + token versioning. Strict CSP, sandboxed Electron renderer with contextIsolation. RBAC with super-admin / admin / read-only roles. Offline-first — no telemetry by default; opt-in error reporting only. 0 known dep CVEs as of v1.22.
Encrypted StorageRBACNo Default TelemetryOffline First
Instant Onboarding
Free
Import kubeconfig and go — auto-detects cloud provider, region, and cluster name. Or use Direct Connect for any database with just a host and port. No agents or sidecars.
All databases across all environments in one view. Filter by type, cluster, status, or organization. Multi-cluster, multi-cloud, and multi-org support built-in.
Multi-ClusterMulti-CloudOrganizationsRole-Based
And much more
Provisioning (17 providers — every DB-Engines top-10 covered)
Platform
Spin up new clusters from the wizard or YAML: CloudNativePG / Percona PG / Percona Server for MongoDB / MongoDB Community Operator / MySQL Operator (Oracle) / Redis Operator (Spotahome) / Strimzi Kafka / K8ssandra (Cassandra) / SQL Server (StatefulSet) / Oracle Database (OraOperator) / IBM Db2 (Db2u Operator) on K8s, plus AWS RDS Postgres + MySQL, Cloud SQL Postgres + MySQL, Azure Database for PostgreSQL + MySQL Flexible Server.
Cross-engine federation (DuckDB)
Platform
Attach Postgres + MySQL Direct Connections as virtual catalogs and write ANSI SQL across them in one editor. Joins push down to native scanners.
Migration engine
Platform
MySQL → Postgres in three clicks: schema inference, type mapping with lossy flagging, batched data pump, source-vs-target row-count validation.
Optimize section (8 tools)
Free
Query Optimizer + Code Optimizer (AI rewrites) · Index Janitor (unused / duplicate / missing-FK indexes with DROP DDL) · Schema Doctor (tables-without-PK, missing-FK indexes, high-NULL columns, oversized text, never-ANALYZEd) · Autovacuum Pressure Map (bloat, stale stats, wraparound emergency) · Pool Fit (Fit Score 0-100, recommended pool size from pg_stat_activity samples) · Cost (full-fleet, per-table attribution, storage tier ladder). Plan Watch is part of Platform automation.
Query Optimizer (K8s-aware in v1.30)
Free
Paste a query; the optimizer rewrites it using your live schema, indexes, table sizes, and a safe EXPLAIN plan. Works against either a Direct Connection (TCP) OR a K8s-discovered Postgres / MySQL / MongoDB pod (via psql / mysql -B / mongosh --eval inside the pod). Never executes your query — only EXPLAIN runs. Index suggestions ship with the exact CREATE INDEX + tradeoff note.
Code Optimizer
Free
Paste application code (TS / JS / Python / Java / Go / Ruby / Rust / +5 more) and get back a rewritten version. Looks for N+1 queries, missing pagination, string-concatenated SQL, sync DB calls in async paths, and engine-specific anti-patterns. Credentials redacted before AI call.
Index Janitor (PG + MySQL in v1.32)
Free
Surfaces unused / duplicate / redundant / missing-FK indexes for PostgreSQL OR MySQL family databases — Direct Connect OR K8s-discovered. PG uses pg_stat_user_indexes; MySQL uses sys.schema_unused_indexes + information_schema.STATISTICS. Generates the exact DROP INDEX (PG: CONCURRENTLY) or CREATE INDEX DDL.
Schema Doctor (PG + MySQL in v1.32)
Free
PG: missing primary keys, FKs without covering indexes, ≥80% NULL columns, oversized text, never-ANALYZEd tables. MySQL: missing-PK (critical — InnoDB synthesizes hidden 6-byte rowid), missing-FK-index, oversized VARCHAR(>= 1000), tables with stale UPDATE_TIME. Each finding ships with ALTER TABLE / CREATE INDEX / ANALYZE TABLE DDL.
Autovacuum Pressure Map (Postgres-only)
Free
Postgres-only by nature — autovacuum is a PG concept; MySQL's InnoDB does incremental dirty-page flushing automatically. Six categories including BLOAT-EXTREME (50%+ dead tuples → VACUUM FULL), STALE-STATS, NEVER-VACUUMED, HIGH-WRITE-RATE, and the WRAPAROUND emergency check (xid_age >1.5B = STOP traffic + VACUUM FREEZE). Direct Connect or K8s-discovered.
Pool Fit (PG + MySQL in v1.32)
Free
Samples connection-pool state 3× one second apart, returns a Fit Score 0-100 + recommended pool size (2-3× peak active). PG via pg_stat_activity; MySQL via information_schema.PROCESSLIST. Catches POOL-TOO-SMALL, POOL-TOO-LARGE, MAX-CONNECTIONS-LOW, LONG-IDLE leaked connections. Direct Connect or K8s-discovered.
Plan Watch (PG + MySQL in v1.32)
Platform
Register a query, DBHelm re-EXPLAINs it every 30 min against PG (EXPLAIN FORMAT JSON) or MySQL (EXPLAIN FORMAT=JSON). Two-layer fingerprinting (query text + plan tree shape). Engine-aware tree walker — PG's plan tree vs MySQL's query_block / nested_loop / table.access_type / table.key. Flags regressions when the engine switches access path OR cost jumps ≥2× with same plan shape.
Cost dashboard (full-fleet aware as of v1.25)
Free
Counts every database in your fleet — provisioned + K8s-discovered + Direct Connect — not just clusters DBHelm provisioned. Per-cluster monthly + annual estimate using built-in rate cards for AWS RDS / Cloud SQL / Azure Flexible Server / K8s defaults. v1.26 adds per-table cost attribution (70% storage + 30% compute weighted) and a storage tier ladder (gp2→gp3, io1→gp3, pd-ssd→pd-balanced).
Declarative state ("Terraform for DBs")
Platform
A single state.yaml describes clusters + objects + schedules. dbhelm plan shows the diff; dbhelm apply executes; dbhelm export captures live state.
GitOps event log + replay
Platform
state-history.jsonl mirrors every state change. Optionally pushed to a real Git remote. Replay any historic event back into a StateFile.
Drift detector
Platform
Background job compares live state with desired YAML or replay history. Severity buckets surface what needs reconciliation.
AI assistant on safety rails
Free
Bring-your-own-key (OpenAI / Anthropic / Ollama). Every LLM-suggested query passes through the destructive-op classifier + cost dry-run before you can execute.
Mongo Monitoring & DB Studio — GA (v1.56)
Free
General availability for self-hosted MongoDB: PSMDB replica sets, K8s-managed Mongo, and Direct Connect (Atlas, SSH, SOCKS). Monitoring with slow ops, Performance Advisor, and deep links into Studio. DB Studio: paginated read-only Explorer, Schema/Pipeline/Bulk modules, saved queries, staging vs prod Compare, org policies. DML via Safe Ops; DDL via Indexes — Explorer blocks all shell writes.
Mongo Explorer read-only (v1.56.1)
Free
Server + client blocklist for insert/update/delete, index DDL, $out/$merge, collMod, dropView, and bracket-notation bypasses. Explorer cannot run DDL or DML — use Safe Ops or Indexes tabs. Direct Connect uses a curated mongosh subset via the official driver (not full shell eval).
Parallel workbenches (v1.55)
Free
Fleet workbench for Dashboard / All Databases / fleet Monitoring. Open any cluster in a new workbench tab — full /db/:id workspace with Console, Monitoring, Backups, Optimize. Switch workbenches without aborting running Console queries; close tabs with × when done.
Console with adapters
Free
Unified IDE: deep adapters for MongoDB, SQL, Redis, Kafka, Elasticsearch, vector DBs, Neo4j, InfluxDB; SaaS adapters with $-per-query dry-run for BigQuery / Snowflake / Redshift / Databricks. Other engines fall through to a Command adapter.
Safe-by-default queries
Free
Read-only mode is the default. Destructive ops (DROP / DELETE / TRUNCATE / dropDatabase / TopicDelete) are detected and blocked until explicit confirm. Every mutation audit-logged.
On-demand backups for CNPG, PSMDB, Percona PG, MySQL Operator, AWS RDS, Strimzi MM2. Cron-style schedules for CNPG, PSMDB, Percona PG, AWS RDS. One-click restore with pre-flight validation; PITR for PSMDB.
Operator Hub (10 operators)
Platform
One-click install for CNPG / PSMDB / MongoDB Community Operator / MySQL Operator (Oracle) / Redis Operator (Spotahome) / K8ssandra / Strimzi / Percona PG / Oracle Database Operator / IBM Db2u Operator. Manifests fetched through SSRF-safe allowlist; cluster-scoped resources require explicit ack.
Plugin SDK
Free
@dbhelm/sdk lets the community ship provisioners, backups, schedules, objects, SaaS adapters. Backend loads them from ~/.dbhelm/plugins/ at boot.
Health Check
Free
One-click diagnostics with scored reports, recommendations, and exportable snapshots.
Direct Connect
Free
Connect to any database on VMs, bare metal, or cloud with host and port — no Kubernetes required. Includes SaaS-native paths via service-account JSON.
Maintenance Ops + Scheduler
Platform
Vacuum, reindex, compaction, cache flush per database. Cron-like automation for recurring tasks.
Alert engine
Platform
Configurable alerts on metrics, thresholds, and anomalies with pluggable notification channels.
Audit logging
Platform
Complete audit trail of every action — who did what, when, and where. RBAC-gated. State-changing events also mirrored into the GitOps log.
Log Analyzer
Free
Centralized log viewing with search, filtering, and real-time tailing.
Cross-platform
Free
Native builds for macOS, Windows, and Linux. Free, offline-first; opt-in error reporting only.
56 discovery providers across SQL, NoSQL, Vector, Streaming, Cache, Time-Series, Graph, and more
Every engine below auto-discovers from your Kubernetes clusters; most also work via Direct Connect on VMs you control. MongoDB monitoring targets self-hosted deployments.
PostgreSQLSQL
MySQLSQL
MongoDBNoSQL
RedisCache
KafkaStream
ElasticsearchSearch
CassandraNoSQL
CockroachDBSQL
ClickHouseOLAP
Neo4jGraph
RabbitMQStream
InfluxDBTSDB
MilvusVector
WeaviateVector
SQL ServerSQL
MariaDBSQL
ScyllaDBNoSQL
YugabyteDBSQL
TiDBSQL
VitessSQL
etcdKV
MinIOObject
DuckDBOLAP
StarRocksOLAP
MemcachedCache
CouchbaseNoSQL
QdrantVector
ChromaDBVector
ValkeyCache
TimescaleDBTSDB
+ Oracle, Snowflake, DynamoDB, Cosmos DB, BigQuery, Redshift, Aurora, Db2, SAP HANA, and more
Intelligence
Not just dashboards — an advisor for your fleet
Seven built-in advisors that turn raw telemetry into decisions: what to fix, what to upgrade, what to right-size, what's running hot right now. Plus the AI assistant + Query/Code Optimizer + cross-engine federation + cost dashboard layered on top. Zero setup, works the moment you connect a cluster.
Incident Playbooks
Runbook automation · K8s only
Five pre-built diagnostic playbooks for incidents your team hits at 3am: high CPU, replication lag, connection-pool exhaustion, disk-space alert, slow-query analysis. Auto-runs checks via kubectl exec, surfaces findings ranked by severity. K8s-discovered databases only today.
5 pre-built templates
Auto-run diagnostic steps
Severity-ranked findings
Session execution history
5 templatesK8s-discovered DBs
DR Testing
Failover simulation · K8s only
Score every K8s-discovered database on DR readiness. Evaluate backup freshness, replica health, and failover readiness — then run dry-run failover simulations without touching production. RPO is derived from last snapshot age; RTO is a heuristic from replica count and snapshot size. Direct-connect databases not supported today.
DR readiness score (0-100)
RPO from last snapshot age
RTO heuristic from replicas + size
Dry-run failover simulation
RPO/RTOEstimated per database
Right-Sizing Advisor
Stop paying for idle pods · K8s only
Find over-provisioned K8s workloads and under-provisioned ones at risk. Compare CPU/memory requests vs actual usage from the metrics-server with concrete, per-pod recommendations and a fleet-wide efficiency score.
Fleet efficiency score (weighted CPU + mem util%)
CPU & memory waste % per pod
Per-pod actionable recommendations
Pairs with /cost dashboard for $ math
Waste %CPU + memory per pod
Compliance Engine
Policy-as-code for data · 7 checks today
Build policies from the seven built-in check types — backup configured, alerting configured, replica count, SSL enabled, max connections, resource limits, password policy. Evaluate across every database and produce per-DB pass/fail reports with severity. Policies are session-scoped today; persistent policy storage is on the roadmap.
7 built-in check types
Severity levels (critical → low)
Per-DB pass/fail reports
Session-scoped policies (persistence on roadmap)
7 checksBuilt-in policy catalog
Upgrade Advisor
Same-engine version upgrades without surprises
Detect EOL versions across your fleet via in-pod version probes (psql / mysql / mongosh / redis-cli when K8s; falls back to declared version otherwise), see recommended upgrade paths, and run pre-flight compatibility checks that flag breaking changes before you touch a pod. For moving data between different engines, see Engine Migration in Operations.
See the wall before you hit it · K8s for live metrics
Linear-regression projections for storage, memory, and connections. Every K8s-discovered database gets a days-until-full estimate, a growth rate, and an urgency tier. Trends are session-scoped per process today (~5 min cache); persistent history is on the roadmap. Direct-connect DBs need K8s metrics-server access for full forecasts.
Storage, memory & connections
Days-until-full per metric (linear regression)
Growth rate / day
Urgency tiers (critical/warning/healthy)
ForecastStorage · Mem · Conn
Transaction Tracer
Active queries · K8s only
Real-time view of active queries, slow queries, and client connections for PostgreSQL, MySQL, MongoDB, and Redis. Lock contention is full for PG + MySQL (waits / blocked-by graph), aggregate global stats for MongoDB, and not exposed for Redis (single-threaded — no lock graph). The first place to look when something is slow right now.
Stop paying SaaS markup on databases you could run yourself.
MongoDB Atlas, AWS RDS, Confluent Cloud, ClickHouse Cloud and the rest charge
2–4× the raw infrastructure cost for the same hardware.
DBHelm gives you the monitoring, backups, DR, and day-2 operations of a managed service
on your own cloud — so you pocket the difference.
MongoDB replica set
3 nodes · 16 GB RAM · 100 GB data
MongoDB Atlas M40$751/mo
$1.04/hr on AWS + backup + egress
DBHelm + EKS (Percona or Bitnami)$300/mo
3× r6i.large · 300 GB gp3
Monthly savings60% off
$451/ mo
$5,412 per year
Postgres HA cluster
Primary + 2 replicas · 32 GB RAM · 500 GB data
AWS RDS Multi-AZ db.r6g.xlarge$1,275/mo
Multi-AZ premium + gp3 + backup
DBHelm + CloudNativePG on K8s$650/mo
3× r6i.xlarge · 1.5 TB gp3
Monthly savings49% off
$625/ mo
$7,500 per year
Kafka streaming cluster
3 brokers · 8 vCPU / 32 GB · 500 GB logs
Confluent Cloud Standard$2,800/mo
Base + ingress + egress + storage
DBHelm + Strimzi on K8s$900/mo
3× m6i.2xlarge · 1.5 TB gp3
Monthly savings68% off
$1,900/ mo
$22,800 per year
A small fleet of 10 databases typically saves
$60,000–$150,000 a year.
The managed-DB markup is the premium you pay to skip ops work.
DBHelm removes most of that work — auto-discovery, monitoring,
backups, DR testing, incident playbooks, right-sizing, capacity
forecasting — so the markup stops making sense.
Whether you're building a platform, responding to incidents, or optimizing performance — DBHelm adapts to your workflow.
Platform Engineers
Build a self-service database platform
"We need one tool to provision + manage Postgres on RDS, Mongo on K8s, and Kafka via Strimzi — without writing terraform glue and bespoke runbooks."
Give your teams a unified provisioning + management plane. The wizard creates clusters via 17 built-in providers covering every DB-Engines top-10 engine; the declarative state YAML codifies your fleet so a CI pipeline can apply it.
Provision via CNPG / Percona PG / PSMDB / MongoDB Community / MySQL Operator / Redis / K8ssandra / SQL Server / Oracle / Db2 / Strimzi on K8s, or RDS / Cloud SQL / Azure DB managed
Declarative state YAML: dbhelm plan / apply / export from CI
GitOps event log + replay: every state change is reproducible
10-entry Operator Hub: one-click prereq install with cluster-scope ack guard
Plugin SDK to extend with internal-only providers; multi-org RBAC; audit log
SREs + DevOps
Reduce MTTR with deep observability + safe queries
"At 3am when a database is slow, I need engine-level metrics — InnoDB lock waits, replication lag, slow queries — not pod CPU. And I need to query the live DB without fear of running DROP by mistake."
Engine-aware dashboards, the live transaction tracer, the AI assistant that classifies destructive ops before you can run them, and a console that defaults to read-only. Plus the drift detector tells you when live state doesn't match desired.
Drift detector + GitOps log so you know what changed
DBAs
One tool for backups, migrations, federation + cost
"I manage Percona on K8s, RDS Postgres, a bare-metal MySQL we want to migrate to Postgres, and we're trying to figure out which managed DB is bleeding money."
On-demand + scheduled backups with one-click restore. MySQL→Postgres migration in three clicks. Eight Optimize tools (Query/Code Optimizer, Index Janitor, Schema Doctor, Autovacuum Pressure Map, Pool Fit, Plan Watch, Cost) cover everything from query rewriting to wraparound emergencies. Cross-engine federation lets you JOIN across Postgres + MySQL DBs without ETL.
Backups: CNPG / PSMDB / Percona PG / MySQL Operator / RDS / Strimzi MM2; PITR for PSMDB
Optimize section (8 tools): Query/Code Optimizer · Index Janitor · Schema Doctor · Autovacuum · Pool Fit · Plan Watch · Cost
Plan Watch (v1.27): re-EXPLAIN every 30 min, alert on plan-shape change or ≥2× cost jump — catch post-deploy regressions before customers do
MySQL → Postgres migration: schema infer, type mapping, batched pump, validation
Cross-engine federation via embedded DuckDB (Postgres + MySQL families)
Runs without a vendor account — free, offline-first, no signup
Yes
No
Yes
Partial
Partial
Full support
Partial
Not supported
Managed DBaaS (Atlas, RDS, Cloud SQL) genuinely wins on hands-off automated backups, failover, and zero-ops scaling — but only for its own single-vendor instances. DBHelm gives you one control plane across every engine, on any infrastructure, with no vendor lock-in. Use both: let managed services run what they run, and use DBHelm to see, query, optimize, and operate the rest of your fleet.
By the numbers
Built for real infrastructure
56
Discovery Engines
SQL, NoSQL, Vector, Streaming, Cache, TSDB
17
Provisioners
All DB-Engines top-10 covered. CNPG, PSMDB, MongoDB Community, MySQL Operator, Redis, K8ssandra, SQL Server, Oracle, Db2, Strimzi, Percona PG, RDS, Cloud SQL, Azure DB
2529
Unit Tests
Pure modules tested in CI on every push (1993 backend + 536 frontend) + 60-endpoint backend smoke probe
∞
Databases & Clusters
No database or cluster caps. Free to connect, query & monitor.
DBHelm is a desktop app. Your credentials and metadata stay on your machine. Read-only is the default; destructive operations require explicit confirmation.
AES-256-GCM Encryption
All credentials and kubeconfigs encrypted at rest in the local SQLite store
Destructive-op Classifier
DROP / DELETE / TRUNCATE / dropDatabase / TopicDelete blocked until you confirm
Works fully offline. No signup, no account needed. Optional error reporting only.
Don't take our word for it
Three things you can verify before you download
We're a young project. Instead of fabricated testimonials, here's the proof you can check yourself.
Verifiable
2529 unit tests on every release
Every release runs the full test suite on Linux + macOS + Windows before binaries are published. Coverage spans destructive-op classification, type mapping, rate-card lookups, federation classification, declarative diffing, replay reconstruction, optimizer prompt builders, EXPLAIN safety, credential redaction, SSRF allowlists, plugin sandboxing.
Every release ships with a per-feature changelog: what shipped, what's in beta, what we cut. No vapor — what's on the changelog is what's in the binary you download. The roadmap calls out planned (🗓️) and in-flight (🔨) work too.
macOS DMG, Windows installer, Linux AppImage + .deb published on every tag, with auto-updater wired in. No signup, no email gate, no credit card. Try it before you trust it.
Used DBHelm and want to share your experience? Email hello@dbhelm.com — we'd love to feature real quotes from real users instead of inventing them.
Pricing
Free to connect & monitor. Platform to operate.
DBHelm is free, forever, to connect, query, monitor, advise and optimize your databases. DBHelm Platform adds provisioning, backups, automation and governance.
DBHelm
$0/ forever
Free
Unlimited Direct Connections + registered K8s environments
Real-time monitoring with embedded Topology + health checks
Console with deep adapters + safe-by-default queries
Optimize suite: Query/Code Optimizer, Index Janitor, Schema Doctor, Autovacuum Map, Pool Fit, Cost
DBHelm is a free, source-available desktop application that serves as a unified control plane for databases. It auto-discovers 56 database engines on Kubernetes, connects to anything via Direct Connect, provisions new clusters via 17 built-in providers, runs deep monitoring + backups + safe queries, federates Postgres+MySQL via embedded DuckDB, migrates MySQL to Postgres in three clicks, optimizes pasted SQL + application code with live schema awareness, and tracks cost — all from a single interface.
Which clusters can DBHelm provision (not just discover)?
17 today across two categories. Eleven K8s operators / patterns: CloudNativePG (Postgres) · Percona PG · Percona Server for MongoDB (PSMDB) · MongoDB Community Operator (MongoDB Inc.) · MySQL Operator (Oracle InnoDB Cluster) · Redis Operator (Spotahome) · K8ssandra (Apache Cassandra) · SQL Server StatefulSet · Oracle Database Operator (OraOperator) · IBM Db2u Operator · Strimzi (Kafka). Six cloud-managed services: AWS RDS Postgres + MySQL · Cloud SQL Postgres + MySQL · Azure Database for PostgreSQL + MySQL Flexible Server. Plus a 10-entry Operator Hub for one-click prereq install of the K8s operators above (CNPG / PSMDB / MongoDB Community / MySQL Operator / Redis / K8ssandra / Strimzi / Percona PG / Oracle / Db2u). Scheduled backups, restore flows, and object admin all work from the same UI.
What does the Query Optimizer do? (v1.23)
Pick a connected database, paste a query, click Optimize. The backend introspects live schema (sizes / indexes / column cardinality from information_schema / pg_class / collStats), runs a safe read-only EXPLAIN (never ANALYZE), and asks your configured AI provider to rewrite it with engine-specific best-practice hints (Postgres LATERAL, Mongo ESR rule, Cassandra ALLOW FILTERING red flag, etc.). Returns the rewrite + index suggestions with exact CREATE INDEX DDL + tradeoff notes. Your original query is never executed — only EXPLAIN runs.
What does the Code Optimizer do? (v1.23)
Paste application code in any of 12 languages (TS / JS / Python / Java / Go / Ruby / C# / PHP / Rust / Kotlin / Scala / SQL), optionally link a connected DB for engine-aware suggestions. Returns categorized issues (performance / safety / security / maintainability with severities low → critical) and a rewritten version. Looks for N+1 query patterns, missing pagination, string-concatenated SQL, sync DB calls in async paths, missing batch operations, ORM over-fetching. Credentials in your code are redacted before reaching the AI provider — we surface the redaction count.
What's free, and what needs a license?
Free, forever: connecting, querying, monitoring, advising and optimizing your existing databases — Direct Connections and registered Kubernetes environments, with no usage caps and no signup. DBHelm Platform (a license key) unlocks the operate layer: provisioning, backups & PITR, maintenance, automation, federation, migration and governance. Separately, the BSL 1.1 license means you can't re-sell DBHelm itself as a managed service; internal use is unlimited. BSL auto-converts to Apache 2.0 four years after each release.
What are the prerequisites?
For Kubernetes databases: kubectl and a kubeconfig file. For Direct Connect: just the host, port, and credentials. No agents, sidecars, or cloud accounts needed.
Which Kubernetes distributions work?
Any standard K8s cluster — EKS, GKE, AKS, OpenShift, Rancher, k3s, minikube, and bare-metal. If kubectl can reach it, DBHelm can manage it.
How does auto-discovery work?
DBHelm scans Kubernetes namespaces for Custom Resource Definitions (CRDs), StatefulSets, Deployments, and Helm releases that match known database patterns. It detects the database type, operator, version, and cluster topology automatically.
What is the Console and how is it safer than running queries directly?
Console is a single entry point that detects the database type and loads a native IDE: MongoDB collection browser, SQL schema tree, Redis keyspace scanner, Kafka topic + consumer-group explorer, Elasticsearch index browser, vector collection viewer with similarity-search starters, Neo4j graph schema, InfluxDB bucket tree, and SaaS adapters for BigQuery / Snowflake / Redshift / Databricks with pre-flight $-cost estimates. Engines we don't deep-adapter yet fall through to a generic Command adapter. Every adapter is read-only by default: DROP / DELETE / TRUNCATE / dropDatabase / KafkaTopic-delete are detected and blocked until you explicitly confirm. Every mutation is audit-logged and mirrored into the GitOps event log.
How does the AI assistant work? Is my schema sent anywhere?
Bring your own key for OpenAI, Anthropic, or any OpenAI-compatible endpoint (Ollama for local). DBHelm never proxies through us — your prompts go straight to the provider you configure. Every LLM-generated query passes through the same destructive-op classifier as a hand-typed query, plus (for SaaS engines) a dry-run cost estimate, before you can execute. The LLM never auto-executes anything.
What does cross-engine federation mean? How does it work?
DBHelm embeds DuckDB. Pick which Postgres + MySQL Direct Connections to attach, give each an alias, and write ANSI SQL like SELECT * FROM pg_app.users JOIN my_orders.orders ON ... — joins push down to native scanners when they can. Today: Postgres family (CNPG / RDS / Cloud SQL / Azure DB / Cockroach / Citus / Timescale / Yugabyte) and MySQL family (RDS / Cloud SQL / Azure DB / MariaDB / PXC / Vitess). Mongo / Snowflake / BigQuery support is on the roadmap via materialization.
What does declarative state and the GitOps log give me?
Write a single state.yaml describing your clusters, objects (databases / roles / schemas / topics), and backup schedules. dbhelm plan shows the diff vs live; dbhelm apply executes via the same registries the UI uses; dbhelm export captures current state. Every state-changing event also writes to ~/.dbhelm/state/state-history.jsonl, optionally pushed to a Git remote via DBHELM_STATE_GIT_REPO. Click "Replay to here" on any historical event in the GitOps log page and the YAML for that point-in-time lands in your clipboard.
How does the cost dashboard estimate spend without my cloud bill?
Built-in rate cards for AWS RDS (14 instance classes), Cloud SQL (6 tiers + custom-shape formula), Azure Flexible Server (8 SKUs), and K8s defaults. We multiply by replicas + storage to get a monthly + annual estimate per cluster. As of v1.25 the dashboard counts EVERY database in your fleet — provisioned + K8s-discovered + Direct Connect — not just clusters DBHelm provisioned. v1.26 added per-table cost attribution (70% storage + 30% compute weighted) so a 1MB hot table that gets scanned 100K times/day still gets a real slice, plus a storage tier ladder (gp2 → gp3, io1 → gp3 when IOPS demand is low, pd-ssd → pd-balanced for OLTP). SaaS engines (BigQuery / Snowflake) bill per-query, so they show $0 with a pointer to the per-query cost preview in the Console. Live billing-puller integration (AWS Cost Explorer / GCP Billing / Azure Cost Management) is on the roadmap.
What's in the Optimize section?
Eight focused tools as of v1.27 — each does one thing well: (1) Query Optimizer — paste a query, get an AI rewrite using live schema + safe EXPLAIN. (2) Code Optimizer — paste app code in 12 languages, get categorized issues + a rewrite. (3) Index Janitor — finds unused / duplicate / low-usage / missing-FK indexes with the exact DROP INDEX CONCURRENTLY DDL. (4) Schema Doctor — tables-without-PK, missing-FK indexes, ≥80% NULL columns, oversized text, never-ANALYZEd. (5) Autovacuum Pressure Map — Postgres-specific bloat / stale stats / wraparound emergency check. (6) Pool Fit — samples pg_stat_activity 3× and returns a Fit Score 0-100 + recommended pool size. (7) Plan Watch — register a query, DBHelm re-EXPLAINs every 30 min, alerts when plan changes or cost ≥2× jumps. (8) Cost — full-fleet aware, per-table attribution, storage tier ladder. All read-only — they generate DDL but never execute it. The DDL gets copied into Console (which has the destructive-op confirm gate).
What is Plan Watch and when should I use it?
Plan Watch is for catching the post-deploy "everything's slow now" class of bugs BEFORE customers do. You register a query (typically your hottest few — top customer dashboard, daily report, login lookup); DBHelm re-EXPLAINs it every 30 minutes (and on demand) and fingerprints the plan tree shape. When Postgres switches access path (Index Scan → Seq Scan, or one index → another), OR cost jumps ≥2× with the same plan shape, the run gets flagged as a regression with a one-line diff explanation ("Plan shape changed: Index Scan using foo_pkey → Seq Scan", "Cost jumped 5× — usually means table grew faster than stats updated"). Pure EXPLAIN — never executes the actual query.
What does the migration engine do today?
MySQL → Postgres in three clicks: pick a source MySQL Direct Connection, pick a target Postgres Direct Connection, plan, execute. Schema is inferred via information_schema; type mapping handles tinyint(1)→bool, AUTO_INCREMENT→SERIAL, JSON→JSONB, ENUM→TEXT (lossy, flagged), unsigned ints widening, etc. Data streams in pages of 1,000 (configurable) with per-table row-count validation. Mongo → Postgres and DynamoDB → Postgres are on the roadmap.
What about playbooks and DR testing — do they work for any database?
Honest scope: Incident Playbooks, DR Testing, Right-Sizing, Transaction Tracer, and the embedded Topology view in Monitoring all require Kubernetes (we talk to the operator + pods directly). Capacity Forecasting needs the K8s metrics-server for live metrics. Upgrade Advisor and Compliance work on both K8s and Direct Connect (Upgrade Advisor falls back to declared version when in-pod probes are unavailable).
Can I connect to non-Kubernetes databases?
Yes. Direct Connect lets you register databases on VMs, bare-metal, or cloud-managed services (AWS RDS, Google Cloud SQL, MongoDB Atlas, Azure Database) by providing the connection details. SaaS engines (BigQuery / Snowflake / Redshift / Databricks) also use Direct Connect with their respective auth methods.
Does it send my data to the cloud?
No. DBHelm is offline-first. All configuration, credentials, and kubeconfigs are stored locally in an encrypted SQLite database (AES-256-GCM). Optional opt-in error reporting can be enabled in Settings; everything else stays on your machine. The only outbound calls are: (1) the cloud APIs you configure (Kubernetes / RDS / Cloud SQL / etc), (2) AI provider when you configure one, (3) the optional Git remote when DBHELM_STATE_GIT_REPO is set, (4) the auto-updater check.
Can I extend it without forking?
Yes — the @dbhelm/sdk package exposes typed interfaces for ClusterProvisioner, BackupProvider, ScheduleProvider, ObjectAdminProvider, and SaasProvider. Drop a .mjs file into ~/.dbhelm/plugins/ and DBHelm loads it at boot. The /plugins page (super-admin only) shows what loaded, manifest details, and reason-if-skipped.
Why does SmartScreen / Gatekeeper show a warning?
This is standard for unsigned desktop applications. On Windows click "More info" → "Run anyway", on macOS right-click → Open. Apple Developer ID code-signing + Windows EV cert are on the roadmap.