Polyglot Data Model
Starting with version 5.2.0 of Hackolade Studio, users can now define structures once in a technology-agnostic polyglot data model, complete with denormalization and complex data types, then represent these structures in a variety of physical data models respecting the specific aspects of each target technology.
You may want to first read about the background for our polyglot data model approach, and as well as the definition of the polyglot data modeling concept.
The polyglot and target models are separate models. But they are related to ensure consistency. In other words, the behavior is similar to references to external definitions, but at the model level. The polyglot data model is the master, and targets models are dependent on the polyglot model. If changes are required to an object, they must be done in the polyglot model, then the target models must be updated to reflect the changes.
Exceptions are possible: some objects in a polyglot model can be flagged as polyglot-only so they do not appear in the target models. Conversely, you can deactivate entities and attributes in the target model, or you can add objects in the target models that are not reflected in the polyglot model. What is important, mostly, is that, if attributes or properties of an object change in the polyglot model, you may update dependent target models to reflect those changes.
Push and Pull from the target model
Many customers having accumulated physical data models in Hackolade prior to the introduction of the new functionality will want to convert their target model into a polyglot model. This is done by opening the physical target model, selecting the menu Tools > Polyglot > Convert to Polyglot Model...
You must choose whether to make your target dependent of the Polyglot model being created. This is the recommended approach as the Polyglot model should now become the master of changes, and the target model should be dependent of the Polyglot model.
You may then choose the location where you want to store the polyglot model. You're now ready to maintain and update the polyglot data model.
You may also create a polyglot data model from scratch and build it, as you would with physical models. Except that a polyglot data model cannot be forward-engineer to a database instance.