Design and Manage VoltDB Databases Visually with DbSchema

DbSchema lets you design, manage, and document VoltDB databases. Create ER diagrams, define tables and columns, and generate SQL scripts - with or without a live database connection.

Use Git to share the design, compare it with the VoltDB database, and deploy changes. DbSchema also includes a data editor, query builder, and HTML5 documentation - everything you need in one tool.

DbSchema Database Designer

Download DbSchema Download VoltDB JDBC Driver

VoltDB's In-Memory Partitioned Architecture and Schema Visualization

VoltDB is an in-memory NewSQL database designed for high-throughput ACID transactions. Its core architecture partitions data across CPU cores and cluster nodes, with each partition executing transactions serially within a single thread — eliminating locking overhead and delivering sub-millisecond latency at scale. K-safety provides automatic synchronous replication across K+1 nodes so that partition failure does not cause data loss or downtime.

Transactions in VoltDB are typically expressed as Java or Groovy stored procedures that execute atomically against a single partition, though multi-partition procedures are also supported at higher cost. The deterministic execution model means that the same inputs always produce the same outputs, which simplifies replay-based recovery. DbSchema connects to VoltDB via the VoltDB JDBC driver and renders tables, views, and stored procedure signatures in a visual schema diagram, giving your team a structural overview of both the data model and the transaction interface.

VoltDB partitioned schema and stored procedure overview visualized in DbSchema

Writing SQL and Viewing Stored Procedure Definitions

VoltDB supports a subset of ANSI SQL for both ad hoc queries and stored procedure internals. DbSchema's SQL editor connects via the VoltDB JDBC driver and lets you run SELECT, INSERT, UPDATE, and DELETE statements as ad hoc queries. While VoltDB encourages stored procedures for production workloads, ad hoc SQL is useful for data exploration, debugging, and one-off administrative queries.

Stored procedure definitions — the SQL statements embedded within them — can be viewed from the schema tree. This is helpful when auditing transaction logic or when onboarding a new developer who needs to understand what SQL runs inside each procedure without reading the Java source code. The SQL editor's results grid displays VoltDB query output including the status code returned by stored procedure invocations, giving you immediate feedback on whether a procedure executed successfully.

Running SQL queries and inspecting stored procedures in VoltDB via DbSchema

Exploring High-Speed Transactional Data with the Data Explorer

The DbSchema data explorer lets you browse VoltDB table contents row by row, apply column filters, and export data to CSV. This is valuable for verifying that high-throughput event streams are being persisted correctly — for example, confirming that a financial transaction table has the right schema structure and that recent records contain the expected partition key distribution. Because VoltDB is fully in-memory, queries from the explorer return results very quickly even for large tables.

VoltDB's export connectors push data to Kafka, Hadoop, or JDBC targets asynchronously. The data explorer helps you verify the source tables before export is configured, and to audit data after an export run by comparing row counts between the VoltDB source and the downstream target. Time-series tables with TTL (time-to-live) policies are also browsable, letting you confirm that old partitions are being expired as expected.

Exploring high-speed VoltDB transactional data in the DbSchema data explorer

Connecting DbSchema to VoltDB

Select VoltDB from the database list in DbSchema. The VoltDB JDBC driver (voltdbclient-*.jar) is available from the VoltDB distribution package or Maven Central. The driver class is org.voltdb.jdbc.Driver. The JDBC URL format is: jdbc:voltdb://localhost:21212, where 21212 is VoltDB's default client port.

VoltDB authentication is configured through the VoltDB deployment XML file. If security is enabled, supply the VoltDB username and password in the DbSchema connection dialog. For multi-node clusters, you can specify any cluster node in the JDBC URL — the VoltDB client library will discover the full topology automatically through the cluster's topology advertisement mechanism. If VoltDB is running on a non-default port, replace 21212 with the configured port number.

Why Teams Use DbSchema with VoltDB

  • Provides a visual schema diagram that combines table definitions and stored procedure signatures in one view.
  • Enables ad hoc SQL exploration of in-memory data without writing Java stored procedure code.
  • Makes onboarding faster — new team members can understand the transaction interface by browsing stored procedure definitions visually.
  • Helps verify export pipeline setup by letting you inspect source table data before and after export connector configuration.
  • Generates schema documentation for VoltDB deployments, which are often proprietary and otherwise hard to document.
  • Supports multi-node VoltDB clusters through the client library's automatic topology discovery, requiring only one node address in the connection URL.