Editorials, SQL Server

Machine Learning, AI, Automation in SQL Server, Oh My!

There has been quite a bit done on the intelligence front with SQL Server – as in built-in functionality and changes that will help you bring these tools not only to the environment, but also to your own applications.

As one example, In-database Machine Learning in SQL Server 2017 – “You can start using Python-based in-database Machine Learning Services for production usage now. With support for both R and Python, we have rebranded ‘R Services’ to ‘Machine Learning Services’. SQL Server now supports the three most popular data science languages and enables you to use the latest AI and ML packages from the open source world in-database, across ALL editions on Windows – making SQL Server 2017 the commercial database with built-in AI.”  (Reference post here)

I suspect many of these AI features and tools will have adoption driving by the data folks, rather than a pull from the user base.  I’m sure there will be the various requirements that are served by them, but actually getting them out there in the field as the tool of choice will likely start with all of us, I would think.

This is one of those where we collectively need to recognize the requirements and then apply the tools that make it happen.

Do you see these fitting your requirements yet?  Are you having requests for additional smarts for the processing of information in the systems?

From the solutions we’ve been working with, stakeholders are starting to understand that there are great tools for data visualization and moving beyond Excel (I recently saw Excel again referenced as the gateway drug to BI) and into tools that let you more quickly work with information to discover patterns and such.  Getting past BI being a good report and into some really smart visualization and learning tools was a big hurdle.

I wonder how many stakeholders will soon be asking for the database to move to that next level?

In the meantime, there are some amazing things happening with SQL Server – with query processing that adapts to a plan and then is smart enough to alter that plan in real time if it sees a better way to do it.  Or the threat recognition that certain query types and requests represent a possible threat situation and should be flagged and notifications issued.  These types of AI will establish some immediate benefits and provide a good path into the enterprise to show that things can be smarter, and can learn from patterns, but not invasive and problematic.

We’ve been working with bots and the Bot Framework, and some of the automation bits and pieces built into various platforms.  It’s been interesting to see the solutions learn from traffic patterns and behavior from stakeholders.  It does take time, and I’ve seen some people get bitten by relying on things straight-away – before things have a chance to settle in and learn what’s ok, what’s not, what relationships there are that matter and so-on.  But it’s quite incredible.

Are you considering deploying these various types of intelligence in your production systems?  Are you feeling the pull from the stakeholders yet, or is this a “bleeding edge” type thing still for you and your clients/companies?

  • John Shadows

    Excel, strange as it sounds, is going to be a DBA’s best friend going forward. Why?

    Three reasons:
    1.) Access to DAX formulas. DAX query language only shows up in one other place: PowerBI. Assuming you’re like me – wholly and completely green/new/wet behind the ears in the Machine Learning space – you may want to work with some complex formulas and algorithms without committing heavily to a platform. Excel lets you do that with DAX.

    2.) Excel allows automation via VBA, just like MSAccess does. You can even leverage .Net dlls, PowerBI and PowerShell scripts inside of Excel. ADO and ADO.Net methods are available AND you can make direct stored procedure and web service calls from Excel natively without aforementioned components.

    3.) PowerBI like visualizations are available in Excel. Great introduction to the concept while maintaining a reasonably familiar UI.

    My biggest concern with all these machine learning algorithms is that it is insanely difficult to tell when the algorithms are wrong. We’ve got a grab bag of algorithms yet most of us onprem DBAs wouldn’t know if the output of said algorithm is off.