Skip to content
/ ddbviz Public

A webapp to visualize your DynamoDB tables and table data, with a focus on cost optimization.

Notifications You must be signed in to change notification settings

robm26/ddbviz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ddb viz

A webapp to visualize your DynamoDB tables and table data, with a focus on cost optimization.

screenshot

Features

This tool allows you to click to an AWS region and see a smart grid of all your DynamoDB tables. Table sizes, configuration settings, and costs are shown in sortable columns, allowing you to spot the tables with the biggest costs.

Item Browser

You can click on a table name to open a panel with your table's GSI list, a scan button, and a query form. Scan to show your items' attributes styled and organized in schemaless mode, grid mode, or summarized. Hover over each GSI name and the item grid reacts by illuminating the GSI's sparcity and projection. Select the GSI and scan again to see the GSI's collections. Partition and sort key values are clickable.

Color legend:

Partition Key Sort Key

GSI Partition Key GSI Sort Key

Prerequisites

  • An AWS account with DynamoDB tables
  • AWS CLI setup and configured with DynamoDB permissions
  • Node.JS with the aws-sdk v3 installed
  • Remix.run installed

Setup

You can run this webapp on your laptop or in the AWS Cloud9 environment.

  1. Clone the repository to your laptop

  2. Open a shell terminal. Verify your environment is ready to connect to your AWS account by running aws sts get-caller-identity and aws dynamodb list-tables

  3. Navigate into the app folder, and type npm install and then npm run postinstall to install remix and required node modules.

  4. Run npm run dev

    ℹ️ Profiles and Ports
    The default AWS profile will be used unless you set this environment variable: export AWS_PROFILE=myprofile
    Cloud9 users may set port 8080 so the Preview browser works: PORT=8080 npm run dev
  5. Navigate to http://localhost:3000 to open the app.

  6. Choose one of the regions listed, or you can choose localhost:8000 to use DynamoDB Local.

  7. A grid with rows and columns should appear. Notice the column headers are sortable.

  8. Review the final columns which calculate and compare the monthly table costs in Standard and Infrequent Access (IA) modes.

  9. If a table may benefit from IA, the monthly savings will be shown in green.

Note

The regions available for navigation may be manually adjusted in the app/configuration.js file.

While the app neither stores or requires AWS credentials to run, relying only on your existing CLI environment, it does expose DynamoDB's list-tables via HTTP. It is recommended to stop the dev server when you are done.

Contribute

Submit a PR or an Issue, or share your feedback.

About

A webapp to visualize your DynamoDB tables and table data, with a focus on cost optimization.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published