DbSchema lets you design, manage, and document DynamoDB 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 DynamoDB database, and deploy changes. DbSchema also includes a data editor, query builder, and HTML5 documentation - everything you need in one tool.
Download DbSchema Download DynamoDB JDBC Driver
Amazon DynamoDB is a fully managed serverless NoSQL database on AWS that delivers single-digit millisecond performance at any scale. Each DynamoDB table is defined by a partition key (and optionally a sort key) that together form the primary key for every item. Items can contain an arbitrary set of attributes beyond the primary key, enabling flexible document-style storage. Global Secondary Indexes (GSIs) project a subset of attributes onto an alternate key, allowing efficient queries on non-primary attributes, while Local Secondary Indexes (LSIs) enable alternate sort orderings within the same partition. DbSchema's custom JDBC driver introspects DynamoDB tables and their index structures, rendering them as schema diagrams that show partition keys, sort keys, GSI projections, and LSI configurations in a single visual layout.
DbSchema ships a custom-built JDBC driver (com.wisecoders.jdbc.dynamodb.JdbcDriver)
specifically for DynamoDB, translating SQL SELECT, INSERT, UPDATE,
and DELETE statements into DynamoDB API calls using the PartiQL dialect that DynamoDB
natively supports. This means you can query DynamoDB items using familiar SQL syntax in DbSchema's
SQL editor without learning the DynamoDB SDK API. The editor provides table and attribute name
auto-completion, and results are displayed in a tabular grid that handles DynamoDB's schema-flexible
items by showing all observed attribute names as columns within the sampled result set.
The DbSchema data explorer lets you browse DynamoDB table items interactively, filtering by partition key value or applying scan filters on any attribute. You can navigate GSI projections directly from the schema diagram by clicking the index node, and the explorer will query items through the selected index. For DynamoDB Local development environments this is especially useful: you can rapidly inspect item shapes, verify TTL attribute values, and confirm that DynamoDB Streams are producing the expected event records, all without writing SDK code or using the AWS Console.
To connect DbSchema to DynamoDB, the custom JDBC driver
(com.wisecoders.jdbc.dynamodb.JdbcDriver) is bundled with DbSchema and does not require
a separate download. The JDBC URL format is jdbc:dynamodb://amazonaws.com for production
AWS DynamoDB, or jdbc:dynamodb://localhost:8000 for DynamoDB Local. Provide your AWS
Access Key ID and Secret Access Key in the connection dialog, along with the target AWS region (for
example us-east-1). DbSchema communicates with DynamoDB over HTTPS on port 443.
For production environments, using IAM roles with the minimum required DynamoDB permissions is
recommended over long-lived access keys.