ANSI SQL for Amazon DynamoDB • No ingestion • AI-ready with MCP

Run real SQL on DynamoDB.
No ETL, no infrastructure.

DynamoSQL™ is a SQL query engine that runs directly on your DynamoDB tables. Write real SQL -JOINs, CTEs, aggregations, subqueries -without data pipelines, ETL jobs, or infrastructure to manage.

Early access - We're in beta. Join the beta program →
WITH recent_orders AS (
  SELECT o.customer_id, o.total, o.order_date
    FROM Orders o
   WHERE o.order_date >= '2025-01-01'
)
SELECT c.customer_name, SUM(r.total) AS spend
  FROM Customers c
  JOIN recent_orders r ON r.customer_id = c.customer_id
 GROUP BY c.customer_name
 ORDER BY spend DESC
LIMIT 25;

The problem with querying DynamoDB

Without DynamoSQL

  • × Export data to Redshift, Athena, or S3 just to run a JOIN
  • × Build and maintain ETL pipelines for every reporting need
  • × Struggle with PartiQL’s limited SQL support
  • × Write scan-and-filter code that’s slow and expensive
  • × Manage duplicate data across multiple systems

With DynamoSQL

  • Query DynamoDB directly with ANSI SQL
  • No data movement, no ingestion, no ETL
  • Full SQL support: JOINs, CTEs, aggregations, subqueries
  • Index-aware optimizer that respects DynamoDB’s cost model
  • Query your data where it lives -no copies

Features

Everything you need to run real SQL on DynamoDB, without the overhead.

SQL

ANSI SQL SELECT

CTEs, JOINs, aggregations, subqueries, ordering, and filtering—built for familiar analytics workflows.

OPT

Index-aware optimization

Query plans are optimized around DynamoDB keys and indexes to reduce scans and minimize costs.

API

SQL-over-HTTPS API

Integrate DynamoSQL from apps, dashboards, and internal tools with a simple REST API.

0 ⇄

No data movement

Query your DynamoDB tables in place. No ETL pipelines, no data warehouses, no sync jobs to maintain.

$

Pay-as-you-go pricing

First 500 queries free, no upfront costs or commitments. Pay only for the queries you run, billed through AWS Marketplace.

IAM

IAM-based security

Access is granted via IAM roles with temporary credentials. No long-lived keys or passwords to manage.

MCP

AI-ready with MCP

Connect Claude, Cursor, or any MCP-compatible AI assistant directly to your DynamoDB data for conversational schema discovery and SQL.

+

Portal & SQL workspace

Browse schemas, inspect tables, and run SQL interactively from the DynamoSQL portal—no code or API setup required.

How it works

Get from zero to querying in minutes.

1

Subscribe on AWS Marketplace

Find DynamoSQL on AWS Marketplace and subscribe. Create your account through the fulfillment flow—no separate signup needed.

2

Grant access via IAM role

Create an IAM role in your AWS account with read access to the DynamoDB tables you want to query. DynamoSQL assumes that role using AWS STS.

3

Run SQL queries

Use the DynamoSQL portal or API to execute SQL queries against your DynamoDB tables. Results are returned instantly—no data is copied or stored.

SQL examples

Real queries you can run on your DynamoDB tables.

Simple SELECT
SELECT customer_name, email, signup_date
  FROM Customers
 WHERE status = 'active'
 ORDER BY signup_date DESC
 LIMIT 50;
JOIN across tables
SELECT o.order_id, c.customer_name, o.total
  FROM Orders o
  JOIN Customers c ON c.customer_id = o.customer_id
 WHERE o.order_date >= '2025-01-01'
 ORDER BY o.total DESC;
CTE with aggregation
WITH monthly_totals AS (
  SELECT customer_id,
         DATE_TRUNC('month', order_date) AS month,
         SUM(total) AS spend
    FROM Orders
   GROUP BY customer_id, month
)
SELECT c.customer_name, m.month, m.spend
  FROM monthly_totals m
  JOIN Customers c ON c.customer_id = m.customer_id
 WHERE m.spend > 1000
 ORDER BY m.month, m.spend DESC;
Subquery
SELECT product_name, price, category
  FROM Products
 WHERE price > (
    SELECT AVG(price) FROM Products
  )
 ORDER BY price DESC;

Security

DynamoSQL is designed with security-first principles. Your data stays in your AWS account -DynamoSQL does not persist customer data.

IAM

Least-privilege access

You control exactly which tables and actions DynamoSQL can perform via IAM policies in your own AWS account.

STS

Temporary credentials

All access uses short-lived session credentials from AWS STS (AssumeRole). No long-lived keys or passwords.

LOG

Fully auditable

Every role assumption and DynamoDB API call is logged in your AWS CloudTrail. Full visibility, full control.

Pricing

Simple, transparent, pay-as-you-go.

Pay as you go

Your first 500 queries are free. After that, no upfront fees, no monthly minimums — you pay only for the queries you run, billed directly through your AWS account via AWS Marketplace.

View on AWS Marketplace

FAQ

Common questions about running real SQL on DynamoDB with DynamoSQL.

Can DynamoSQL really query DynamoDB directly?

Yes. DynamoSQL runs directly against your existing DynamoDB tables, so you can query in place without ETL pipelines, data exports, or duplicate storage.

Read the Quickstart

What SQL features does DynamoSQL support?

DynamoSQL is built for ANSI-style SELECT queries on DynamoDB, including JOINs, CTEs, aggregations, subqueries, filtering, ordering, and LIMIT clauses.

Read the SQL reference

How is DynamoSQL different from PartiQL?

PartiQL gives DynamoDB a SQL-like syntax, while DynamoSQL is designed for richer analytical querying with broader SELECT support and optimization around DynamoDB keys and indexes.

Read the FROM and JOINs

Does DynamoSQL support INSERT, UPDATE, or DELETE?

No. DynamoSQL is a read-focused query engine for SELECT workloads, while writes remain in DynamoDB through its native APIs and application paths.

Read the Limitations

Does DynamoSQL move or store my data?

No. Your data stays in your AWS account, and DynamoSQL does not persist customer data just to execute queries.

Read the IAM setup

How is access secured?

You grant access with an IAM role in your AWS account, and DynamoSQL uses temporary STS credentials to assume that role. Role assumptions and DynamoDB API activity remain auditable in CloudTrail.

Read the Authentication and IAM setup

Will DynamoSQL increase my DynamoDB costs?

DynamoSQL is billed through AWS Marketplace, while DynamoDB read capacity is still consumed in your AWS account. Query cost depends heavily on whether the optimizer can use keys and GSIs instead of scans.

Read the Rate limits and quotas

Do I need to redesign my tables or add indexes?

Not necessarily, but performance still follows your existing DynamoDB key design. Common filters and joins work best when suitable keys or GSIs are available to avoid scan-heavy plans.

Read the Query modes

Can I use DynamoSQL from code or internal tools?

Yes. You can run queries from the DynamoSQL portal or call the SQL-over-HTTPS API from apps, dashboards, and internal tools.

Read the Query API

Can I use DynamoSQL with AI assistants like Claude or Cursor?

Yes. DynamoSQL includes an MCP (Model Context Protocol) server that lets AI assistants discover your schemas, explore table structures, and run read-only SQL queries directly. Create an API client in the portal, configure your MCP-compatible tool with the server URL and credentials, and your AI assistant can query your DynamoDB data conversationally.

Read the MCP quickstart

How do I get started?

Subscribe on AWS Marketplace, complete account setup, grant a read IAM role to the DynamoDB tables you want to query, and start running SQL in minutes.

Read the Quickstart

Ready to query DynamoDB with real SQL?

Start running JOINs, CTEs, and aggregations on your DynamoDB tables in minutes.

Get Started on AWS Marketplace