[ P5 ] PRODUCT: A BETTER AMAZON ATHENA CONSOLE, WITH DASHBOARDS

A better Athena console, in your own AWS account.

Cloud Certainty SQLark gives your analysts and engineers one place to write, run, share and chart Amazon Athena queries across your AWS accounts and Regions: an editor that knows your catalogue, the cost of every query, a history that remembers who ran what, and dashboards like Grafana’s, built from plain SQL. You decide who may query which workgroups and databases, and AWS enforces it. It runs entirely in your AWS account, and nothing leaves it.

ONE CLOUDFORMATION STACK · YOUR ACCOUNT · YOUR IDP · EARLY ACCESS · PLANNED FROM $100 A MONTH

Request early access →
SQLARK DEMO · 2:00
Compare plans and prices ↓ Read the docs →

Not on AWS Marketplace yet. Early access by email: [email protected].

[ A ] WHAT THE ATHENA CONSOLE LACKS, AND WHAT SQLARK ADDS

The Athena console runs a query and shows the rows. Teams that query every day end up pasting results into spreadsheets, keeping SQL in wikis, running a separate dashboard service on one shared role, and writing IAM policies person by person. SQLark covers the gaps and keeps everything in your account.

Charts

The Athena console:Results are a table and a CSV file. For a chart, AWS points you to another service.

SQLark:Nine visualisations on any result: table, time series, bar, pie, stat, gauge, scatter, heatmap and text, with units, thresholds, legends and fixed series colours. A saved query keeps up to 10 of them.

Dashboards

The Athena console:None.

SQLark:Dashboards on a 24-column grid of panels and rows, each panel from SQL or a saved query, with a time picker, auto-refresh, kiosk mode for a wall display, JSON import and export, and versions you can restore.

Parameters

The Athena console:Positional ? parameters in prepared statements, at most 25 in the console. No dropdowns, no time ranges.

SQLark:Named variables: custom lists, values from a query, text boxes, intervals and constants, multi-value with All, and a panel repeated per value. Time macros such as $__timeFilter and $__partitionFilter put the dashboard’s range into the SQL.

History

The Athena console:Recent queries for 45 days, one workgroup at a time, and nothing says who ran a query.

SQLark:Every query run through SQLark with who ran it, the data scanned, the time and the cost, across workgroups, accounts and Regions, kept from 30 days on Starter to two years on Enterprise. Administrators see everyone’s, day by day.

Saved queries

The Athena console:Tied to one workgroup, with no version history, and moved to another workgroup only by copy and paste.

SQLark:Saved queries with folders, tags, variables and charts, not tied to a workgroup. Every version kept with compare and restore, the last run shown, and a save that never overwrites a colleague’s change. Shared with the team on Team and above.

Sharing results

The Athena console:No way to share a result with a person, and anyone who can read the results bucket reads everyone’s results.

SQLark:Results are shown only to the person who ran the query. To share one, create a snapshot: a frozen copy of a result or a whole dashboard, with an expiry, a confirmation first and an entry in the audit log. Team and above

Cost

The Athena console:Cost per workgroup through cost allocation tags at best; nothing per person or per query.

SQLark:The data scanned and estimated cost of every run, daily totals for administrators, and on Business and above usage and cost per user and per workgroup.

Cost control

The Athena console:One per-query cutoff per workgroup. Workgroup-wide limits only send alerts.

SQLark:Daily scan budgets per user, refused before the query starts. Repeated runs and dashboard refreshes reuse your own recent result or Athena’s, for free. Business and above

Access

The Athena console:Each person needs IAM permissions on the workgroup, Glue, the S3 data, the results location and KMS, written by hand.

SQLark:Grants per user or group: browse, query, download or ddl on workgroup and database patterns such as “sales_*”, per account and Region. AWS enforces them through a session policy on every request, so a table outside the grant is refused even inside a join.

Audit

The Athena console:A query execution has no field for who started it; CloudTrail shows the IAM role.

SQLark:The user’s email is the source identity of every AWS session, so CloudTrail names the person on every Athena, Glue and S3 call. The audit log records administrative changes, write statements, downloads and snapshots.

Many accounts

The Athena console:Sign in to each account and switch Region to see its workgroups and catalogue.

SQLark:One workspace across your AWS accounts and Regions, through a small role in each account, deployed one by one or across an AWS Organization with a StackSet.

SQLARK DEMO · 2:00
A SQLark dashboard on Amazon Athena: region and workgroup variables, a time picker, orders per day this week against last week, revenue by country, and the data scanned and query cost.
Dashboards from plain SQL
A grant for the analysts group: query tables matching sales_* in the analysts workgroup, download on, DDL off, a 200 GB daily scan budget, and CloudTrail showing the user’s email as the source identity.
Per-user grants, enforced by AWS
Architecture: users sign in through Amazon Cognito or their identity provider, the SQLark API checks grants, and a per-user role with SourceIdentity calls Amazon Athena, the Glue Data Catalog and S3 in your account and spoke accounts.
Runs in your AWS account

[ B ] WHAT YOUR ANALYSTS GET

Write SQL, see what it cost, keep it, chart it and share it, without AWS console access. Users see only the databases and workgroups they are granted, and actions they may not take are greyed out with the reason.

Workspace
Tabs, each with its own connection, Region, workgroup and database. A query keeps running when you close the browser; it waits for you in History.
Editor
Athena (Trino) highlighting and autocomplete of keywords, functions, databases, tables and columns, with partition columns marked. Error positions underlined, formatting, find and replace, multiple cursors.
Schema browser
Databases, tables and views with columns, partitions, format, location, SerDe and view SQL, from a catalogue cache the whole team shares.
Every run
Queue, planning and engine time, the data scanned and the estimated cost. One statement at a time, read or write shown before it runs, and Cancel.
Results
A typed grid with pages, sorting, search and column filters, which it can run over the whole result in Athena. Download the full result file through a short-lived link, or export the grid.
History
Your queries with who ran them, the data scanned, the time and the cost, filtered by source and status, and opened again in a new tab.
Saved queries
Folders, tags, descriptions, variables and charts. Every version kept with compare and restore. Private, or shared on Team and above.
Snapshots
A frozen copy of a result or a dashboard, readable by everyone signed in, until it expires. Team and above.
QUERY RUN saved query · shared
  • Datasource analytics · eu-west-1
  • Workgroup sqlark
  • Status Succeeded
  • Data scanned 3.2 GB · 4.8 s
  • Estimated cost $0.016
  • Ran by [email protected]
TODAY’S SCAN BUDGET41 / 200 GB
An example run. Athena bills $5 per TB scanned, rounded up to the megabyte with a 10 MB minimum; running it again within the reuse age costs nothing.

[ C ] DASHBOARDS FROM PLAIN SQL

A dashboard is a grid of panels, each a SQL query with a visualisation, under one time range and a row of variables. Macros put the range into the SQL, so a panel reads only the partitions it needs, which is what keeps the scan, and the bill, small.

$__timeFilter(col)
A timestamp column between the start and the end of the range
$__dateFilter(col)
The same for a date column
$__partitionFilter(col, 'yyyy/MM/dd')
A string partition column between the two ends, so Athena reads only the partitions in range
$__timeGroup(col, '$__interval')
Time buckets that give about 300 points over the range
$__unixEpochFilter(col)
Unix times in seconds
$__timeFrom(), $__timeTo(), $__range_s
The range itself, for anything else
  • Every panel runs with the permissions of the person viewing the dashboard, so a shared dashboard shows each viewer only what their grants allow
  • At most 4 panels run at once, backing off when Athena is busy, so a big dashboard never uses up your account’s query quota
  • Opening a dashboard again within the reuse age shows your earlier results without starting a query
  • Auto-refresh down to 5 minutes on Starter and 10 seconds on Enterprise, paused while the browser tab is hidden
PANEL · TIME SERIES last 7 days · region: eu-west-1, eu-west-2
SELECT $__timeGroup(event_time, '$__interval') AS time,
       status,
       count(*) AS requests
FROM web_logs
WHERE $__partitionFilter(dt, 'yyyy/MM/dd')
  AND $__timeFilter(event_time)
  AND region IN ($region)
GROUP BY 1, 2
ORDER BY 1
With the range 7 to 14 October, $__partitionFilter(dt, 'yyyy/MM/dd') becomes dt BETWEEN '2026/10/07' AND '2026/10/14', so Athena skips every other partition.

[ D ] WHAT ADMINISTRATORS CONTROL

Connections

This account from the start; other accounts through a spoke role with an external ID, one by one or across an AWS Organization with a StackSet. Each role has an access level, Query or Full, that SQLark can never exceed.

Workgroups

Use your existing workgroups, or let the stack create a SQLark workgroup per account and Region, with an encrypted results bucket, an expiry on result files and a per-query scan limit.

Grants

browse, query, download and ddl for users and groups from your identity provider, on workgroup and database patterns, per connection and Region. A grant on one database never leaks into another workgroup.

Enforced by AWS

The API checks every grant, and every AWS call runs with credentials a session policy limits to the granted workgroups, databases and result locations. A grant that would not fit is refused, never widened.

Budgets and usage

Daily data scanned per day with its estimated cost, and on Business and above a scan budget per user and the usage per user and per workgroup.

Audit log and settings

Roles, connections, grants and settings changes, write statements, downloads, snapshots and content changes, with the person and source IP. An IP allowlist on Business and above, the reuse age and the price per terabyte.

[ E ] SECURITY

01

Nothing leaves your account

Your data stays in your S3 buckets and Athena writes results to your workgroups’ locations. Cloud Certainty runs no service in the data path, and SQLark sends no telemetry. The one outbound request is an optional daily read of a public release manifest.

02

Least privilege, twice

Users see no database until they are granted one. The API checks the grant, then AWS enforces it again through a per-request session policy on Athena, Glue and S3.

03

Results stay private

A result is shown to the person who ran it and to administrators. SQLark’s own reuse returns only your own earlier runs, and downloads are signed with your own scoped session.

04

Encryption

The SQLark results bucket is encrypted with SSE-S3 or your KMS key, blocks public access and accepts TLS only. Tables are encrypted at rest, with point-in-time recovery.

05

Audit

CloudTrail names the person on every AWS call SQLark makes, and the audit log keeps administrative changes, write statements, downloads and snapshots for 30 days to 10 years by plan.

The security overview has the threat model, the IAM roles, the data flows and the shared responsibility a security review needs.

[ F ] RUNS IN YOUR ACCOUNT, FROM LAUNCH TO THE FIRST QUERY

  1. 01

    Deploy

    Launch one CloudFormation stack in your own account and Region. It is serverless, so it costs close to nothing while nobody is querying.

    Stays in your account

    Saved queries, dashboards, history, snapshots, the catalogue cache and the audit log are in DynamoDB in your account. Nothing is sent to Cloud Certainty.

    Licensed through AWS

    The licence is read from AWS License Manager in your own account. Nothing phones home.

  2. 02

    Sign in

    Users sign in through Amazon Cognito with MFA or AWS IAM Identity Center on every plan, or your own SAML or OIDC provider, such as Microsoft Entra ID or Okta, on Team and above.

    Only trusted identities

    Roles and grants follow the user’s email, so SQLark accepts only emails your directory asserts or has verified.

  3. 03

    Connect accounts

    Workgroups and databases in this account are there from the start. Reach other accounts through a small IAM role you deploy in each, at the access level you choose.

    The role is the ceiling

    With the default Query level, SQLark can run read-only statements and write query results, nothing more. Changing data or the catalogue needs the Full level, the Team plan and a ddl grant.

  4. 04

    Grant and query

    Give teams browse, query, download or ddl on their databases. They write SQL, chart it and build dashboards without AWS console access.

    Scoped on every request

    Each AWS call runs with credentials that last an hour at most, narrowed by a session policy to the user’s grants, Glue and S3 included.

    Every query traced

    The user’s email is the source identity of every session, so CloudTrail names the person.

One stack: a serverless API (API Gateway and Lambda), the web app on Amplify Hosting, Amazon Cognito sign-in, two DynamoDB tables and, optionally, a SQLark workgroup with its results bucket. The installation guide lists every parameter.

[ G ] PLANS AND PRICING

The pricing planned for the AWS Marketplace launch: contract pricing, monthly or 12 months up front. Plans are not priced per user or per query: everyone in your organisation can use SQLark. Prices in US dollars, billed through your AWS bill.

Starter

$100/month
or $1,000 for 12 months

For a small team that needs a better editor, history with who ran what and its cost, and private dashboards.

AWS accounts
3
Saved queries per user
50
Dashboards per user
5
Versions kept per query or dashboard
5
Query history kept
30 days
Planned AWS Marketplace listing: SQLark Starter (Starter)
Ask about Starter →

Team

$250/month
or $2,500 for 12 months

Adds shared saved queries and dashboards, snapshots, statements that change data or the catalogue, and your own SAML or OIDC sign-in.

AWS accounts
10
Saved queries per user
500
Dashboards per user
50
Versions kept per query or dashboard
25
Query history kept
90 days
Planned AWS Marketplace listing: SQLark (Team)
Ask about Team →

Business

$1,000/month
or $10,000 for 12 months

Adds cost control and governance: daily scan budgets per user, usage and cost per user and workgroup, and the IP allowlist.

AWS accounts
50
Saved queries per user
2,000
Dashboards per user
500
Versions kept per query or dashboard
50
Query history kept
365 days
Planned AWS Marketplace listing: SQLark (Team + Business add-on)
Ask about Business →

Enterprise

$2,500/month
or $25,000 for 12 months

Everything in Business, with the highest limits and two years of query history.

AWS accounts
Unlimited
Saved queries per user
Unlimited
Dashboards per user
Unlimited
Versions kept per query or dashboard
100
Query history kept
730 days
Planned AWS Marketplace listing: SQLark (Team + Business add-on + Enterprise add-on)
Ask about Enterprise →
SQLark plans compared
FeatureStarterTeamBusinessEnterprise
Per month$100$250$1,000$2,500
12 months$1,000$2,500$10,000$25,000
AWS accounts31050Unlimited
Saved queries per user505002,000Unlimited
Dashboards per user550500Unlimited
Versions kept per query or dashboard52550100
Query history kept30 days90 days365 days730 days
Audit log kept30 days90 days365 days3,650 days
Fastest dashboard refresh5 minutes1 minute30 seconds10 seconds
Rows per snapshotNo snapshots10,00050,000100,000
Shared saved queries and dashboardsNot includedIncludedIncludedIncluded
Snapshots of results and dashboards, with an expiryNot includedIncludedIncludedIncluded
Statements that change data or the catalogue (CREATE TABLE AS, INSERT, ALTER and the like)Not includedIncludedIncludedIncluded
SAML and OIDC identity providers, such as Microsoft Entra ID and OktaNot includedIncludedIncludedIncluded
IP allowlist on every API callNot includedNot includedIncludedIncluded
Daily data scanned budgets per userNot includedNot includedIncludedIncluded
Usage and cost per user and per workgroupNot includedNot includedIncludedIncluded

Every plan includes

  • Workspace with tabs, each with its own connection, Region, workgroup and database
  • SQL editor with Athena (Trino) highlighting and autocomplete of databases, tables and columns
  • Schema browser and catalogue explorer: columns, partitions, formats, locations and view SQL
  • Data scanned, time taken and estimated cost on every run, and who ran it
  • Query history across workgroups, accounts and Regions, beyond Athena’s 45 days
  • Private saved queries and dashboards with folders, tags and versions you can compare and restore
  • Every visualisation, variables and time macros, auto-refresh and kiosk mode
  • Per-user result reuse and Athena result reuse, so repeated runs cost nothing
  • Grants per user or group, enforced by AWS session policies, with the user’s email in CloudTrail
  • Connections to other AWS accounts, optional SQLark workgroups, daily usage totals and an audit log
  • Amazon Cognito sign-in with MFA, and IAM Identity Center

Pricing for the launch

SQLark is in early access and not on AWS Marketplace yet. These are the plans and prices planned for the launch. Until then, ask for early access.

Business and Enterprise are add-ons

On the SQLark listing, Team is the base plan. Business is Team plus the Business add-on ($750 a month or $7,500 for 12 months), and Enterprise adds the Enterprise add-on to both ($1,500 a month or $15,000 for 12 months). An add-on on its own grants nothing. Starter is a separate listing, SQLark Starter.

Athena is billed by AWS

Your queries are billed by Athena as usual, about $5 per TB scanned in most Regions, exactly as in the Athena console. SQLark shows the cost of every run, reuses results so repeats are free, and on Business and above caps each person’s daily scan. Lambda, API Gateway, DynamoDB and Cognito cost pennies a month for a team.

Support

Basic support is included. Paid plans with response times, and a fixed-price installation service, are on the support page. Questions about plans: [email protected].

[ H ] QUESTIONS

Can I use SQLark today?
It is in early access. It is not on AWS Marketplace yet; email us about your AWS setup and we will set you up ahead of the launch.
Does any data leave my AWS account?
No. The stack runs in your account and calls AWS only. Everything SQLark stores is in DynamoDB in your account, and the licence is read from AWS License Manager there.
Can it change my data?
Only if you let it. The default Query access level allows read-only statements and writing results. CREATE TABLE AS, INSERT, ALTER and the like need a Full connection, the Team plan or above, and a ddl grant, and each one is audited.
What does it cost to run?
The licence is a monthly or 12-month contract. Athena bills your queries as usual, about $5 per TB scanned; SQLark shows that cost on every run and reuses results to keep it down. Lambda, API Gateway, DynamoDB and Cognito cost pennies a month for a team.

More in the FAQ, including how SQLark compares with other tools, and the documentation.

Amazon Web Services, AWS, Amazon Athena, AWS Glue, Amazon S3, AWS CloudTrail and AWS Marketplace are trademarks of Amazon.com, Inc. or its affiliates. Grafana is a trademark of Grafana Labs. SQLark is a product of Cloud Certainty OÜ and is not affiliated with or endorsed by Amazon.

Tell us what you have. We'll make it better and cheaper.

Send a short description of your current setup. We will tell you what we would improve, what it would cost, and where the savings are. A considered reply from an engineer, not a sales sequence.

TELL US ABOUT YOUR SETUP →