Figure 1 – The basic principles of biGENiUS
The basic principles of biGENiUS are illustrated in Figure 1: you create a business model that maps to a design pattern, which generates what you need for the target environment.
The business model can be created in various ways, being data, model or reference model-driven. You can import graphical models from third party environments though the company has no specific partnerships in this area, as yet.
These models are mapped to design patterns and these contain configuration details about the target environment you are creating or updating, as well as best practices built into the architecture component of the design pattern. In this context, it is worth noting that the deployment objects that are generated can be conformed to comply with regulations such as GDPR. Out of the box the company provides design patterns for Microsoft environments, Oracle, Hadoop, Spark, Kafka and StreamSets but it is relatively easy (the company claims three to five days) to build a new design pattern. We would like to see the company provide an SDK (software development kit) to allow users build their own design patterns, though you can configure existing design patterns, and there are facilities to make template development easier.
Figure 2 – Object Explorer
In so far as automation is concerned, the software will generate all the necessary scripts for loading the data into a staging area, for cleansing and for populating the eventual target. These scripts, which will generate tables, (aggregated) views, load functions and so on, all run on the target (using, in a relational context, the relevant version of SQL and Spark SQL on Hadoop) so that there is no vendor lock-in. Full documentation is generated complete with data lineage and cross-references to data warehouse objects from which you can drill down into individual entities. On an ongoing basis, the product supports slowly changing dimensions and there is an Object Explorer, illustrated in Figure 2, that allows you to discover source metadata and supports version comparisons in the event of a change. As shown, it also allows exploration of projects as well as your data models. Data flow is shown i