In this blog, we’ll discuss MicroSoft’s recent announcement that SQL Server will be available on Linux. If you’re going to Linux, why not move from SQL Server to MySQL?
The open source operating system Linux powers nearly one-quarter of all the servers running in Microsoft’s Azure cloud service. Until just last week, this meant nearly one-quarter of Azure cloud servers couldn’t actually run much Microsoft software.
So Microsoft is porting SQL Server to Linux. Currently, there is a private preview available with a planned full release sometime in mid-2017. Microsoft clarified it would offer at least SQL Server’s core capabilities. Microsoft will include other components after they receive customer requests and feedback. Initially, Microsoft’s Linux version will support relational databases, but leave out the business intelligence side of the software suite for a later date.
Microsoft isn’t open sourcing SQL Server’s code, but making it Linux-compatible is a big change for the company. This is quite a move for Microsoft, signaling at some acknowledgment that open source platforms have the potential to drive revenue. Which is funny, seeing as they once compared Linux to a cancer.
The move also demonstrates the legitimacy of open source development: if there are enough businesses out there willing to use Linux rather than Windows as a platform, obviously any debate over stability, functionality or security is over. But over the years, open source has won over not just hackers and the computer-savvy, but corporations and governments as well.
And why would so many companies be on Linux? I’m going to guess it’s to reduce licensing fees for platform software (such as Windows) and avoid being driven by a single vendor. This makes sense for today’s business world: open source isn’t the wild west anymore, and is a viable alternative to proprietary licensed software. Windows has lost dominance due to missteps in the mobile market and an industry-wide move to web and cloud computing.
So now that you’re saving costs on your platform, and you’ve moved to Linux, why wouldn’t you go one step further and save money on your DBMS licensing by moving from SQL Server to MySQL? Why only go half way – especially since the full version’s release is unknown?
Windows users should be plenty familiar with MySQL, it used often enough by people already trying to cut down on licensing costs, and is increasing in popularity against SQL Server – as evidenced by this graph:
(Graph taken from http://db-engines.com/. You can see an interactive version can here.)
And the benefits of migrating are pretty clear:
- Eliminate the license and support fees for MS SQL Server (or other SQL software). Even various MySQL enterprise versions are less expensive (and frankly, there are several completely open source license version available at NO cost)
- MySQL already supports a wide range of operating systems (OS), including several Linux distros – so, better late than never, Microsoft, but still . . .
- MySQL isn’t tied to a single vendor’s software, so it’s easier to scale or change your environment to adapt to different workloads.
- Almost every aspect of MySQL, including advanced features, have been tested intensively by a massive open source community over years – there isn’t an issue or configuration that hasn’t been thoroughly dealt with
- Several pluggable storage engines, as opposed to one for SQL Server
- MySQL feature set is equal if not better than SQL Server for today’s workloads. You can see a fairly good, if not totally accurate, comparison here. With the recent release of MySQL 5.7, even more performance and monitoring features are available, including multi-source replication, InnoDB enhancements, security updates, and optimizer improvements.
What about MySQL’s performance and scalability compared to SQL Server? Seeing as numerous sites use MySQL for large scale applications and huge workloads (Google, Facebook, Yahoo!, etc.), it shouldn’t be much of a question anymore. And it’s not just a web-centric platform, as evidenced by numerous enterprise and government agency adoptions, in many industries: F5, Telenor, NASA, Scholastic, etc. MySQL’s performance and scalability are clearly in line with SQL Server.
There are multiple online tools to help you migrate from SQL Server to MySQL, any number of which are excellent: MySQL Workbench and AWS Database Migration tool are two examples with a good deal of online documentation and support.
That comparison table isn’t really valid. While the databases have many of the same features, they are implemented in such different ways that porting applications from one to another isn’t generally possible, especially features like federation which simply don’t work on MySQL.
MySQL doesn’t SQL:2003 syntax, and that is pretty important for porting applications between database servers, not to mention that SQL server has it’s own stored procedure language that is not compatible with MySQL, and it supports columnar storage, horizontal scale out, etc, etc.
It is significantly more difficult to port a SQL server app to MySQL than an Oracle app, and most Oracle->MySQL ports fail, unless the application is very simple.
Justin,
There is a right way and wrong way to move to MySQL. I like telling people SQL Server is like Cadillac Escalade and MySQL is like Tesla model S. It might not haul so much stuff but it has better gas mileage and surely better for environment 🙂
Assuming you can just change the database driver and replace MySQL with SQL Server is of course naive one. Typically we see applications or their parts being significantly modified with their new versions using MySQL, MongoDB, Hadoop and other Open Source technologies.
For example one company I have visited couple of weeks ago have been moving their Enterprise infrastructure to SOA and as part of the process moving appropriate services to MySQL
This does not work for every situation of course. In some cases the benefits of moving are less than costs.
The problem with “MySQL for the Enterprise” is the numerous standard apps (mostly administrative) written for SQL Server exclusively. You find such specialized apps for doctors/hospitals, for car dealers, for maufacturing companies etc.etc. Except fo the code such apps require knowledge of the requirements (including legal requirements) for each kind ofbusiness. You cannot write them just because you are a smart coder.
Web/web2 is not the primary target of SQL Server.
I think it is 10 years ago that MySQL AB CEO Mårten Mickos tried to ‘fire up” “MySQL for the Enterprise”. You even may have been involved yourself. iIt did not materialize, as pracitically no such business vendors responded to the invitation (and MySQ AB probably wasn´t equipped to support them either).
My last part was stripped out by clumsy copy/paste :-(. Here it comes:
i don’t believe that MySQL has the potential to replace SQL Server in the business segments where SQL server dominates. It is not for techncial reasons primarily. But the MySQL ecosystem does not have the business insight and cannot provide the logistic and the financial backing required.
With SQL Server on Linux, I think Microsoft targets Oracle (and DB2). For instance I have seen solutions for SQL Server offering a very SAP-like (modular) experience (finance, payroll, purchasing, production planning, stock management etc. etc. modules) – and at a much lower cost than Oracle+SAP. It may not work for the Worlds biggest oild companis, but it does for manufaturing companies, wholesalers and similarr with some K employees (at least).
Peter,
My experience has been there is 2 kinds of Microsoft SQL Server presence in the Enterprises. One is in-house built applications, other is applications which are purchased and require Microsoft SQL Server.
The In-house built applications are those which are considered for migration and this is where we see the traction. My belief is as Enterprises move their in-house applications to MySQL and get more experience running MySQL they will put the pressure on the vendors to support MySQL as an option and moving to MySQL will be safe choice for vendors because Enterprise have experience running it.
And while you’re in the process of migrating to an open source RDBMS, you might as well just go straight to PostgreSQL without having to endure MySQL’s inconsistencies and many many bugs called features that will drive you insane.
I could not agree more Elnur.
Thats funny, for huge table, the SQL Server join performance far far better than MySQL.
MySQL only supports nested loop join.
Real DB Engine Ranking Trend: SQL Server way up with MySQL
https://db-engines.com/en/ranking_trend/system/Microsoft+SQL+Server%3BPercona+Server