DynamoDB Tables Overview
SenseDeep has a complete DynamoDB developer studio to support DynamoDB designs and single-table development.
It includes a table manager, data browser, single-table designer, provisioning planner, database migration manager and in-depth table metrics.
All facets of the SenseDeep DynamoDB studio are single-table "schema aware". This means SenseDeep can understand your single-table designs and application entity data.
For a quick overview, read SenseDeep DynamoDB Studio.
Single Table Designs
Best practices for DynamoDB have evolved to favor single-table design patterns where one database table serves the entire application and holds multiple different application entities.
This design pattern offers greater performance by reducing the number of requests required to retrieve information and lowers operational overhead. It also greatly simplifies the changing and evolving of your DynamoDB designs by uncoupling the entity key fields and attributes from the physical table structure.
However, managing single-table data and performance can often feel like you are peering at Assembly Language. Composite keys with prefixed and mapped attribute names are single-table design techniques but they can make just reading a single-table item quite difficult.
SenseDeep understands your single-table schema and can present and organize your data logically according to your application entities.
The SenseDeep table manager can manage the DynamoDB tables for your enabled clouds. You can create and delete tables and indexes for your tables.
The SenseDeep table management is not meant to replace appropriate "infrastructure-as-code" deployment of tables to production. Rather, it intends to provide a quick and easy way to create and manage tables and indexes while developing your DynamoDB applications.
SenseDeep will automatically discover your tables and will dynamically update this list as new tables are created or destroyed. The table list includes the table size, number of items, billing scheme and provisioned capacity.
The SenseDeep data browser can easily query, manage and modify your table data. It supports browsing by scan, query or by single-table entities.
The data browser intelligently displays and formats data according to your single-table schema. You can click on attributes to hot-link to referenced entities and easily traverse related items.
When querying by entity, SenseDeep utilizes the single-table schema to guide creating queries according to the schema models and attributes.
Single Table Designer
The SenseDeep Single Table Designer provides an interface to create, manage and modify your single-table schemas.
Single-table schemas define how your application data is stored in the DynamoDB table. Schemas define your application entities, table indexes and key parameters. Via schemas, complex mapped table items can be more clearly and reliably accessed, modified and presented.
The SenseDeep single-table designer works best with the OneTable library, but should work with any consistent single-table design.
The designer stores your single-table schemas in your table. In this manner, your table is self-describing as to how table data should be interpreted.
The DynamoDB Provisioning page displays your current and projected provisioning, utilization and costs.
The provisioning planner displays displays the costs of your current billing plan (OnDemand vs Provisioned) and the cost of an alternate plan if you were to switch your billing plan from OnDemand to Provisioned or vice-versa.
Database Migration Manager
The SenseDeep database migration manager provide a controlled way to upgrade or downgrade your table data.
It displays what migrations have been applied to your data and what migrations are outstanding. It shows what is the migration version for your current data and schema. You can upgrade by running outstanding migrations or downgrade by reversing migrations.
SenseDeep can orchestrate DynamoDB migrations controlled by the OneTable Migration library.
Check out the OneTable Controller sample OneTable Controller in GitHub and deploy to host and manage your data migrations.
Read Configuring OneTable Migrate for more information and setup.
SenseDeep provides both standard AWS DynamoDB metrics and enhanced single-table metrics.
The DynamoDB standard metrics displays overview metrics and operation details for a whole DynamoDB table. These metrics come from the standard AWS CloudWatch DynamoDB metrics.
DynamoDB Single-table designs are more complex and require per entity/model performance monitoring and metrics. Traditional monitoring covers table level and operation level metrics only. What is missing is the ability to see single-table entities and their performance and load on the database.