Tech Tweets

    follow me on Twitter
    AddThis Social Bookmark Button
    Blog powered by Typepad

    March 2021

    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      

    Become a Fan

    « The OODA Loop of Essbase Six | Main | iPad: First Thoughts »

    November 29, 2009


    Chris Webb

    While I agree with your comments on the difficulty of MDX and people's preference for SQL, I would like to make one point: when you say "It would have been nice if MDX performed with speed commensurate with its elegance" you're confusing the language (MDX) with the performance of the platform it's running on (SSAS). To say MDX is 'fast' or 'slow' is just wrong, it's like saying SQL is a 'fast' or 'slow' language - it's the database, not the query language, that's the problem.

    The sad thing is that from what I saw, the PerformancePoint team and users of that product never knew enough about SSAS cube design and MDX to be able to get the best possible performance. And certainly the SSAS engine has not been, historically, tuned for financial applications but more the non-financial applications that SSAS is generally used for (which do involve large amounts of data, and are complex, but just different from financial apps). That said, with SSAS 2008 I do think the platform is now tuned for financial apps, and I've seen some very successful and fast financial apps implemented on SSAS 2008; unfortunately PerformancePoint is not around any more to take advantage of it.


    I agree that there were a handful at best of people who might have made MDX perform better in finapps on the Microsoft platform. It's not entirely fair to say that MDX was designed for SSAS - it is the standard OLAP language, but I'm not sure whether it has been adopted to the next generation of multidimensional databases. You're right, MDX isn't really the issue - it's database design at the heart of performance.

    I'm of the opinion, of late, that the differences between the various 'single server' technologies are not going to add up to much. There will be an ample supply of sharp people to make these technologies perform. My question is whether or not finapps will scale to the next level - if we will be able to conceptualize applications that take advantage of the new scalability of multidimensional tech.

    George Spofford

    To amplify the point- you need to marry execution engine, compiler/optimizer, and storage model to get good performance. MDX succeeds in part because MS can apply it to its specialized storage or its own ROLAP form, Oracle/Hyperion to its own specialized forms (block-storage, aggregate storage, hybrid ROLAP), and other vendors to their own forms. MSAS performance goodness and badness is linked to how they set things up for the use cases they were interested in, Essbase the same. As with RDBMS products and SQL, you design a database differently and write your SQL differently based on the actual product/storage model you're using.

    @Cubegeek: Part of the difference is that Microsoft has taken a big step beyond the semantic model of the original MDX, even within the same syntax, and gets great gains from it. There are many different semantic expansions that could be undertaken, but so far it seems like there is Microsoft's direction and the original form. Hyperion chose not to do something like that, nor to really expose much of their distinctive OLAP benefits through MDX. When I worked there I put a bunch of thought into the topic, and I'm sure it comes up today here and there too.


    It's extraordinary that you posted here today, because I have *just* been thinking about what it might take to develop a generic multitouch thick client for multidimensional database queries and navigation. In consideration of that, why reinvent a semantic layer? So I've actually got a good reason to understand the ways and means of MDX once again. I'm at a conceptual stage right now, just starting to put some ideas on paper, but I like the idea that there is a language out there that I can learn in order to begin thinking about a new navigation paradigm.

    Verify your Comment

    Previewing your Comment

    This is only a preview. Your comment has not yet been posted.

    Your comment could not be posted. Error type:
    Your comment has been posted. Post another comment

    The letters and numbers you entered did not match the image. Please try again.

    As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

    Having trouble reading this image? View an alternate.


    Post a comment

    Your Information

    (Name is required. Email address will not be displayed with the comment.)