Database guides

Amazon DynamoDB

Updated 2026-08-01 · 3 min read

Query DynamoDB with PartiQL using your existing AWS credentials — nothing to paste, nothing for us to store.

AddisDB reaches DynamoDB through the AWS SDK and queries it with PartiQL, the SQL-like dialect DynamoDB supports natively. Authentication uses your ambient AWS credential chain, so there is no key to paste and no secret for us to hold.

Who it is for

DynamoDB is a fully managed key-value and document store with no servers, no version upgrades, and single-digit millisecond latency that does not change as the table grows. You design around access patterns and partition keys rather than around normalization.

The model is two keys and nothing else: a partition key that decides which physical partition a row lives on, and an optional sort key that orders rows inside it. Every efficient query names a partition key. Anything else is a scan, and a scan reads the whole table whether or not it returns anything.

It fits high-volume, well-understood access patterns — session stores, shopping carts, IoT and event ingestion, user profiles — especially in serverless AWS architectures where a connection pool would be a liability.

It fits badly when the questions are ad hoc. If you do not know the queries in advance, you will end up with a table you cannot ask new questions of without a new index.

Set up AWS access

  1. Install the AWS CLI and run aws configure (or aws configure sso) to set up a profile.
  2. Confirm it works: aws dynamodb list-tables --region us-east-1 should return your tables.
  3. The identity needs dynamodb:ListTables, dynamodb:DescribeTable and dynamodb:PartiQLSelect. A read-only policy such as AmazonDynamoDBReadOnlyAccess covers browsing.
  4. Note the region your tables live in — DynamoDB is regional, and a table in one region is invisible from another.
  5. For SSO profiles, run aws sso login before connecting; an expired session shows up as a credentials error rather than a network one.

Connect from AddisDB

  1. New Connection → DynamoDB under Key–Value.
  2. Put your AWS region in the Host field, for example us-east-1.
  3. Put your AWS profile name in Username, or leave it blank to use the default credential chain.
  4. Table is optional — set it to scope introspection to a single table.
  5. Leave the password blank; it is ignored. Test, then Save.
An AWS-authenticated connection in AddisDB, using the region and profile fields instead of a password.

Running DynamoDB Local for offline work? Put its URL in the Connection URL box and it is used as an endpoint override.

How to query it

SELECT * FROM "Orders" WHERE "customerId" = 'c-1024';

SELECT "orderId", "total"
FROM "Orders"."gsi_status"
WHERE "status" = 'PENDING';

Two details of the syntax are worth committing to memory: table and attribute names go in double quotes, string values in single quotes; and an index is addressed as "Table"."IndexName", which is how you query a global secondary index rather than the base table.

A query whose WHERE clause names the partition key with equality is a Query — cheap and bounded. Anything else silently becomes a Scan. There is no error and no warning; the only signal is the bill, so read your predicate before you run it against a large table.

What AddisDB gives you

  • Tables listed in the sidebar with their key schema — DynamoDB is schemaless beyond its keys, so key attributes are the columns with declared types.
  • Items flattened into the grid, with the JSON tab for the full item.
  • Read-only enforcement — anything that is not a PartiQL SELECT is rejected.
  • No stored credentials at all: authentication rides your existing AWS profile, SSO session or IAM role.
  • Table sizes and item counts from DescribeTable, feeding the size alerts.
  • The Chart view, ⌘K search, and AI chat grounded in your tables.