Simcha DB Studio

Simcha DB Studio is a unified Database IDE and a Database DevOps workspace, shipped as one product. Connect to every dialect your team runs, query and browse them in a single interface, then version schema changes, move them through environments, and audit every step.

Looking for the complete reference? The complete reference is published on this site, generated directly from the product documentation: start at the full docs. It covers the IDE, change management, the AI agents, configuration, deployment (Docker, Kubernetes, ECS, Azure), SSO setup, the API reference, and troubleshooting. This page is the condensed public version.

Architecture

DB Studio is delivered as a single container image that you run inside your own perimeter, any cloud, on-prem, Kubernetes, or a bare container runtime. There is no Simcha-operated SaaS or control plane, nothing phones home, and the application stores only its own metadata. Your target databases are reached directly over their native wire protocols.

Supported databases

Native adapters across the common production stack. The fully implemented set:

Dialect Notes
PostgreSQLv12+ supported, including AWS RDS / Aurora, Azure Postgres, GCP Cloud SQL
MySQLv5.7+, MySQL-compatible variants supported via the same adapter
MariaDBv10.5+, served by the MySQL adapter
SQL Serverv2016+, including Azure SQL Database and Managed Instance
Oraclev19c+
SQLiteFor local and embedded use cases
MongoDBv5.0+, including Atlas
RedisKey-value workloads; query + introspection
CassandraWide-column queries via the native adapter
Neo4jGraph queries via the Cypher protocol
ElasticsearchIndex introspection and query
ClickHouseColumn-store analytics queries
CockroachDBPostgreSQL-compatible wire protocol
TimescaleDBPostgreSQL extension; time-series helpers

Additional engines (Snowflake, BigQuery, DynamoDB, InfluxDB, FaunaDB, Supabase, PlanetScale) appear in the connection picker as preview: selectable, but without an execution backend yet. Don’t see your dialect? Tell us about it, we prioritize the beta roadmap based on cohort feedback.

Quick start

Zero to a running instance with an activated license and a live connection. Two paths: Docker Compose for single-host and evaluation, Helm for clusters. The delivery bundle ships docker-compose.yml, .env.example, and helm/; your license key arrives separately by email.

Secrets

Three secrets are mandatory; the app fails closed at startup if any is missing.

Docker Compose

cp .env.example .env
echo "JWT_SECRET=$(openssl rand -hex 32)" >> .env
echo "ENCRYPTION_KEY=$(openssl rand -hex 32)" >> .env
echo "DB_PASSWORD=$(openssl rand -hex 16)" >> .env

docker compose up -d
curl http://localhost:5002/api/health

Compose pulls the image, starts Postgres, applies migrations idempotently, and launches the app. First boot is 30 to 60 seconds; health reads STARTING until the metadata database is reachable. Open the UI, paste your SDB-... license key (verified locally against the bundled public key, no network call), then add a connection, test it, and query.

On Kubernetes, helm install renders the app Deployment, a Postgres StatefulSet, and a migration Job that gates the rollout so migrations complete before any new pod serves traffic. The full walkthrough, including production overrides, lives in the full Quick Start guide.

Connect PostgreSQL

Connections are server-held records bound to your user account: the browser never sees a credential or opens a socket to a database. Passwords are encrypted at rest and never returned to the client. Test before saving; the probe authenticates, runs a liveness statement, and returns the server version on success or the precise driver error on failure.

Connect MySQL / MariaDB

Standard host, port, database, and credential fields, plus optional TLS and connection character set (utf8mb4 default). MariaDB is protocol-compatible; selecting it only adjusts dialect handling for MariaDB-specific SQL. The target-database picker is populated live from information_schema.schemata, excluding system schemas.

Connect SQL Server

Connect MongoDB

Per-dialect field references for every engine, including Oracle service names, SQLite server-side paths, and Redis database indexes, are in the connection-fields reference.

Versioned scripts

A script is the atomic, versioned, content-hashed unit of change. Author inline in the editor or pull from a configured source: GitHub, GitLab, Bitbucket, Azure DevOps, S3, Azure Blob, Google Cloud Storage, or Dropbox, scoped by branch, path, and file pattern.

Approval gates

Approval is the separation-of-duties gate between authorship and execution: Draft, Pending, Approved or Rejected (with a required comment), Executed. Author-cannot-approve-own is enforced, rejected scripts follow a revise-and-resubmit cycle with an incremented version, and admins can revoke a granted approval, which resets the script to Draft.

Rollback

On PostgreSQL targets, the engine captures the relevant pre-change state before the forward script runs and derives an exact inverse, computed from the actual prior state rather than guessed:

Execution modes control failure behavior: transactional all-or-nothing (default), stop on first error, or continue on error for idempotent batch remediation. On AI-enabled licenses, the Auto-Rollback agent drafts inverse SQL for review as well.

Execution history

Every run persists an immutable record: the executed script, an exact SQL snapshot captured at execution time, the resolved target connection and database, the triggering actor, start and end timing, status (RUNNING, COMPLETED, FAILED, ROLLED_BACK), rows affected, and the full driver error on failure.

Releases group approved scripts and deploy them as one fail-fast, dependency-ordered unit through a state machine (Draft, Planning, Ready, Deploying, Completed, Failed, Rolled Back), with a live progress panel per script. Promotion redeploys the same release, identical scripts and hashes, from Development through QA and Staging to Production; what was validated below is bit-identical to what reaches production.

Auth (SSO, MFA)

Encryption at rest

Audit log