DB2 'Stinger' to pack powerful punch
Float like a butterfly...
I have no idea of whether IBM had Cassius Clay (or even Mohammed Ali) in mind when it nicknamed the forthcoming release of DB2 UDB "Stinger", but the product certainly looks likely to pack a punch when it is released later this year.
Given that this is will be the first major release of DB2 UDB for 18 months, it is hardly surprising that there is a lot to it. It is equally unremarkable that I do not have enough space to cover all of its new features. For example, there is a lot of stuff to support .Net and Java Eclipse environments, as well as a number of other enhancements that developers will like. And, of course, there are performance and scalability improvements, and new security features, and so on and so forth.
However, what really stands out for me is the extended DBA (database administrator) capability. In particular, there are two features that are especially impressive: the Design Advisor and the product's Autonomic Management features.
Of course, the Design Advisor is not new. It is in the current product and it is used to advise the DBA on indexes he or she might build. However, it is now much more extensive and encompasses materialised query tables, indexes on those tables, multi-dimensional clusters, and partitioning. Moreover, it doesn't just provide you with suggestions but actually generates executable recommendations, which you can either run directly, or you can customise, or you can save them and reuse them, or whatever.
What is really neat about the new Design Advisor is not only that it takes away some of the repetitive (and boring) stuff that DBAs have to do, leaving them free for the more interesting parts of their job, but it also directly impacts on performance. This is because the Design Advisor is probably better than most of us humans at getting the right combination of performance enhancing functions. In tests, IBM is reporting a 6.5 times performance improvement from before and after using the Design Advisor.
While DB2's Autonomic Management features cover a range of different areas (which, again, I don't have space to cover) the most interesting is based on IBM's Learning Optimiser (LEO) project (which is ongoing). This provides continuous statistics monitoring and updating for the DB2 optimiser, rather than relying on the DBA to "Runstats" as and when he or she thought fit, which used to be the case.
Now, the obvious advantage of autonomic statistics updating is not only that you take another tedious task away from the DBA but also that the system can learn faster and better about itself and therefore update the optimiser more efficiently. However, there is a potential downside, which is the impact on run-time performance. In order to minimise this, IBM uses a form of query sampling named after one of the Bernouilli family (I don't know which one - there were lots of them in the 17th and 18th centuries - to the extent that they have been described as being to mathematics what the Bach family was to music), which is based on cardinality. What is particularly nice is that query sampling is not only used in gathering statistics, but IBM is also surfacing it as an extension to SQL so that you can use it as a pre-cursor to making more detailed queries for predictive analytics, say.
So, as I said, there is far too much in Stinger to cover in one article. I will be writing a full review of the product in due course.