saryeHaddadi edited a comment on issue #9926:
URL: https://github.com/apache/airflow/issues/9926#issuecomment-831525325


   Hi, I can bring 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 anyway.
   
   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]


Reply via email to