Design and Manage TarantoolDB Databases Visually with DbSchema

DbSchema lets you design, manage, and document TarantoolDB 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 TarantoolDB 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 TarantoolDB JDBC Driver

Tarantool's In-Memory Space Model and SQL Schema Visualization

Tarantool is an in-memory computing platform that combines a high-speed NoSQL data engine with an embedded application server powered by Lua fibers. Data is organized into spaces — analogous to tables — each with one or more indexes that determine access patterns. Spaces can persist to disk via the write-ahead log (WAL) and snapshots while remaining fully in-memory for read/write access, delivering sub-millisecond latency. Tarantool also exposes a SQL interface layered on top of its native NoSQL spaces, making the data accessible via standard JDBC tooling.

DbSchema connects to Tarantool through the Tarantool JDBC driver and reverse-engineers the SQL-facing schema — spaces that have been defined with SQL-compatible column metadata appear as entities in the visual diagram. Index types (TREE, HASH, RTREE, BITSET) are captured as part of the schema model, and the relationships implied by foreign key equivalents in the application logic can be drawn manually on the diagram canvas to document the intended data model.

Tarantool space and index schema visualized as a diagram in DbSchema

Writing SQL Queries Against Tarantool Spaces

Tarantool's SQL interface supports a subset of ANSI SQL that covers SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, and basic joins. DbSchema's SQL editor sends queries via the JDBC layer and displays results in the tabular results grid. This is a convenient way to explore space contents, run ad hoc aggregations, or prototype queries that will later be wrapped in Lua stored procedures for production use.

Because Tarantool's SQL layer sits on top of its NoSQL engine, some operations — such as full-table scans on spaces without a suitable index — are more expensive than in a traditional RDBMS. The SQL editor's EXPLAIN support helps you identify when a query is performing a sequential scan so you can add the appropriate index before deploying to production. You can also call Tarantool's built-in stored procedures using the CALL statement through the JDBC interface.

Building and executing SQL queries against Tarantool spaces in DbSchema

Browsing Tarantool Space Data with the Data Explorer

The DbSchema data explorer presents Tarantool space records as rows in a paginated grid, making it easy to inspect individual tuples without writing a Lua box.select call or a raw SQL query. You can filter the view by any indexed column and navigate between pages of results to spot-check data quality after an import or a bulk update operation.

The explorer is particularly useful when Tarantool is deployed as a high-speed session store or cache, and you need to quickly verify that session records are being written with the correct TTL or flag values. Because Tarantool supports composite primary keys and multi-part indexes, the data explorer shows all key parts together, giving you the full context needed to understand each record's identity within the space.

Exploring Tarantool space records in the DbSchema data explorer

Connecting DbSchema to TarantoolDB

To connect DbSchema to Tarantool, select TarantoolDB from the database list and provide the Tarantool JDBC driver (tarantool-jdbc-*.jar) if it is not already bundled. The JDBC URL format is: jdbc:tarantool://localhost:3301. The default Tarantool port for the binary protocol (and the SQL listener) is 3301.

Tarantool must have the SQL listener enabled — this is done by calling box.cfg{listen = 3301} in the Tarantool configuration file and ensuring the SQL module is available. Authentication uses Tarantool's native user credentials defined via box.schema.user.create. For production deployments that use VShard for horizontal sharding, connect to the router instance rather than individual storage nodes so that the SQL layer has visibility across all shards.

Why Teams Use DbSchema with TarantoolDB

  • Provides a visual schema diagram for Tarantool spaces, bridging the gap between its NoSQL model and relational documentation.
  • Enables SQL-based exploration of in-memory data without writing Lua box.select calls or console scripts.
  • Helps developers new to Tarantool understand the space/index structure through a familiar ER diagram view.
  • Useful for debugging high-throughput applications by allowing spot-checks of space records via the data explorer.
  • Generates offline schema documentation for teams that need to document their Tarantool data model for compliance or handoff.
  • Supports mixed-database environments where Tarantool handles caching and a relational DB handles persistence, managed from one tool.