If your Business Intelligence initiative or program is struggling it may be because you do not have effective BI Solution Architecture in place. BI Solution Architecture involves far more than just understanding a technology product stack. As its name suggests it is by nature a solution and it encompasses Business, Information, Application, Infrastructure, Data, Integration, and Service Architectures.
In this new video I show you how to design Business Intelligence Solution Architecture that will make your SAP BusinessObjects Business Intelligence initiatives successful. I use SAP BusinessObjects as my example but the concepts are actually vendor agnostic so you can use the ideas with numerous BI and data technologies.
Creating BI Architecture That Stands Out
In essence Business Intelligence is about taking raw data and turning it into information and then using that information to do intelligent business. The process of both transforming the data and consuming it as intelligence occurs in the BI system. The effectiveness of the BI system is dependent upon the quality of the overall BI architecture. Planning the BI system architecture occurs very early on and there is an art to getting it right. BI System Builders recognise that it takes wide and in-depth knowledge and experience to effectively make consideration of the full BI system in the early design stage of the Business Intelligence architecture. At this very early stage thinking may be embryonic and the components do not yet physically co-exist in the system. The skill set to visualise at this level can be sparse on the ground but the failure to do so can lead to consequent sub-optimal BI systems being developed. At their worse these BI systems run the risk of becoming expensive white elephants. They have taken a lot of effort and budget to implement but in the final analysis the end user community cannot access the critical information that it requires.
So what are the key areas at the macro level that constitute the Business Intelligence architecture and hold interdependencies?
Continue reading Business Intelligence Architecture
The SAP BusinessObjects universe sits between the reporting tool e.g. Web Intelligence and the data warehouse. It is a type of graphical abstraction of how the data warehouse tables and relational joins would look if they could be viewed with the naked eye.
The critical function of the universe is explained by its other name, the semantic layer. All data warehouse platforms are interrogated through some type of code. The universe generates code (hence semantic) so that a query can be issued against the data warehouse. This code will be in the form of Structured Query Language (SQL) for relational platforms and Multi Dimensional eXpressions (MDX) for OLAP based universes.
The powerful feature of the universe is that the business information consumer does not need to understand data warehouses or write code. The business user simply drags and drops objects of interest from a side panel on to their report page, e.g. sales revenue and location objects to generate a table displaying sales revenue by location. The universe generates the code automatically behind the scenes.
However, the optimization of the code generated will be dependent upon the structure of the data warehouse tables and universe configuration for relational tables and the cube and query design for OLAP sources.
Whilst it is possible to generate a SAP BusinessObjects universe in a few minutes using an automation wizard, the resultant performance of queries may be disappointing. By performance is meant fast queries that return accurate data sets.
With experience it is possible to gain a tool box of best practice techniques to build a universe designed for performance. As a universe designer a good starting place is to build a query and then to ask:
What does the code generated by my universe look like?
If I were to write it freehand in an optimised way, would it be different?
Do I need to change the universe configuration or data warehouse structure to achieve optimised query code?