Mark Rittman's Oracle Weblog
This is the weblog for Mark Rittman, a developer working on Oracle Data Warehousing technology based in Brighton, England. You can contact me at mark@rittman.net.
        

21 July 2003

"What are the advantages of star schemas over other design patterns? From a performance point of view, why are star schemas is better than snowflakes?" asks a recent poster on OTN.

Star vs. Snowflake schema is a classic question asked when putting together a dimensional datawarehouse. Basically, snowflaking is the process of removing low cardinality attributes from a dimension table, and placing them in a separate dimension table connected by a snowflake key. The aim of this is to reduce the total amount of storage needed for a dimension, by removing 'redundant' data.

This approach is often suggested by traditional database designers when building a data warehouse, as tradition tells you to normalise your data model to remove all redundant information. However, by splitting dimension information across several tables, you increase the amount of joins needed to perform a query, complicate the data model in the users' eyes, and often decrease query performance.

These days, disk space is cheap, and there isn't the imperitive that there once was to keep disk usage to a minimum. The main point behind your data warehouse design is to make query response as fast as possible, removing any unneccessary joins, and it should be a rare occurance indeed where it's worth the effort splitting out your dimensions into snowflakes to reduce disk storage.

Given the difference in size between a typical fact table, and the dimensions surrounding it, fact tables are where you should concentrate your effort to improve performance and reduce storage, given that most fact tables comprise 80% to 90% of your data warehouse.

Given that, there are a few situations where it's worth snowflaking;

- Very large customer dimensions (think telcos)
- Financial Product Dimensions (where each product has a host of special attributes not shared by other products)
- MultiEnterprise Calender Dimensions (because each organization has idiosyncratic fiscal periods, seasons, and holidays)

This situation is outlined in an article by Ralph Kimball called "A Trio Of Interesting Snowflakes".

OWB currently only allows true star schemas to be defined, with all of a dimension's attributes held in the one table. However, if you are happy to define the dimensions yourself, the CREATE_DIMENSION statement allows you to select individual levels, and their attributes, from multiple tables. Mark Van De Wiel also confirmed in a previous posting on OTN that future versions of OWB would allow snowflakes to be defined.


9:41:57 PM    

Business Objects has agreed to buy Crystal Decisions in a deal valued at $820 million.

Crystal Decisions were on the verge of an IPO and their revenue grew by a third last year to $270m, while revenues at at Business Objects increased 9 per cent last year, to $455m. Their decision to sell to Business Objects has therefore stopped what would have been a rare technology IPO.

Although both companies are in the Business Intelligence market, Crystal specialised in reporting whilst Business Objects plays more in the Business Intelligence applications market, with a particular emphasis on querying and analysis. The intention is for Business Objects to keep the Crystal Decisions brands, particularly Crystal Reports, the brand leader in 'off the shelf' desktop reporting.

I was involved in an OLAP technology selection a few years back with Crystal (then Seagate Software), Business Objects and Cognos up for evaluation. I remember at the time finding it hard to work out exactly where Crystal/Seagate were coming from; they had recently aquired Holos - close to Express in terms of power and flexibility, but by no means a simple solution - and were packaging it up with Crystal Reports and Crystal Info as a complete business intelligence platform.

It was clear to us however that Holos was far too 'heavy duty' for us to consider (we weren't in the development game), whilst on the other hand Seagate were running an offer where they were giving away Crystal Reports and Crystal Info for up to five users. Looking back, we should probably have taken them up on the offer, but at the time it seemed like a confused message, the software was barely integrated, and we doubted whether they'd be around for much longer.

Since the BI tools were floated off from Seagate Software into Crystal Decisions, they do seem to have got their act together, and one of our clients is using Crystal Reports deployed as a J2EE application running under BEA Weblogic. However, I do wonder how much of Crystal's decision was due to Microsoft planning to embed reporting software in the next version of SQL Server; Crystal Reports was the reporting engine of choice for Microsoft shops and versions of it were bundled with Visual Basic, Visual Studio, and now Visual Studio.net. It'll be interesting to see how many of Crystal's customers Business Objects will keep when Microsoft SQL Reporting Services comes out.


8:27:09 PM    

Oracle have made available a free online training course on Oracle 9iAS release 2. Called  'Oracle 9iAS 9.0.2 By Example', it takes you through setting up the 9iAS server, deploying J2EE applications, building and deploying wireless applications, and, most importantly, using the business intelligence features of 9iAS.

The business intelligence part of the course takes you through the following areas;

  • Create Business Intelligence Applications Using Oracle9i JDeveloper BI Beans
  • Analyze Sales History Information Using Oracle9iAS Discoverer View and Discoverer Plus
  • Integrate Oracle9iAS Portal Discoverer and Portal

It's well worth taking a look at as it goes into some detail, and it's free.There's also an accompanying Oracle 9i By Example course that covers some of the server side elements required for BI Beans and Discoverer.


2:18:12 PM    

I had a pleasant suprise this morning when I received an email from Guy Mortenson, who I used to work with at Plus for a while. Guy's since gone on to bigger and better things, working as a Solutions Engineer at egg.com, and in his spare time he's the chair for the UKOUG Development Engineering SIG.

Guy pointed out to me the website for piertopier.net, a community project in Brighton who are offering free WiFi (IEEE 802.11b) internet access on Brighton Beach. They're a volunteer service relying on donations, using open-source and community networking technologies to provide their infrastructure, and with internet connectivity provided by Moving-Edge, a local ISP. They've already got quite a bit of publicity and I'll certainly be trying it out in the near future.

In all honesty, this, together with the 'free internet access when you buy a cappucino' approach, seems to be the most viable way public WIFI access will be provided as time goes by. Many organisations are investing in public access points, but are pricing them for users at a comparable cost to making a mobile phone call, leading to low take up and a predicted 'dot.com' style decline in the market.

Unless pricing is brought down to the level of a few pounds per hour (as with internet cafes, and in this instance there isn't even the premises or terminals to pay for), and with an easy way to purchase 'airtime' that works for all hotspots around the country, public WIFI access will only be sustainable when it's being given away by volunteers, or as an incentive to use their premises.


1:10:44 PM    

There's a thread going on at OTN about JDeveloper 9.0.5 and when will it be available. It's mostly the usual 'we've been waiting for it for some time now and can you give us a release date' but one particular area of discussion is the issue with using UIX (User Interface in XML) as a thin-client front-end.

One interesting area that's come up is the use of 'Using Flash Remoting for MX'. According to this article over at the O'Reilly Network,

"Flash Remoting MX enables Flash MX clients running in a browser or on a user's desktop to access and invoke methods on server-side components running in a J2EE, Cold Fusion, or .NET application server. It is an essential piece of Macromedia's toolset for creating Rich Internet Applications. These applications are deployed over the Web and provide a desktop-software-like interface to server-side application features"

which indicates that it's an alternative to Java Server Pages that can also be made to work with BC4J.

Now i've always had the approach that 'Flash is Evil', mainly because sites written mainly in Flash are much less useable than plain HTML, they break the browser's back and forward buttons, disable the address bar and make it impossible to bookmark pages your interested in.  However, what Macromedia are probably looking at is alternatives to java applets, where the user interacts with an application in the web page, and these examples give a good idea of what's possible. Not really to my taste, but i'd imagine there's probably a market for it.


11:49:14 AM    

© Copyright 2003 Mark Rittman.
 
July 2003
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
Jun   Aug






Click here to visit the Radio UserLand website.

Subscribe to "Mark Rittman's Oracle Weblog" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.