Very interesting things are happening with updates, features, new directions and such for SQL Server. At last, we’re working with real-world, information about how SQL Server is used, what types of things it’s coming up against in that usage and what types of issues are being seen.
How? With Azure. There’s a great post on RedmondMag.com that starts to explore just how valuable this information is, and what types of things Microsoft is doing with this information. Without touching confidential information or working with data that is just too specific, Microsoft is able to lean heavily on what SQL Server sees as real usage scenarios and use-cases. “Telemetry” is just referring to the fact that they can look at real-world situations, see how people use SQL Server and see how it responds, what it may be lacking, what can be tweaked, etc.
These are great tools to help in the development and direction of SQL Server. You may recall the Microsoft Connect projects and other feedback tools (pre-GDPR) that have been used to help drive direction and such based on user and administrator feedback. These have always been challenges to put to use because you don’t have “real” information – it’s more like second-hand information. Someone sees something happening (or thinks they do) then they have to set about reproducing it, confirming it or reporting it and pretending they did those things. Then, when all is said and done, the information may not include the bits that are needed to address the issue or fully understand it.
Now, with all of the usage data flowing through the Azure infrastructure, Microsoft has near-perfect awareness and knowledge of how people really use the product line.
It’s easy to see, too, where this can help drive adoption of best practices-type features and functionality. Basically, if there is something that is needed “out there” In the database world, it’ll be easy to see if people are actually doing it, how they’re implementing it, what types of challenges they may be experiencing and then using that information to figure out how to do it better, different or automatically.
There are a number of areas that come to mind when considering this type of knowledge on a daily use basis.
Performance – find out what types of things are causing the largest issues, what the underlying issue may be and then figure out how to better support addressing that issue. Perhaps automated tuning, or suggestions or whatever may be needed to more specifically convey to administrators and app developers what can be done to tune their systems.
Security – Not seeing encryption on information? People not deploying masking for development or reporting as you may have expected? It’s much more straightforward to understand the underpinnings of the challenge.
The list goes on and on. It’s near-perfect information about reality-based use of the platform.
I’m not saying Microsoft should have (or even does have) unlimited access to systems they work with. Far from it. Even if you look at aggregated error logs, and exception reporting and that type of thing, you can learn a great deal about systems and how to make them better and better, all based on real-world information on their usage.
When developing applications, it seems like a nearly universal experience to talk with users only to find out that they’re using your systems in ways you never imagined. It might be workarounds, it might be cool little utilities they deploy or techniques they use. These are powerful things to know first hand, rather than being surprised by them and learning of them second-hand.
It’s going to be very interesting to see what tools and tweaks come out of a much clearer awareness of environments and usage patterns with SQL Server.