SQL 2017 - Windows Vs Linux

  • Hi,

    Can someone help me understand the pros and cons of running a SQL 2017 in Linux Vs Windows. Thanks in Advance!

    Chelladurai

  • haichells - Wednesday, July 4, 2018 11:31 PM

    Hi,

    Can someone help me understand the pros and cons of running a SQL 2017 in Linux Vs Windows. Thanks in Advance!

    Chelladurai

    This is really a rather vague question. Some of the pros (and cons) can be quite subjective as well: fore xample if you're in a all Linux environment using Windows would be a con. A Con of SQL Server on Linux is that is doesn't yet support all the features of SQL Server (yet?): Unsupported features & services. Of course, if you don't need those services, it's no longer a con.

    Choosing the "right" version of SQL server, again, is subjective. You know your needs far better than we do, and you know your skill sets, and the companies, infinitely better than any of us here (as we have no context of that).

    You'll probably be better asking a more specific question here, as there is no real answer; as the answer is "it depends".

    Thom~

    Excuse my typos and sometimes awful grammar. My fingers work faster than my brain does.
    Larnu.uk

  • Thom has some good thoughts. I'd also add what is your skillset? Or that of your team?

    If you have mostly Linux or Windows experience, it's a con to add the other OS as a platform to support.

    Performance is really similar. Depending on setup and workload, either could be better or worse.

  • Are these Unsupported features & services. are still unsupported? Since this thread seems to be a last year, do you think there are any additional pros? Has any other benefits got added for SQL Server 2017 on Linux since then? I am trying to understand advantages of SQL Server 2017 on Linux vs Windows.

  • The question shouldn't really be Linux v Windows. The OS is a preference, and if you want to use Linux, use it. If you want Windows, use it. The SQL Server product is the same.

    That being said, the Linux version has some missing features in SQL Server 2017. It has less in SQL Server 2019, and likely by SQL Server 2020 or 2021, it will be mostly on par in either case. SQL Server 2017 isn't going to get more feature on Linux.

    If you need missing features, use Windows. If not, use what works for your environment.

  • Good day,

    There are really  great points which were mentioned in this thread (I mostly liked the first response by Thom A which can be great opening of a blog that summarize the topic), but I feel that it is a missing a bit more specific points like discussion about performance. Please do not see this message as an answer since it cannot stand by it self! This come only if and when the use of SQL Server on Linux actually fir your case. I just want to add to all that was already said.

    We did a lot of performance tests back in 2017 and before during the private preview> public preview> and after the release. The test were done mostly on UBUNTU since this is what we have for mongoDB and the idea was to put all in one environment.

    My 2 cent from the performance aspect is this:

    We found clear performance advantage in using SQL Server on Linux in small environments which used (near)default configuration with no optimization. The overhead of the operating system took big part in this case and not just the SQL Server directly. Once we moved to bigger host systems the advantage moved slowly to the windows hosting, but in one point when we examine big data of tens of Terabytes it actually moved back to advantage for Linux.

    Important! (1) SQL Server on Linux supports only ext4 (you will need to split your files to 16 Tbytes or less) and <span style="text-decoration: underline;">XFS file system which is the proffered according to our tests</span>. (2) Use VERY low value for the Swappiness (default is 60 and best is 10 or less)! (3) MongoDB is not "NUMA-aware" but SQL Server is designed to take advantage of NUMA - This put a challenge for us. Our conclusion was that Mongos play OK with SQL Server but Mongod should be in different machine (If must, possible to put the config server wit the SQL server and in this case execute mongod using "numactl --interleave=all"). In this architecture NUMA can stay enabled probably.

    >>>> "Running MongoDB on a system with Non-Uniform Access Memory (NUMA) can cause a number of operational problems, including slow performance for periods of time and high system process usage."

    ... to be continue in some other day 😉  ...

    You can check this document regarding the topic (It is mostly promoting and did not gave me a feeling of technical document with numbers but yet it does brings some real case scenario).

    • This reply was modified 5 years, 8 months ago by  Ronen Ariely.

    Senior consultant and architect, data platform and application development, Microsoft MVP.

  • This is an old post but perhaps more relevant when applied to the cloud.  There is a substantial savings for an instance in the cloud.

    For example, RHEL, in AWS, one year, m5.xlarge $1603/year, Windows $2689, savings $1,086 per server per year.  If clustered, that would add up to $3K or possibly $6K if there is a TEST cluster as well.

     

    Jamie

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply