Advanced Denormalization Options for Non-relational Models

Advanced Denormalization allows you to select the objects for the denormalization of a NoSQL database model before it is derived from a source model. It enables you merge the objects in the source model into the target NoSQL model based on the requirements.

The denormalization options for NoSQL databases appear only when the Advanced Denormalization option is selected while deriving a model. Once the model is derived, the Denormalization Wizard for the model appears.

The objects that you can denormalize differ based the type of a NoSQL database. Refer to the following table for the list of supported databases, objects, and its name mappings for denormalization.

Database

Object Names

Amazon Keyspaces

Tables, Columns

Avro

Documents, Fields

Cassandra

Tables, Columns

Couchbase

Tables, Items

DynamoDB

Tables, Items

Google BigQuery

Tables, Columns

JSON

JSON Objects, Fields

MongoDB

Collections, Fields

Parquet

Records, Fields

This topic walks you through the advanced denormalization options for Cassandra database. Similarly, you can denormalize other supported NoSQL databases using the advanced denormalization feature.

To denormalize the model further, follow these steps:

  1. On the Tables section, click the Target drop-down to select a target table. All the tables will be merged into the selected target table.

    Select Auto Denormalization option to merge tables with the target automatically. This embeds the tables in the model with one-one relationships as User Defined Type and one-to-many relationships as normal columns.

  2. Under Available Tables, select one or more tables to merge. Then, click .

    This moves the selected tables under Selected Tables.

  3. Click Next.
    The Column section appears. It displays a list of available columns.

  4. Under Available Columns, select the that you want to merge. Then, click .

    This moves the selected databases under Selected Columns.

    Once you have added the selected columns, you can use any of the following options:

    Merge ()

    Use this option to merge the selected columns and create a new column under Selected Columns.

    Update ()

    Use this option to edit column details such as column name, domain parent, and data type for a selected column.

    New ()

    Use this option to add a new column under Selected Columns.

    Delete ()

    Use this option to delete the selected columns.

  5. Click Next.
    The Options section appears.

  6. Select an Embedding Type.

    You can select the following embedding options:

    • Embed as Auto: Use this option to embed tables through an auto-mechanism based on one-to-many and one-to-one relationships.

    • Embed as Normal: Use this option to embed collections using normal column styles.

    • Embed as UDT: Use this option to embed collections using a User Defined Type (UDT) styles.

  7. Select Relationships option to include table relationships to the model.

  8. Select Cascading options to determine how multiple collections are merged into a single collection.
    Use the following cascading options:

    • All: Use this option to denormalize all relationship levels in a collection into a single collection.

    • Levels: Use this option to specify the number of levels up to which collections are denormalized into one collection. For example, if you set Level to 1, all the collections up to level 1 in the relationship hierarchy are denormalized into a single collection.

    • Auto Cleanup: Use the option to delete the source collection after denormalization.

  9. Click OK.

    The denormalization process starts and displays objects based on the denormalization option.
    Alternatively, you can click Commit to apply changes to the model without exiting the Denormalization Wizard.