Data Browser
The SenseDeep data browser can query, manage and modify your table data. It supports browsing by scan, query or by single-table entities.
While the data browser can be used to browse and manage any DynamoDB table, it is turbo-charged when a schema describing the data is imported (such as from a OneTable schema) or defined using the SenseDeep single-table designer. When using a data schema, SenseDeep is able to “understand” your data and organize and present data items as application entities instead of raw, encoded DynamoDB items.
The SenseDeep data browser intelligently displays and formats data according to your single-table schema. This not only makes your encoded single-table data easier to understand, but it guides and validates your changes and prevents schema-breaking and application breaking data changes.
For a quick overview, read SenseDeep Data Browser.
Queries
You can perform DynamoDB scans, native queries or queries by application entity.
When scanning, you select the index to scan and provide optional additional filtering attributes. Attributes can be combined in an ‘AND’ or ‘OR’ expression.
When querying, you specify the index and partition key with optional sort key value. Additional filters may also be specified.
When querying by Entity, you specify the index and application entity model name that is defined in the schema. SenseDeep then intelligently prompts you for the required attributes that comprise the keys to retrieve the data items.
Saving Queries
Queries may be saved to your database table where they are persisted in the schema. You can load and delete queries using the ‘Queries’ button.
Data Visualization
SenseDeep groups, organizes and color-codes query results for maximum clarity.
Columns are ordered with the index partition and sort key first, followed by the schema entity type attribute (if defined). After that, columns for all items are ordered alphabetically. If an item has many attributes, click the edit icon to display the item attributes vertically.
Cells are color coded:
- A cell is green if it can be edited. Click on the cell to modify the value.
- A cell is pink if it has its value derived from a schema value template.
- A cell has a wavy gray background if it is not relevant for this item (as defined by the schema).
- A cell has a blue underline hot-link if it is a reference to another item and can be click to jump to the referenced item.
Hot Linked Items
If you control-click (or Cmd-Click) on a hot-link, you can quickly traverse related items. SenseDeep determines the relevant query to locate the item and automatically fills the index, key and filter attributes accordingly. You can save these queries using ‘Queries -> Save’. Queries are entered into your browser history so you can click the browser ‘Back’ button to easily jump backwards to the original query.
Show Templates
A useful single-table design technique is to compose key values using templates that combine the values of other attributes at runtime to calculate the key values. It is often useful to view the value templates vs the calculated key values. The ‘Templates’ toggle above the table switches between displaying the template values vs the actual data values.
Similarly, there may be some attributes that are designated as ‘hidden’. Changing the hidden toggle will display or hide these attributes.
Context Menu
On data cells, you can right click to display the context menu. The options are:
- Copy to copy the current item to the clipboard in JSON format.
- Design Schema will jump to the SenseDeep single-table designer for the entity on which the current item is based.
- Edit will open the editor slide-out panel for easy editing of the whole item.
- Follow Reference behaves the same as Cmd-Click to follow a hot link reference.
- Generate Mock Data option can be used when developing to generate sample data, such as email addresses or phone numbers.
Modifying Data
You can modify data inline by clicking on any green cell. Once modified, the Save button will be displayed above the items to persist the changes to the table.
To add a new item, click the Add Item button. You can select the desired entity model (if a schema is present) and it will intelligently prompt you for the appropriate attributes.
You can also edit by clicking on the Edit pencil icon at the start of each item. This will display a slide out editor panel that will display only the attributes of the item, organized vertically. Click on a green cell to modify the contents. The red cells have their value derived from other attributes and cannot be edited. You can modify the value template in the schema via the SenseDeep single-table designer.
If you change the partition key values either directly or indirectly be changing attributes that are used in a key value template, SenseDeep will atomically remove the old item and create the new item via a DynamoDB transaction.
When you click save, the changes are accepted, but you still must click the Save button on the query page to persist results to the table.
Import / Export
No man is an island and your data must be easy to export or import. SenseDeep provides and Export to AWS Workbench option. This will export your schema and data items into a WorkBench model. This model can also be imported by the Dynobase tool.
When exporting, you should limit the amount of data you export. WorkBench models are for development and are designed for limited data sets. You can also export in a JSON backup format.
When importing, you can import a model to an existing (empty) table, or you can dynamically create a new table to hold the imported model.