DbSchema lets you design, manage, and document MemSQL 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 MemSQL database, and deploy changes. DbSchema also includes a data editor, query builder, and HTML5 documentation - everything you need in one tool.
Download DbSchema Download MemSQL JDBC Driver
MemSQL (rebranded as SingleStore) pioneered the concept of in-memory distributed SQL by combining a lock-free skip-list rowstore for low-latency transactions with a compressed columnar store for analytical aggregations. Its architecture separates aggregator nodes — which handle query planning and distribution — from leaf nodes that own partitions of the data. DbSchema connects to MemSQL via its MySQL-compatible JDBC interface, introspects the schema from the aggregator, and renders the dual-storage table model visually.
DbSchema's SQL editor connects to a MemSQL aggregator and supports the MemSQL SQL dialect, including
USING CLUSTERED COLUMNSTORE, SHARD KEY, and stored procedure syntax.
The editor provides syntax highlighting, result set pagination, and the ability to save frequently
used queries as named snippets.
The data explorer lets you browse MemSQL table contents without writing SQL. You can filter rows by column value, inspect columnstore tables that hold aggregated analytical data, and paginate through results — all from a graphical interface that does not require knowing the table's shard topology.
DbSchema generates HTML schema documentation from the MemSQL information schema, including ER diagrams that distinguish columnstore and rowstore tables, column definitions, and index structures. For teams transitioning from MemSQL to its successor SingleStore, this documentation provides a baseline record of the original schema before migration.
MemSQL is MySQL-compatible and listens on port 3306. DbSchema uses the MySQL Connector/J driver,
which it downloads automatically. The JDBC URL format is
jdbc:mysql://host:3306/dbname. Always connect to an aggregator node rather than a
leaf node — DDL statements executed on a leaf node will not propagate to the rest of the cluster.
The aggregator address is displayed in the MemSQL management console under the cluster topology
view. If your MemSQL deployment uses custom ports, check the memsql.cnf configuration
for the port setting.