Now that the Db2 Optimizer has gone all Artificial Intelligent (AI from now on) on us I thought it would be interesting to review where we are in this brave new world!
Keeps you out of a BIND
My firm created our BindImpactExpert (BIX) software many moons ago to compare access paths, typically before a program non SQL change or a REBIND after RUNSTATS etc. Just to warn you not to do the REBIND or whatever you were going to do, as it would change the access plan to something you may well not really want to have. This means not just no-brainers like index access to tablespace scan, but also different index usage or table access order changes.
Apples and Oranges
So, what has that got to do with AI?
Well, we used a marketing slogan of trying to compare oranges and apples to try and make it clear :
how tough it really is to try and match SQL statements across different program releases and to compare the results.
ML and AI – The new buzzwords
Now in Db2 12, the optimizer has got machine learning (ML from now on) to help it study which host variables are used the most and how many rows are usually returned by a given query.
Do you “know” your data?
When the optimizer “knows” this info it can of course make much better “guesses” at good repeatable access plans that help everyone! Now the usage of AI and ML always gets me interested because of all the fun you can have with them.
There was recently a great article in my favourite science magazine “New Scientist” all about how to fool image recognition AI:
(subscribe to read this article)
Now you should see the connection back to our BindImpactExpert slogan. So much for Oranges and Apples – AI cannot even see that an Orange is an Orange…
this is not good or even perhaps “suboptimal”…
Adversarial Images and the fun you can have with them…
From 2018 this article
Within this article is a great paper all about graffiti changed road signs! Here is a direct link to the article https://arxiv.org/pdf/1707.08945.pdf
Fooling Deep Learning „
Another great paper where Deep Learning AIs jump off the deep end:
and finally this joyous article and a link to a You Tube video:
But do not wear this picture as a T-Shirt down the street anytime soon!!!
Would you sit in a driverless car?
What this all boils down to is that I, for sure, will never sit in a driverless car within the next 40 years!
- Firstly, I believe a true AI does not exist yet and will not exist for at least another 40 years.
- Secondly, when I see an Orange I see an Orange because I “know” what an Orange looks like! As you have seen AIs have no concept of what an Orange *is* and so can easily see a drill instead or mistake skiers for dogs…
- Thirdly, I am a programmer and someone somewhere is writing and testing – I hope! – the code… need I say more? Don’t even get me started with Agile or KANBAN.
Room full of CTO’s
Have you heard about the hopefully apocryphal story of a room full of CTO’s at a software conference when they were asked “Would you fly in a computer controlled aircraft?” All their hands went up. Then they were asked “Would you fly if it was your software teams that had written the flight control software?” all their hands went down!
Flying is strangely different
While talking about flying my answer would be different?
Because in the air you have no-one else apart from other highly automated devices anywhere near you! This is the one hope that I can see for the whole driverless car stuff – Driving on the Interstate, Motorway or Autobahn. In the air, the environment is much more rigid. No lights, no crossings, no opposite traffic, no foot traffic, no children chasing a ball across the road etc.
They will come…
I am sure that driverless cars will come soon and I am equally sure that people will die because of them – However, I am also sure that lots of accidents will be avoided as well. After all the AI will always react faster than a human.
With this comes the ethics of AI and ML of course which will also play a major role. If the car has to decide in a crash scenario :
- who gets hurt, should it protect itself and its cargo above all others?
- What about a group of playing children or a bus full of nuns?
- How can it decide who lives and who dies?
Looking on the bright side at least it will not get drunk, or high, and drive! I would also seriously hope that AI does not get road rage!
But even with these “bonus” points, I still have massive doubts and serious worries about the quality of the software and the true image recognition potential of current AIs.
We were recently asked by a customer to add AI and ML to our SpaceAssuranceExpert (RTDX-SAX) software. This has been happily running for years, capturing dataset allocations and extent usage in Db2 and making sure they never ran out of space or extents without getting told about it well beforehand.
I had to do a real double take and think “How on earth could AI help here?”
You are approaching 32 Linear Datasets with your segmented tablespace. You have to ALTER and REORG before you use up all the space in the 32nd. Where can AI help here?
We already have extrapolation from current usage…
Don’t get me wrong
On the one hand host variable contents and row counts – Yes indeed, but even here outliers will cause grief and then on the other hand the complete and utter science fiction of self-driving cars in our towns and cities.
The money being spent is also amazing, in 2019 it is estimated, by Syncsort,
that the AI budget will be $35.8 Billion 44% more than in 2018.
What do you think?
I am sure that autonomous cars will be a plague upon us – are you?
PS: I am looking forward to the first Adversarial Images for Db2 z/OS !!!