SQL Server and MySQL are two of the most popular relational database management systems on the market. While one...
isn't clearly superior to the other, there are certain uses in which Microsoft's RDBMS may be a better choice than Oracle's MySQL, and vice versa.
For example, MySQL is an excellent choice for multi-platform environments since it works on Microsoft Windows, UNIX and Linux. SQL Server, on the other hand, is likely to be the better choice for Windows shops that need to perform deep analytics or must move workloads from the data center to the Azure cloud.
Here's a look at SQL Server vs. MySQL, including important features, pricing, compliance and other relational database management system (RDBMS) considerations to help you make the best choice for your workloads.
Microsoft SQL Server features, pricing
The most up-to-date version of Microsoft's RDBMS is SQL Server 2016, released in June. Microsoft offers four different editions of SQL Server 2016, plus a web edition for web hosting providers. Two of these editions, Express and Developer, are freely available. Express Edition is a lightweight SQL Server database that can support up to 10 GB of data, while Developer Edition is licensed exclusively for development and test environments.
The other SQL Server versions include Enterprise, Standard and Web. Enterprise Edition comes with the full suite of features suitable for mission-critical databases and advanced analytics workloads, while Standard Edition comes with a more limited set of features suited to a smaller-scale setup. Web Edition is for use with public websites and is available exclusively to third-party hosting service providers, who set the price.
Microsoft licenses the Standard and Enterprise editions on a per-CPU-core basis, with licenses sold in two-core packs; if SQL Server is running in a server's physical operating system environment, you must buy a license for all of the processor cores. The two-core SQL Server 2016 Enterprise Edition license lists for $14,256, while a two-core Standard Edition license lists at $3,717. As with any technology, though, actual licensing costs typically are based on a number of factors, such as volume discounts.
As an alternative, Microsoft also offers a traditional Server + CAL licensing model for SQL Server Standard Edition, for use in cases when the number of users or devices connecting to a database can be easily counted or when they need to access multiple databases. Under that model, the server license lists for $931 and a Client Access License (CAL) is required for each user or device that connects to SQL Server; a pack with SQL Server 2016 and 10 client licenses retails for $3,189 on Microsoft's online store, which nets out to a price of about $225 per CAL.
Oracle MySQL features, pricing
MySQL is owned by Oracle, which acquired the technology when it bought Sun Microsystems in 2010; Sun purchased the original developer MySQL AB two years earlier. The MySQL database, now in version 5.7, is available as a commercial-grade RDBMS or as an open source database. There are three main variations of MySQL available: MySQL Standard Edition, MySQL Enterprise Edition and MySQL Cluster Carrier Grade Edition (CGE).
There is also MySQL Classic, an embedded database that is available only to independent software vendors or OEMs. And MySQL Community Edition is the open source database available through the GNU General Public License. However, the three primary editions, which include management tools, are commercially licensed through Oracle.
Commercial MySQL licenses are available as a subscription, and the prices vary widely depending on the MySQL edition, the communications socket count and the subscription length. For example, a MySQL Standard Edition (one to four sockets) lists for $2,000 for one year, while MySQL Enterprise Edition (one to four sockets) lists at $5,000 for one year. A one-year subscription to MySQL Cluster CGE (five or more socket server) sells for $20,000.
SQL Server vs. MySQL performance and scalability
At one time, MySQL had a reputation for being less capable than competing databases. Today, however, MySQL is a mature and full-featured database used by many high-profile organizations.
MySQL emphasizes database scalability and performance. MySQL databases can easily scale to most multi-terabyte databases, and can be optimized to handle high-speed transactional workloads or extremely high-volume workloads of up to a billion queries per day. MySQL uses features such as memory tables, b-tree indexing and hash indexing to achieve very high levels of performance and scalability.
As is the case for other enterprise-grade databases, MySQL is also designed for high availability. The RDBMS can be configured as a failover cluster, but it also supports high-speed replication. There are also a number of third-party vendors that offer high-availability options for MySQL.
Microsoft's SQL Server has also evolved considerably over time, and SQL Server 2016 bears little resemblance to the SQL Server versions of the early 1990s.
Like MySQL, SQL Server can be made highly available, and can handle the largest, most demanding workloads.
SQL Server 2016 includes expanded high availability and improvements to its memory-optimized tables designed to enable faster performance and higher scalability in applications that utilize the database's In-Memory OLTP feature. However, SQL Server has had scalability, performance and availability features long before SQL Server 2016. Consequently, most of the new capabilities in SQL Server 2016 focus on features such as business intelligence, security and cloud portability.
For example, a feature called Stretch Database lets users store data that isn't accessed frequently in the Microsoft Azure cloud to reduce costs, while still keeping it available for querying if needed. Analytics additions include support for the R programming language and full integration of PolyBase, a tool that lets users query data stored in Hadoop clusters and Azure BLOB storage.
Two of the more notable security features introduced in SQL Server 2016 are row-level security and Always Encrypted, which encrypts data both at rest and in transit, and keeps unauthorized users from accessing sensitive data.
SQL Server vs. MySQL implementation
Both SQL Server and MySQL support SQL, the standard programming language for relational databases, but in each case with a number of proprietary extensions.
Another important consideration when deciding on a relational database management system is standards compliance. SQL standards have existed since 1986, when the SQL-86 standard was introduced and the SQL standards have continued to evolve.
MySQL supports current SQL standards as well as Open Database Connectivity levels 0 to 3.51. Additionally, MySQL can operate in a variety of SQL modes including ANSI, STRICT TRANS TABLES and TRADITIONAL. It is worth noting that MySQL augments the SQL Server standards through a number of extensions. As such, porting a MySQL application to Microsoft SQL Server, or to a competing SQL database engine, requires a significant amount work.
In contrast, Microsoft does not indicate the degree to which SQL Server adheres to industry standards. SQL Server includes a compatibility setting, which allows a database instance to become backward compatible with a previous version of SQL Server. Microsoft also designed SQL Server 2016 to support cloud portability and to provide users with a consistent experience regardless of whether SQL Server resides in the datacenter, in the cloud or both.
In addition, Microsoft plans in 2017 to add support for running SQL Server on Linux systems, a move that will take the database beyond Windows for the first time -- potentially blunting MySQL's multi-platform advantage, at least to an extent.
Tips before you upgrade to SQL Server 2016
Insights into SQL Server's Stretch Database
The SQL vs. NoSQL database debate falls flat