In my last post, I wrote that the game plan was to post by Dec. 10 on changes in data mining and DMX in the upcoming version of SQL Server. As usual, I got behind the curve for a variety reasons, including taking some time out to learn about the upcoming versions of Windows 8 and Visual Studio. Once I got around to the documentation for SQL Server 2012 Release Candidate 0, I noticed some similarities between the way Microsoft is handling its next operating system and its next version of Analysis Services – but I wish I had not. To explain why I will need to fill up a few paragraphs on the whole Windows 8 debacle, but first let me get around to the simplest part of my argument. I don’t need any paragraphs at all to explain what’s missing in the new version of Analysis Services. Without further ado, this is what I have been able to glean thus far from the Help documentation:
This is a list of all of the new data mining algorithms added in SQL Server 2012:
Here’s a handy guide to all of the exciting upgrades to the DMX language:
MDX is slated to receive the following new functionality:
A quick scan of the Breaking Changes, Behavior Changes and Discontinued Functionality sections of the documentation for RC 0 revealed no serious modifications. There are a couple of minor deprecated features for the next version such as a change to the SQL Server 2000 version of Predictive Model Markup Language (PMML) and the replacement of the InsertInto and CreateCube connection string properties with CREATE GLOBAL CUBE. The CalculationPassValue and CalculationCurrentPass functions, which are already handled by the OLAP engine, will be removed in a future edition along with a couple of other lesser MDX syntax changes, but that’s it. As far as an MDX or DMX aficionado is concerned, there is no new version of Analysis Services.
MDX vs. DAX: A Rivalry Between Forks and Spoons
What concerns me is that DMX and MDX themselves seem to be slated for eventual deprecation themselves, since we haven’t had any major upgrades to their functionality since at least SQL Server 2008 or earlier. Since a Release Candidate is supposed to be feature complete, we can’t expect any upgrades to data mining, DMX or MDX until the next version of SQL Server, somewhere between 2014 and 2016. Regardless of what Microsoft has said about both technologies being preserved in future releases, it is a bad omen when competing technologies receive the lion’s share of upgrades and the established ones receive nothing; just as Deep Throat told Woodward and Bernstein to “follow the money” rather than listening to politicians, it is a good idea to follow the upgrades when tracking software, rather than listening to corporate propaganda.
All of Microsoft’s energy is going into DAX, which is a fine complement to MDX but can never replace it. It is another tool in the DBA’s belt, one that can be used to bridge the gap between Excel and some of the lower-end functions of MDX, like retrieval of simple cubes. I haven’t used it much yet, but DAX seems as if it is (and always will be, no matter how many language upgrades it gets) completely unwieldy for performing the more complex retrieval and data mining operations of MDX and DMX. One of the most important pitfalls on the road to learning both languages is the point at which you’re tempted to believe that there ought to be an easier way to perform the same functions with a simpler syntax, but there really isn’t. The problems they are designed to solve are irreducibly complex. We are very fortunate to have geniuses like Moshe Pasumansky who were able to design languages for us to express these multi-dimensional problems in the most succinct way possible. The human mind is simply designed to think of problems in a few dimensions, not several dozen, which makes the development of languages that can express these multidimensional problems in human terms nothing short of miraculous. Unfortunately, when I see DAX getting the entire share of upgrades in the new release, it makes me wonder if some of the top brass at Microsoft succumbed to the same temptation I did when learning MDX and DMX, to look for a quick and simple solution to problems that just can’t be expressed any simpler than they already have been. It seems as if they are groping for a way to use DAX to eventually replace MDX, even if they have no roadmap in mind yet, but it can’t possibly work. If this constitutes Microsoft’s whole future strategy with Analysis Services then we can safely say years in advance that it is doomed to failure, just like Windows 8 in its current form. It would be a bit like calling a fork an upgrade to a spoon, then trying to eat a bowl of soup with it. That analogy doesn’t even express the dilemma adequately, because DAX is designed to solve a lower class of problems than MDX and really can’t be retooled to handle anything more complex.
Tablet Panic and the Coming Windows 8 Debacle
As a novice who has yet to be paid for a data mining project, I probably have a lot less experience than many of the critics who may rightly point out holes in my argument I don’t even perceive yet. There are Analysis Services gurus out there who know these topics far better than I do and my advice is to listen to them first. On the other hand, I don’t think my concerns are that far off the mark, because Microsoft is making the exact same critical errors in its current design of Windows 8, except to a catastrophic degree. Desktop computers aren’t being displaced by tablet devices like the iPad, but complemented by them; computing technology is fanning out into a range of devices of different size, all of which have their own distinct advantages in every home or office. Yes, tablets might perform a few of the same functions as desktops and thus eat into their market share a little, but they’re not going to replace them, any more than cell phones or MP3 players have. One of the real weaknesses I’ve noticed in the whole computing industry is a tendency to look at technology in an unbalanced, almost maniacal way, with each device or programming language or whatever being hailed as either the greatest thing since the invention of the wheel, or derided as obsolete and thus completely worthless. That leads to a lot of bandwagon jumping, which sometimes becomes a self-fulfilling prophecy, as new technologies are adopted simply because everyone else is adopting them, not because they’re necessarily more productive. New technology is not automatically always good and in fact can often represent a step backwards. Old technology is not necessarily worse, and can sometimes solve classes of problems more efficiently than rivals that receive all of the hype. If Windows 8 succeeds in its current form, it will be solely because of hype and monopoly power on Microsoft’s part, not because it offers much of anything to the end user. Normally I wouldn’t criticize a product I haven’t tried, just like I normally wouldn’t criticize a book I haven’t read, but Windows 8 is so bad that it stands as an exception. Not only have the scores of reviews I have read by fellow developers been completely negative, but one needs only to look at the feature list to see that the Window 8 team has put almost zero effort into designing new functionality for desktop users.
We can always count on Microsoft to deliver style over substance, so expect a few cosmetic changes and eye candy like a little rearrangement of the artwork on the startup screen or whatever. Perhaps it will use less memory or start up faster, but problems like that can be solved more cheaply by just installing more RAM. All of the real improvements, (if you want to call them that) have gone into making Windows 8 run on tablets, but to do so they have to sacrifice backwards compatibility with existing applications. The Number #1 factor driving the whole success of Windows since the ‘90s has not been because it is any better than its competitors, but because of the bandwagon effect of millions of developers writing third party programs that were compatible only with Windows. Whether I liked it or not, I had to give up tinkering with Macintosh development back in the early ‘90s for that very reason. Now, for the first time since the days of Windows 95, Microsoft is voluntarily putting that single unassailable advantage up for grabs by creating an operating system that doesn’t run all of those third party applications. Even if the end user can shut off the Metro interface on their desktop to run standards Windows apps, there is no advantage to the Metro user of buying Windows 8 either since those same apps won’t run on their tablets. Moreover, they are counting on us to write a whole new generation of third party programs for them, under the watchful eye of Big Brother at the new Microsoft app store, without us being able to count on a guaranteed market the way we can with Windows on desktops. The I-Pad, Droid and the rest already have that market carved up, at least at present. If Microsoft were smart, it would imitate the way the SQL Server team has so successfully developed editions to deal with different gradations of tasks, ranging from Express all the way up to the Datacenter Edition, which are entirely interoperable. They might have some success if they were to make stripped-down editions of Windows that can at least run a few existing third party applications on smaller gradations of devices, as tablets, then cellphones and the like, but even then certain third party apps simply aren’t going to work on smaller devices. That small degree of portability between devices would be better than the zero portability Windows 8 has now and thus salvage something for Microsoft. Even with a sound strategy like this, the company isn’t going to be able to dominate tablets or smaller devices the way it does with desktops and servers, but it could grab more market share than it has. In the attempt to dominate both desktops and tablets, Microsoft may very well lose both, because they aren’t going to please the users in either market. Before Microsoft loses its shirt on this, the top brass needs to learn the meaning of the old German warning against “sitting between two stools.” The end users of desktops aren’t getting any new features, while the end users of tablets aren’t getting any incentive to switch to Windows since they can’t port their third party Windows apps over anyways. Nor is Microsoft giving developers any incentive to write a new generation of programs, with their adoption of Apple’s high-handed tactic of establishing a centralized software store and the retooling of Visual Studio to embrace Windows 8 Metro apps, Java and HTML 5. They seem to be counting on their monopoly power and the manic reaction of some tech buffs to anything labeled “new” to force all of this through, whether the users or developers like it or not, regardless of whether the technology works well or not.
Does Microsoft Grasp the Concept of Technological Fan-Out in Analytics?
Thankfully, the same arm-twisting tactics that threaten to ruin the Windows operating system and Visual Studio are not being applied to SQL Server 2012. As a server product, it seems somewhat better insulated from these poorly thought-out changes. Personally, I can’t wait get my hands on the new windowing functions and FileTable. On the other hand, I am troubled that some of the same logic that has ruined Windows 8 may be spilling over into Analysis Services. Just as computing technology is fanning out into different gradations of devices that complement each other, ranging from MP3 players to tablets to desktops to home servers (and perhaps someday even higher, to personal data warehousing appliances within the home) so too are the needs of data warehouse users. As technological improvements make further fanning out possible, DAX might fit nicely in the gap between Excel and low-end data warehouse retrieval operations, but it can’t take over the same functions of MDX, let alone DMX. Any attempt to mix the two functions would be as disastrous as confusing the roles of the tablet and desktop the way the Windows 8 team has so badly. If Microsoft can misunderstand the fanning out of technology in operating systems, it is entirely possible that they are tempted to miss its significance in the field of database analytics by turning DAX into a replacement rather than a complement for DAX. I know they are making that mistake with Windows 8, but I am not taking a definitive stand on Analysis Services 2012; I am just asking the question because it is an important one to ask.
I wouldn’t worry so much about such a future fiasco if some upgrades to MDX and DMX had been offered this time around, but we got nothing, which is a clue that Microsoft doesn’t plan on giving us anything more in the future. I’m too much of a novice even to specify which upgrades I would want most for either language, beyond some major additions to the neural network algorithm and columnar indexes in multidimensional mode, but I can say for certain that if there are none at all in one of the most lucrative and open frontiers in computing, that it is a bad sign. The importance of data mining and high-end data retrieval is only going to increase drastically in the years to come and we’re going to need a better class of tools to address them. DAX can’t do that today and it isn’t going to be able to do it in the future. Microsoft already has the best tools for the job sitting on a shelf, collecting dust when they ought to be frantically upgrading them to keep ahead of their competition. MDX is so good, in fact, that it has become the industry standard even among Microsoft’s own competitors. The longer I use these tools, the more I appreciate them for how good they truly are, especially now that I am trying out competitors like DB2 and Oracle for the sake of comparison. I hope to post a little on what I have learned about data warehousing in future columns, in part because the whole exercise of writing on the topic keeps me disciplined, so that I actually retain something when learning these products. So far, my little experience with them has only served to underline how good Microsoft’s existing tools already are and how the company could still use this big advantage to dominate the whole BI market a decade from now, if it plays its cards right. In SQL Server 2012, it seems to have folded with a royal flush. Hopefully the team behind Analysis Services will recognize the worth of their own tools as well and give them the attention they deserve in the future.