Azure SQL Database Edge: How Microsoft Is Giving Edge Devices a Data Boost
Microsoft introduced a new service into its "intelligent edge" portfolio at the recent Build conference. Here's how Azure SQL Database Edge will fit into the company's broader vision for a more connected world.
- By Joey D'Antoni
During his keynote at last week's Microsoft Build conference, CEO Satya Nadella introduced Azure SQL Database Edge, extending Microsoft's capabilities around the "intelligent edge."
The intelligent edge is Nadella's vision of expanding computing in a connected world, where devices have built-in intelligence. This vision has been enabled by the Azure cloud, with solutions like Azure IoT and Event Hubs that support streaming data into Azure from edge devices to allow a variety of data processing to take place.
SQL Database Edge will enable many more scenarios where businesses want to add computing intelligence. It will also reduce the power required for systems like point-of-sale, allowing companies to deploy those systems even further afar in the field. Additionally, with the integration of machine learning services -- whether it's R, Python, Java or the embedded predict functionality -- SQL Server can now become a place to drive machine learning against volumes of data.
Now in private preview, SQL Database Edge is the culmination of a number of technologies that the SQL Server team has been working on for years. I had the opportunity last week to sit down with Microsoft Senior Program Manager Sourabh Agarwal to discuss the new solution.
Dantoni: This is an interesting new product. What are the types of devices you expect it to run on?
Agarwal: We see three main classes of devices where Azure SQL Database Edge will run. The first is interactive embedded devices -- for example, the point-of-sale systems, smart scanners or handheld devices.
The next category is the edge gateway class of systems. These are systems that act as a funnel for sensor data coming in that typically do little processing. These devices will be predominately ARM devices.
The final class of devices is edge servers. These devices are currently x64 servers, but in three to five years, we see some of these devices moving to ARM processors. These devices tend to do heavier processing on the edge and then move the aggregated data back to a central hub.
What architectural changes did you have to make to SQL Server to be able to have it run on a small ARM device?
The first thing to consider is that this is only running the SQL Server engine. Components like SQL Server Reporting Services, Analysis Services and Integration Services are not included in the install. We have also looked at reducing capacity, which in turn reduces our instantiation at runtime. Since these edge devices are small when compared to larger datacenter servers, we do not see the need for the optimizations which are tailored for high-end, mission-critical systems, so we are trying to eliminate some of those optimizations to reduce the footprint of SQL running on these edge devices.
A couple of other optimizations include removing features like In-Memory OLTP, which would be of limited usefulness on a low-powered device. We also disabled full-text search to reduce the footprint. Also, common language runtime is turned off -- that was a combination of resource consumption and challenges with making it work on ARM processors. If customers need the full processing and performance capabilities of SQL, then our recommendation would be to use the Standard/Enterprise SKUs of SQL Server.
Given the footprint, how much memory is required to run SQL Database Edge?
The current startup and execution footprint requires about 500MB of RAM. So the device itself will require about 1GB of RAM, but we have a north-star goal of reaching a 250-300MB footprint. It's not clear if the market will need that 250MB footprint.
What industries do you see adopting this product?
We see a lot of customers in the public sector, both in the U.S. and internationally. Anywhere Internet of Things [IoT] devices are present -- so, for example, manufacturing or utilities or even smart cities. Some customers are looking to do machine learning at the edge to drive real-time actions and outcomes on the edge. Another customer is doing analysis of data on the edge, and controlling process operations based on the data being generated.
So SQL Machine Learning Services are available?
R and Python support, through external procedure support, are included in the product, just as in SQL Server. Spark and Java support are going to flow in as they are adopted in SQL Server. We also support the predict functionality in SQL Server. This means customers can train complex models in the cloud and deploy them back to their edge to allow better decisions to be made.
How will SQL Database Edge connect back to Azure/on-premises?
Azure SQL Database Edge has a streaming engine which is built on top of Azure Stream Analytics. This allows for streaming queries, which can connect to Azure Event or IoT Hubs, and in turn connect to a wide variety of data syncs within Azure, whether it be Azure SQL Database or Data Warehouse, Blob Storage or any number of targets. Additionally, we will support offline scenarios, where users can connect to, let's say, a REST API endpoint and have control over their data target in their datacenters or in another public cloud.
Working with Azure will obviously provide customers the advantage of bringing Azure-specific value-add services like auto-backup, query optimization, et cetera, to edge deployments.
Is the implementation model for this using containers or can it be installed directly on the device?
Our preferred model is for the customer to use containers, using persisted storage on the device to maintain data. This just makes for a cleaner process for things like updates. However, depending on the maker, we may support embedded device installs in the future.
I know licensing hasn't been determined, but do you have a rough idea?
The pricing will be aligned with the cost of these edge devices. This won't be priced at the cost of the full-blown SQL Server Enterprise Edition.
Joseph D'Antoni is an Architect and SQL Server MVP with over a decade of experience working in both Fortune 500 and smaller firms. He is currently Principal Consultant for Denny Cherry and Associates Consulting. He holds a BS in Computer Information Systems from Louisiana Tech University and an MBA from North Carolina State University. Joey is the co-president of the Philadelphia SQL Server Users Group . He is a frequent speaker at PASS Summit, TechEd, Code Camps, and SQLSaturday events.