Data Driven
Evaluating Microsoft's SQL Server on Linux Gamble
Plus: Will Microsoft's courtship of Oracle customers be successful?
- By Joey D'Antoni
- 03/14/2016
Last week was quite the week for Microsoft -- Visual Studio integration with Eclipse, and then the big announcement that SQL Server is coming to a Linux operating system near you shortly. The cool thing about these announcements is that while people are surprised and excited for them, their reaction is not abject shock.
The 2016 version of Microsoft is about all the platforms -- those Microsoft Loves Linux stickers are not just decorations. A lot of analysts focused on how the SQL Server to Linux move would drive enterprise sales. While there is some foundation in the question, especially given the reputation and expense associated with Oracle in the enterprise, I do not feel as though the Windows Server operating system has a been a limiter to SQL Server in well over a decade, and while those enterprises may run other database platform on their Linux servers, they also run directory services using Active Directory on Windows Server, Exchange (if they haven't moved to Office 365) on Windows Server, and finally they run some mission-critical applications on SQL Server (which also runs on Windows Server).
So if this move is not going to drive a lot of enterprise sales, why did Microsoft make the move? More and more developers these days think cloud first, and quickly the LAMP stack (Linux, Apache Web Server, MySQL, Python) has taken over development at many startups, especially those mobile app firms. To stay relevant going forward, Microsoft knows it has to win the hearts and minds of these developers. While no information on pricing of SQL Server on Linux was offered, I would not be surprised to see a free version up to a certain data limit (think SQL Server Express Edition) and paid options after that.
Microsoft Goes After Oracle
While I don't feel that SQL on Linux announcement is a shot across the bow at Oracle, what Microsoft announced last Wednesday in New York most definitely is. For customers who have 50 or more servers that are looking to migrate from Oracle to SQL Server, Microsoft is offering free licensing (free as in if you pay for software assurance, your base licenses are free) and free professional services to move Oracle workloads onto SQL Server. The professional services here really are key -- the biggest expense of a migration project is refactoring the data types and procedural code that are associated with an application. One of the key benefits of SQL Server versus Oracle is that when you pay for the enterprise edition you get the full-feature set. Oracle charges extra on a feature-by-feature basis, so many commonly used database features like partitioning, compression, and in-memory can cost Oracle customers anywhere from $5000 to upwards of $25,000 per CPU core.
Microsoft is making a big bet on analytics. Last year the company acquired Revolution Analytics, a leading vendor of R (an Open Source statistical software package), and the SQL Server product team worked at a rapid clip to integrate R into SQL Server 2016. The goal of this is to have a common place for data scientists to work to leverage organizational data and take advantage of the many optimizations made for large scale data in SQL Server. Conveniently, one of the other new features of SQL Server 2016 is Polybase, which allows direct connections to files stored in Hadoop or Azure Blob Storage. This allows analysts to write SQL code to access data that may be stored in a wide variety of sources, removing a big hurdle (having to use a non-SQL language) for many Big Data implementations. Additionally, Microsoft has also made a big investment in SQL Server Reporting Services, which is the on-premises reporting solution that comes with SQL Server. Reporting Services now supports HTML 5, has a mobile reporting development tool (also the produce of another Microsoft acquisition, DataZen) and integration with Microsoft's cloud-based business intelligence tool Power BI.
A lot of Microsoft's early (2009-2012) cloud messaging was very aggressive and intimidating to many large enterprises. The notion that all workloads would migrate to the cloud was definitely ahead of its time. In recent years, the messaging has been more nuanced and associated with more of a hybrid model, which is most realistic for most organizations. One of the features demonstrated at the launch event was StretchDB, a feature that allows for part of your table to live on-premises and part of your table to live in an Azure SQL Database. The SQL Server query optimizer has intelligence around data locality, so it will send part of the query to the cloud to be processed, and only the results will be returned. The main benefit is this feature is reducing storage costs for applications that have to support a large archive of what is relatively "cold" or infrequently accessed data for either business or regulatory reasons. As a DBA who used to work in health care (where we had to keep all of our data forever), this feature would have been of great benefit. Being able to quickly and asynchronously move data into the cloud (without any changes in application code) would have made my storage admin and my manager extremely happy.
SQL Server 2016: Are You Ready?
In the past, many organizations would wait until the release of the first service pack to upgrade to a new release of either Windows or SQL Server. With the modern incarnations of both products, extensive beta testing with live customers has gotten the products in the public's hands well before they hit GA. I've been working with two customers who have been in production on SQL Server 2016 and the biggest change with the new model is how Microsoft has implemented a lot of features that are in SQL Server 2016 into Azure SQL Database. A good example of this are the security features: row-level security, dynamic data masking and Always Encrypted have been in cloud database service in a production capacity the summer of 2015. So when does SQL Server 2016 go live? Microsoft has promised the first half of 2016.
About the Author
Joseph D'Antoni is an Architect and SQL Server MVP with over two decades of experience working in both Fortune 500 and smaller firms. He holds a BS in Computer Information Systems from Louisiana Tech University and an MBA from North Carolina State University. He is a Microsoft Data Platform MVP and VMware vExpert. He is a frequent speaker at PASS Summit, Ignite, Code Camps, and SQL Saturday events around the world.