saryeHaddadi commented on issue #9926: URL: https://github.com/apache/airflow/issues/9926#issuecomment-831525325
Hi friends, I can bring you some informations on: `what versions do we support, should we add support to more versions.` 1. In general, ms-sql is quite robust in term of newer versions, in the sense that newer versions do not break old ones, especially since SQL Server 2008-R2. 2. Whatever SQL Server version you are running, you can set, on a Database basis, the [Compatibility Level to a prior version](https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level). E.g. for an instance of SQL Server 2016, having multiple DBs inside it, you can set one DB to kind of run with the code/syntax/rules of SQL Server 2012, another with the code/syntax/rules of SQL Server 2014, etc. → Targeting an older version of SQL Server = newer versions can generally run it. If anything, the user can always set the compatibility level of his newer SQL Server to target an older version, and the issue is solved. 3. Today, there are still people running older version of (SQL Server 2000!), but those would be for legacy business applications. For an app like Airflow, you can assume that people will use a server not hosting those kind of legacy applications. 4. The easiest would be to test on SQL Server 2016. Having Airflow working on SQL Server 2016 would be super! And I think that all ms-sql folks will get by this. I am not aware of any break since SQL Server 2016 to the last released version (SQL Server 2019). 5. For the sake of informations, here are some major changes with older verions in term of syntax: - SQL Server 2014: does not support for XML/Json data types, nor some functions such as string splitting, has less support on columnar indexes. - SQL Server 2012: not aware of major change compared to SQL Server 2014. Don't support columnar indexes. - SQL Server 2008R2: this version doesn't support analytical functions (count() over (partition by...)). - There is no point to go further, I don't think that anyone will install Airflow on SQL Server 2008. Given that Airflow is a 'new' technology, I think that people will modernize themself anyway if using it. SQL Server 2016 is fine for testing. --- I reflected this afternoon, [as part of the StackOverFlow 2020 surver](https://insights.stackoverflow.com/survey/2020#technology-databases-all-respondents4), SQL Server is the third most used Database, not far away from Postgre. If we talk only of Relation Databases, the major ones are : MySQL, Postgre, SQL Server, Oracle, MariaDB (DB2 almost not used, and mainly used for legacy mainframe, and SQL lite not a good fit for Airflow Production). MySQL-MariaDB are kind of similar, the latter is a fork of the other. Both Postgre & Oracle runs on PL/SQL, even though their might be differences in term of isolation level support. There remains just SQL Server alone. So there are points of supporting it for the sake of completness of RDBMS support. However, this has a technical/humain cost, add on that the fact that the Python ecosystem/developpers are more used with Postgre/MySQL. I hope the community will succeed in achieving their major Airflow milestones so that this may give some room & time to add support to SQL Server. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
