In the several weeks leading up to the PASS Virtual Summit in November, I had the good fortune to work with several members of the SQL Server team at Red Hat. They included people such as Louis Imershein, principal product manager, whom I collaborated with on a session about the performance of SQL Server on the Linux platform.
During that time, I learned a lot about Red Hat and Microsoft customers. Many are building their new applications on Linux rather than the Windows operating system for reasons of security, performance, and manageability. In addition, they are now able to take advantage of avoiding mixed operating system environments in the public cloud. Many of these customers have been longtime Linux users. And although they loved SQL Server, they disliked having to run SQL Server on Windows since they were the only Windows servers in their entire enterprise.
The secret ingredient in running SQL Server on Windows is something called SQLPAL, the SQL Platform Abstraction Layer. SQLPAL is a really cool technology that enables SQL Server to run on many OSs, not just Red Hat Linux but also SUSE, Debian, and more. This also makes it really easy to run MySQL and PostgreSQL on Azure, since the SQL PAL fully facilitates communications between the database and the OS layers. It also makes life a lot easier for enterprise customers who want to run SQL Server on Linux by migrating from other versions of SQL Server, Oracle, MySQL, or PostgreSQL.
By the Numbers
It's hard to get actual numbers for the utilization of Linux and Linux-based products in the market today since so much of the Linux stack comes from the open source world. However, I was able to pick up a few interesting facts from the Red Hat team. For example, Red Hat has had more than 60,000,000 Linux container pulls from its download site. It has more than 11 million active instances of SQL Server running, as well as tens of millions of cores using SQL Server on Linux. So we can extrapolate from that information that SQL Server is running on large VMs or physical servers with multiple cores across many enterprises.
In addition, we know that more than 1,500 Red Hat customers are using SQL Server every day, with more joining their ranks every day. These users vary in size, but include some of the world's largest organizations, all deploying SQL Server on Red Hat Enterprise Linux (RHEL).
RHEL Adds Special Features to SQL Server HA
Microsoft and Red Hat have been collaborating for more than 4 years on SQL Server offering even more high performance and availability features. For example, Red Hat has made improvements to the XFS file system to optimize working for Forced Unit Access (FUA)-capable storage devices, using trace flag 3979 so that XFS forced flushing is no longer needed. The net result is nearly a 50% reduction in I/O traffic.
Other improvements include persistent memory (PMEM) support in SQL Server 2019 for Linux, enabling SQL Server to bypass the file system for files on DAX formatted PMEM volumes. There are new TCP/IP stack enhancements that increase performance and provide bottleneck bandwidth and round-trip time (BBR) congestion control. And there is also new multi-queue scheduling which allows storage block devices to make the best use of the bandwidth available from modern NVME-enabled solid-state devices.
Red Hat recently sponsored a PASS virtual chapter webinar on SQL Server and the Red Hat Enterprise Linux High Availability Add-On, available at https://youtu.be/CBcUkXKXpLQ. The webinar features Louis Imershein and Kevin Farlee, one of the grandees of the Microsoft SQL Server product team. In this session, they discuss HADR options for SQL Server, how clustering works on Linux, and a new set of scripts for automating the configuration of Availability Groups (AGs) on RHEL.
Setting up AGs is usually a pain on Windows OS and even more so on RHEL without scripting. Now you can set it up in less than 5 minutes, make just a few relevant configuration tweaks via a web interface and SSMS (SQL Server Management Studio), and you're off to the races. Take advantage of Red Hat's own SQL Server Community of Interest Github site at https://github.com/redhat-cop/sqlserver-coi, where the scripts are ready to go. In addition, the community at Red Hat is taking pull requests for the scripts and is happy to integrate other distros and fencing methods for anyone interested in contributing.
Find out about the latest enhancements for SQL Server running on Red Hat Enterprise Linux at www.redhat.com/en/blog/testing-sql-server-2019-performance-rhel-8 or check in at the Microsoft SQL Server on Red Hat Enterprise Linux resource center at www.redhat.com/en/explore/microsoft-sql-server-rhel. In addition, you can read our blog on the topic of www.sentryone.com/blog/it-is-good-to-have-options-running-sql-server-on-not-windows.