BI Blogs

Bringing together Business Intelligence voices from across the web

#2. Hyperion Creates BPM Out of Thin Air

Posted on the February 28th, 2010. Read times

Source: Look Smarter Than You Are [link]

In 2002, Hyperion realized that though they had the best budgeting, scorecarding, and financial consolidation products in the industry, their competitors were still lumping them in the BI (Business Intelligence) category. So Hyperion simply decided they would create their own category: BPM (Business Performance Management). BPM was created to include BI but also add in applications that sat on top of BI. Gartner picked up the ball and ran with it creating their CPM (Corporate Performance Management) magic quadrant and placing Hyperion firmly in the leadership quadrant.

Cognos, Business Objects, Oracle, IBM, SAP, and the rest were left playing catch up as they stuck with BI a little too long giving Hyperion a 2-year head start. When Oracle acquired Hyperion, they renamed CPM to EPM (Enterprise Performance Management) but the entire xPM acronym can be traced back to the excellent work of Hyperion’s product marketing group.

Join Us for My New York Technology Council Keynote: Perform or Perish — The Drive Towards Next-Generation Enterprise Business Intelligence and Performance Management Systems

Posted on the February 28th, 2010. Read times

Source: Bardoli Blog [link]


Twitter RSS Feed available

Posted on the February 28th, 2010. Read times

Source: Dan English's BI Blog [link]

Just wanted to let everyone know that you can subscribe to my Twitter updates by accessing the RSS feed.  I have included a link on the top right on my blog main page that you can use to subscribe to.

image

Nice feature, so now you don’t have to miss out on any of my Twitter updates if you currently only subscribe to my blog RSS feed.  I have been posting quite a few items on Twitter, so if you don’t utilize a tool to follow people’s tweets you can utilize this option to add my Twitter feed to your RSS subscription tool of choice.  But if you do use a tool to monitor people on Twitter you can simply add me to your list.

image

Inside the Oracle BI Server Part 3 : BI Server In-Memory Joins

Posted on the February 28th, 2010. Read times

Source: Rittman Mead Consulting [link]

Oracle BI EE 10.1.3.4.1 – Puzzlers – Puzzle 4 – Bypassing Security

Posted on the February 28th, 2010. Read times

Source: Rittman Mead Consulting [link]

On to the 4th puzzle in this Puzzle series. This is a very interesting Puzzle at least from the perspective of BI EE Security. We all know that BI EE provides comprehensive security within the repository. For example, the screenshot below shows that the column CHANNEL_DESC can be accessed only by the exec user.

image

Now when we log in as any user(users who do not belong to Administrators group) and open the report containing this secured column, we will either be getting an error or will be shown as NULL in reports depending on the PROJECT_INACCESSIBLE_COLUMN_AS_NULL property in the NQSConfig.ini. The question is how do we bypass the security and still show the CHANNEL_DESC column(with their values of course) in reports. I know this sounds a bit malicious and can even be read as a security hack, but this is currently possible in BI EE(in the solution i will let you know how to use a workaround to disable this though). The question or the Puzzle today is how do we achieve this. There are some potential use cases of this

1. If you do not have access to the repository but still want to look at certain security protected columns to validate certain reports

2. If you do not have a column in the repository at all (but exists in the database) and you still want to access it.

Remember this is not about enabling Direct Database Requests as in most cases that will always be disabled. For example, if you look at the report below, CHANNEL_DESC has become null for the user i have logged in as this user does not have access to this column(PROJECT_INACCESSIBLE_COLUMN_AS_NULL  is set to YES in my case).

image

If you look at the SQL, you will notice that the CHANNEL_DESC column is not even pushed back to the database.

WITH
SAWITH0 AS (select sum(1) as c1,
     T4167.CHANNEL_ID as c2
from
     CHANNELS T4167
group by T4167.CHANNEL_ID)
select distinct SAWITH0.c2 as c1,
     cast(NULL as  VARCHAR ( 1 ) ) as c2,
     SAWITH0.c1 as c3
from
     SAWITH0
order by c1, c2

which is good and as expected. Now, the puzzle is to somehow bypass this security and display the CHANNEL_DESC column as shown below.

image

Remember, there are 2 pre-conditions to this

1. No Direct Database Requests

2. No changing the repository to add a new column in the presentation layer

PASSMN February 2010 Meeting Follow-up

Posted on the February 28th, 2010. Read times

Source: Dan English's BI Blog [link]

I wanted to thank everyone that attended the meeting either in-person or virtually.  We had around 60 people all together, so it was another good turn out.  I also wanted to thank both our presenters, they did a wonderful job and I enjoyed the audience participation and interaction with the group this month.  It is really fun to watch when the meetings turn into a collaborative effort and come to life.

Minnesota SQL Server Users Group

Just wanted to let everyone know that all of the presentation materials and the meeting announcements have all been posted and are available to download.  You will need to login to the PASSMN website and then you can access the materials from the Resources—>Documents section.  Kalen Delaney has also made here materials available on her site, http://sqlserverinternals.com and you can access the materials in the Conference and Materials section.

And a special thanks to Microsoft for providing the room for our meetings and Benchmark Learning for sponsoring this month’s meeting and providing the food and beverage.

Microsoft - January Meeting & Annual Sponsor     Benchmark Learning - February Meeting Sponsor

Here are some additional reference links in regards to partitioning that might be of interest:

 

MOST

Posted on the February 27th, 2010. Read times

Source: Information Management [link]

A

BIMM

Posted on the February 27th, 2010. Read times

Source: Information Management [link]

A

PESTLE

Posted on the February 27th, 2010. Read times

Source: Information Management [link]

A

Part of the Puzzle: Oracle XMLDB NFS Functionality

Posted on the February 27th, 2010. Read times

Source: Weblog for the Amis technology corner [link]

This story is long overdue and no its NOT about the Oracle Database 11g Database File System (DBFS). Its about an “undocumented” NFS functionality that, maybe someday, will be serviced by the XMLDB XDB Protocol Adapter. This post is “long overdue” because the actual attempts to try to figure it out were done during the […]

Oracle BI EE 10.1.3.4.1 – Solutions – Puzzle 3

Posted on the February 27th, 2010. Read times

Source: Rittman Mead Consulting [link]

After almost a week of me giving out the Puzzle 3, there was hardly any interest for this one (just couple of odd replies requesting clarification of the Puzzle). Probably this is because this one has no direct practical usage and also there are lots of possibilities. But to me this is one very important Puzzle as in many cases when we are called in for repository tuning, the first question that we normally get in such situations is, why does BI EE generate such a big query when the same report can be solved by a very simple query. In such cases, we need to know where to look at and also understand what can cause BI EE to generate long SQLs. Remember, there is no theoretical limit to the length of the SQL generated (we can make it to generate as big a SQL as we want). The puzzle was meant primarily to know the possibilities of what can make BI EE to generate long SQLs. I always try to visualize a repository by looking at the SQL. That generally helps in doing further analysis on a pre-built repository.

Solution 1 – Conforming Dimensions:

This is probably the easiest and the most common reason why BI EE generates a lot of sub-queries. Always conforming dimensions should be used only when absolutely necessary as that will start generating sub-queries for every fact. For example, if you look at the repository below, it shows a very simple Business Model and Mapping layer containing one dimension with one Logical table source pointing to the physical CHANNELS table.It also contains 3 Facts each having a count metric (Mapped to 1 in the BMM layer for all the 3 columns)

image

image

There is also one more Logical Column that basically adds all the 3 columns together using a logical calculation

image

Now, when you generate a report using the CHANNEL_TOTAL and the logical calculated column, you will notice that BI EE will generate 3 sub-queries and then will bring them together as shown below

image

So the solution is you can create n number of conforming dimensions like this to make BI EE to produce n sub-queries thereby making the SQL very long. In this case there is no need for actually using conforming dimensions. The same SQL can actually be converted into a single SQL with all the counts (without the sub-queries). This basically demonstrates a bad use of Conforming Dimensions.

Solution 2 – Fragmentation:

This is another way of generating big SQLs. Same source can be made to appear as part of UNION ALL queries using Fragmentation. For example, if you look at the repository below

image

there are basically 3 logical table sources that contribute to the Fact Count. Each logical table source is modeled in a way such that all of them contribute to the Count and follow Parallel Fragmentation as shown below

image image

image

And if you look at the SQL, you will notice that BI EE will fire 3 UNION ALLs to generate the count. You can make this query as big as you want by adding more and more logical table sources.

image

Solution 3 – Level Based Measures:

This is another possible solution where incorrect use of Level-Based aggregation can start generating pretty complex queries. In your queries, if you start noticing Partition By using ROW_NUMBER or SUM() OVER functions then that means level based measures are being used somewhere (not in all cases but in most of them). For example, lets look at the repository below

image

As you notice we basically have have 3 count columns each dependent on the other. Count1 is a normal measure assigned to a constant 1 and to the lowermost level in the Channel Dimension. Count 1 is a measure which is equal to measure Count(logically calculated) but assigned to the Channel Class level. Count3 is equal to measure Count2(logically calculated) but assigned to the Total level.

image

image

image

As you see, this basically demonstrates why logically calculated measures can have different level assignments than their base members. If you look at the SQL generated,

image

you will notice a number of sub-queries which will equal to the number of level assignments for each dependent measure.

In all the cases above, the queries were generated using a single Physical table and from just using 2 report attributes. Much more complex queries are possible using other methods but most of them will be a variation of the 3 listed above. Puzzle 4 to follow tomorrow.

Pentaho Shines at TDWI Bake-Off

Posted on the February 26th, 2010. Read times

Source: Michael Tarallo - Open Source BI Guru [link]

Pentaho Agile Business Intelligence Outperforms SAP and IBM in several critical areas

Orlando, Fla., February 26, 2010 – Pentaho, the commercial open source alternative for business intelligence (BI), went toe to toe with IBM and SAP at this week’s “Developing Your BI Tool Strategy and BI Bake-Off” at TDWI World Conference Las Vegas, and garnered the audience’s popular vote in the categories of best dashboard, best reporting, and best “Cool Stuff.” With this recognition, Pentaho takes its rightful seat at the enterprise table, showing that it provides the preferred BI Suite with a full spectrum of innovative capabilities all at a fraction of the cost of proprietary offerings.
Highlights

* Pentaho Agile BI: Pentaho won the audience vote in the “Cool Stuff” category. Attendees gained a sneak peek at development products that will soon be announced as part of Pentaho’s recently unveiled Agile BI initiative. Pentaho Agile BI, launched in November of last year, has forever changed the way people build and deploy applications, setting the standard for the rest of the industry to follow. Pentaho presents a radically different, integrated environment that collapses all of the steps from developer to end user, from data integration through end user visualization, so developers can work more closely with users to get value from business intelligence. With Agile BI, both novice and expert BI professionals are now empowered to rapidly create and use rich BI applications.
* Pentaho Dashboards: Pentaho’s bake-off demonstration of its industry leading dashboard capabilities won audience approval for speed and simplicity to design and deploy. Pentaho provides immediate insight into individual, departmental, or enterprise performance. Dashboards are the best way to present and interact with information to business users, and Pentaho raised the bar for delivering key metrics in an attractive and intuitive visual interface, giving business users the critical information they need to understand and improve organizational performance.
* Pentaho Reporting: Pentaho won the audience vote for best reporting. Reporting has long been considered the core business intelligence need and is typically the first BI application deployed. Until now, BI heavyweights got most of the attention for reporting, but the bake-off audiences were wowed by how easily the lightweight contender Pentaho Reporting allows organizations to access, format, and distribute information to employees, customers, and partners.

Quote

“For years, the BI giants have had customers up against the ropes with high priced, complex BI offerings that are difficult to develop and even more difficult to use. The resounding support for Pentaho at this year’s TDWI event is evidence that smart companies see Pentaho as the next BI champion. Over five million people have downloaded Pentaho in our short five years in the market, and we don’t expect that momentum to stop any time soon.”
– Richard Daley, CEO of Pentaho Corporation

Report Data Window Disappears

Posted on the February 26th, 2010. Read times

Source: Mark Garner's Business Intelligence Blog [link]

A

Aligning with Harvard’s 12 best management ideas

Posted on the February 25th, 2010. Read times

Source: The sascom magazine blog [link]

I meant to blog about Harvard Business Review’s Decade in Management Ideas back in January when it was first published. I bookmarked the article and jotted down a few notes in an email. And then I forgot all about it.

This week, Anna Brown, SAS Business Report Editor, mentioned HBR’s best management ideas in her latest newsletter, which reminded me to re-read it and point you towards recent articles from or about SAS for each of the twelve topics.

1. Shareholder Value as a Strategy. HBR quotes Jack Welch: “Shareholder value is a result, not a strategy. Your main constituencies are your employees, your customers and your products.” And I’ll quote Jim Davis: “Positioning a product in the tech marketplace isn’t just about the product - you need relationships. This is where our strong employee base comes into play. Make no mistake: people want to do business with companies that treat people well.”

2. IT as a Utility. HBR talks about cloud computing. In the latest issue of sascom we called it, Analytics: Hot, Fresh and On Demand.

3. The Customer Chorus. Dave Carroll’s “United Breaks Guitars” video is mentioned in the HBR post. Earlier this week, Jonathan Hornby wrote about having lunch with Dave Carroll.
Continue reading “Aligning with Harvard’s 12 best management ideas”

Inside the Oracle BI Server Part 1 : The BI Server Architecture

Posted on the February 25th, 2010. Read times

Source: Rittman Mead Consulting [link]

The session that I’m giving at the BI Forum in Brighton in May is entitled “Inside the Oracle BI Server”, and I’m aiming to take a closer look at the architecture and functionality of this key OBIEE component. We’re all fairly aware of what the BI Server does at a high level, but I thought it’d be interesting to take a closer look at what the BI Server does, particularly when it parses queries and joins datasets together.

At a very high level, the main function of the BI Server is to process inbound SQL requests against against a virtual database model, build and execute one or more physical database queries, process the data and then return it to users. The BI Server is one part of the Oracle BI Enterprise Edition Plus product family, and presents itself to query tools as one or more databases in a simple relational (star schema) model, that can then point to a much more complex set of relational, multidimensional, file and XML data sources (and in 11g, ADF objects).

Taking the standard OBIEE architecture diagram, the BI Server sits in the middle of the OBIEE set of servers and provides the query capability, security, interfaces to data sources and calculation logic for OBIEE (all of this is based on the current, 10g set of products).

Bis1-1

The BI Server communicates with the BI Presentation Server via ODBC, and then connects out to the various supported data sources through ODBC, OCI, XML/A, the Essbase Client API and other native protocols. A key function of the BI Server is to create a three-layer metadata model, stored in a file-based repository along with security settings, database passwords, BI Server settings, startup macros and variable definitions.

The BI Server Logical Components

Taking a look specifically at the BI Server, it has a number of logical components.

Bis2

  • The ODBC interface, that is used by Oracle BI Answers and other third-party tools to pass requests to the BI Server, and to receive the output from queries;
  • The Logical Business Model, the three-layer metadata model that describes the data available for queries;
  • The Intelligent Request Generator, a module responsible for taking the incoming queries and turning them into physical queries against the connected data source, which is made up of several sub-components including:
  • The Navigator, probably the most important part of the BI Server, and the part that takes the incoming query, compares it against cached answers, navigates the logical model and generates the physical queries that will best return the data required for the query
  • Within the Navigator, there are modules for determining whether multiple physical queries are needed, whether stored aggregates can be used, and whether fragmented data sources can be used for partitioned measures;
  • An Optimized Query Rewrite engine for handling aggregate navigation and fragments, and for translating to the correct physical SQL dialect, and
  • An Execution Engine for firing off the queries to the relational, multi-dimensional, file and XML sources required to satisfy the query.
  • Cache Services stores the results of previously run queries, matches incoming SQL against that used before and returns data from the cache rather than making the BI Server query the underlying databases again

In addition, various supporting technologies, modules and services provide the infrastructure for the BI Server, including:

  • Data Source Adapters for Oracle, ODBC, SQL Server, DB/2, Teradata, file, XML and other sources;
  • System and Performance Monitoring through JMX counters and other technologies;
  • Security Services for setting up users and groups in the RPD, filters, subject area security, links to outside LDAP servers and custom authenticators;
  • Query Governance, for placing limits on numbers of rows returned and length of query execution for users and groups;
  • Load Balancing, and Session Management

Taking a Look at the BI Server Process

Now whilst the BI Server has many characteristics of a database, compared to running Oracle on Unix which exposes many of its components (SMON, PMON, MMON, LGWR etc) as separate processes, the BI Server is just a single executable that runs under the name NQSServer.exe (or just nqsserver under Unix). The screenshot below is a view of this service (along with sawserver.exe, the BI Presentation Server) as shown in the Windows Task Manager utility.

Bis3

We’ll get on to memory usage in a future posting in this series, but in general the amount of memory taken up by the BI Server is initially determined by the size and complexity of the repository (RPD) that is running online, with further chunks taken up by concurrent sessions and then intermittent spikes of memory when in-memory (stitch) joins take place between data sources. The BI Server creates TMP (temporary) files in the $ORACLEBIDATA/tmp directory as data is further totalled and calculated, and as cross-database joins are paged to file.

If you take a closer look at the NQSServer.exe process using a tools such as Microsoft’s Process Explorer utility, you can see that it’s a multi-threaded server application:

Bis4

You can see that the BI Server is a C++ application that uses the Microsoft Visual C++ runtime, whilst taking a look at one of the running threads shows the various DLLs that are being used:

Bis5

Another Conceptual View of the BI Server

Another conceptual view of the BI Server architecture can be found in the old Siebel Analytics Administration Tool documentation, which shows the BI Server (or the Siebel Analytics Server as it was called then) having several layered components:

Bis6

  • The Security Model, presumably the users and groups in the RPD, plus the filters and subject area security in the repository;
  • The Business Model, the three-layer metadata model;
  • Aggregate Navigation, for rewriting queries to use mapped in aggregate tables;
  • SQL Generation Engine and Multi-database Query Processing, presumably the bit that takes the database capabilities matrix and generates the correct physical SQL for the various data sources;
  • The Computation Engine, for performing in-memory stitch joins, post-aggregation filters and functions, and sorting,
  • Query cachiing
  • The Metadata Repositories that can be connected to the BI Server (with one marked as “default”, and
  • The various data sources, such as Oracle, DB/2, Informix and SQL Server

Conclusions

So the BI server has some of the characteristics of a BI tool (metadata model, connectivity to data sources, security etc) and some of a regular relational database (query processing, optimization, rewrite, aggregate navigation etc) but without OLTP database features such as transactions. Its primary job is to process incoming requests against this metadata model and translate them into the physical queries required to get the data from the underlying data sources, acting more as a query broker with no data being stored locally except that held in the cache. If you’re interested in a bit more history of the BI Server, including its origins as a search engine called the nQuire Query Server, take a look at this old blog post on the origins of Siebel Analytics and OBIEE where I’ve written up some of the original origins of the OBIEE product set.

The BI Server has one main configuration file, held at $ORACLEBI/server/config/NQSConfig.INI, which contains parameter settings in plain text. The full set of possible parameters are held in the Server Administrators’ Guide within the Oracle docs, and this method of holding parameter settings looks like it’ll be carried across to 11g, although the settings themselves will be maintained through Enterprise Manager rather than the Administration tool as is the case with 10g and earlier.

For now though, that’s it for architecture and components and in the next posting, I’ll be looking at how the BI Server, and in particular the Navigator, handles incoming requests.

Subversion – branching, merging and reintegration

Posted on the February 25th, 2010. Read times

Source: Weblog for the Amis technology corner [link]

Subversion is a great source control system. One of the great features is it’s branching and merging support. Although many developers avoid it, branching is very powerful and useful and should not be something to be afraid off but something to be familiar with. And for the stable and controlled development is it almost a […]

Complex Event Processing – Java Magazine – Sources & References

Posted on the February 25th, 2010. Read times

Source: Weblog for the Amis technology corner [link]

This article contains the resources for an article on Complex Event Processing (using Oracle CEP) that is published in the March 2010 issue of the Dutch Java Magazine. This article describes the interaction between CEP and Java Applications, using examples of temperature sensors that are monitored (aggregating their readings and looking out for any broken […]

Los Cuadros de Mando de 1939

Posted on the February 25th, 2010. Read times

Source: Todo BI: Business Intelligence, Data Warehouse, CRM y mucho mas... [link]


Automatic testing Oracle Service Bus using Hudson, maven and SoapUI

Posted on the February 23rd, 2010. Read times

Source: Weblog for the Amis technology corner [link]

A lot of current projects are implementing some sort of service based architecture. Testing in this architecture becomes more complex. When implementing an OSB project with Scrum you test-automation is imperative. Scrum will require more frequent testing of your system. This is only feasible (in time and money) when you automate as much as possible.
 
Using […]

De mp3, iPod y Excel

Posted on the February 23rd, 2010. Read times

Source: Todo BI: Business Intelligence, Data Warehouse, CRM y mucho mas... [link]


Next Page »