Avantages de l'utilisation de Microsoft SQL Server avec une stack open-source

SQL Server semble avoir des outils et des fonctionnalités vraiment formidables, assez pour me permettre de l'utiliser au lieu de MySQL, même si je fais du développement sur une stack open source.

Quelqu'un a-t-il développé une application sur une stack non-NET et choisi d'utiliser SQL Server comme backend?

Quelles étaient vos raisons de le faire?

N'ignorez pas postgresql – tout aussi ouvert que MySQL, pas au milieu d'une confusion (causé dans le cas de MySQL par l'acquisition par Sun puis par Oracle, les développeurs de base quittant, forks dans Drizzle, MariaDB, OurDelta, …) , ET à peu près aussi riches en fonctionnalités et standards SQL compatibles que MS SQL Server sinon plus (je manque beaucoup de CTE récursifs quand je dois utiliser MySQL – SQL Server et PostgreSQL les ont, cependant, tout comme les standards SQL l'exigent! ).

Lors de la récente OSCON (Open Source CONvention) 2009 dans S.Jose, mon printing totalement subjective était que les gens de MySql-et-fourchettes étaient la plupart du time occupés à se piquer les uns les autres, les nombreuses personnes de Microsoft étaient totalement muettes sur les bases de données et PostgreSQL. les gens discutaient, enseignaient, expliquaient des problèmes tels que la mise à l'échelle, la design de bases de données, les optimizations, les options de deployment, etc. J'ai longtime aimé PostgreSQL, mais avec la version 8.4 actuelle, il semble vraiment avoir atteint un sumt!

Je n'ai pas fait de développement avec une stack open source et Microsoft SQL Server, mais je voudrais juste dire que SQL Server 2008 est génial, et l'expérience du développeur est bien meilleure qu'avec n'importe quelle autre database que j'ai utilisée. Cependant, si la stack open source fait beaucoup appel à votre côté philosophique, vous n'aurez aucun problème avec MySQL, j'en suis sûr.

En d'autres termes, la façon dont je vois cela est que si vous ne tenez pas vraiment à garder l'open source complètement, alors SQL Server est le path à parcourir, mais si vous le faites, utilisez simplement MySQL, il aura le job terminé.

Je voudrais juste vous avertir de faire attention à SQL Server sur une plate-forme non.NET avant d'avoir vu les mesures de performance. Une fois j'ai dû coupler Java avec SQL Server 2008 et trouvé la performance inacceptable. Le pilote JDBC fourni par Microsoft était assez 'subpar' (les transactions étaient extrêmement lentes). Un ami a recommandé le pilote open source jDTS, qui ne fonctionnerait pas avec la database à less que la database n'ait été définie pour utiliser le moteur SQL Server 2005. La performance était un peu mieux alors, mais pas ce à quoi je m'attendais. J'ai ensuite essayé d'installer SQL Server 2005, en l'associant avec le même pilote jDTS, et finalement réussi à get la vitesse que je désirais. Mais, en tant que plate-forme de database, c'est un système vraiment sympa.

Il n'y a ni avantages ni inconvénients.

Le code et le schéma auront probablement plus d'effet que le choix du langage utilisé.

Cela dit, MS passe beaucoup de time à peaufiner les choses SQL .net.

Où j'ai travaillé avec le pilote MS jdbc (en tant que DBA de développement), c'est assez nul: pas de support pour le count de domaine ou le encryption SSL SQL Server. Les gars de Java que je travaille utilisent tous les jtds maintenant. Bien, nous sums sur une plate-forme Solaris d'entreprise.