Je napojení z Node.js na SQL Server spolehlivé?

Pokud zvažujete Node.js pro projekt, který musí komunikovat s MS SQL databází, mohlo by se vám hodit pár informací o tom, jak je toto napojení přes oficiální modul momentálně spolehlivé.

Jak jsem psal na Zdrojáku v článku o technickém řešení WebShotteru, oficiální Node modul msnodesql (přejmenovaný z dřívějšího node-sqlserver) od Microsoftu nás v létě loňského roku nepěkně potrápil a tehdy jsem kombinaci Node.js + MS SQL Server / Azure SQL Database doslova … neměl rád. Naštěstí se na podzim věci uklidnily a napojení začalo s novou verzí driveru poměrně spolehlivě fungovat, museli jsme však zůstat u starší verze Nodu, konkrétně 0.6.20. Modul šel sice experimentálně zkompilovat pro Node 0.8.x, ale my měli dost problémů i s “podporovanou” verzí, takže to nepadalo v úvahu.

Fast forward do současnosti (9. ledna 2013) a na Microsoftím download centru se konečně objevily binárky pro Node 0.8 (a pro různé další kombinace platforem a verzí). Jsem však ohledně tohoto modulu obezřetný, a tak jsem napsal pár lidem z Microsoftu, abych ověřil, jak se věci mají.

Mimochodem, na “novém Microsoftu” je skvělé, jak funguje komunikace s produktovými týmy a dalšími lidmi zevnitř. Email jsem napsal někdy v noci jejich času, přes den mi odpověděli a i na různé dodatečné otázky odpovídali promptně. U mnoha věcí jinak “cool” Googlu se ani žádný email nedá dohledat.

Koho jsem se zeptal? Nedávno jsem se dozvěděl, že Azure Mobile Services (pro mě sice trochu těžko uchopitelná služba, ale to je teď jedno) jsou napsané v Nodu a data ukládají do Azure SQL databáze. Je to tedy velký projekt, kde zrovna práce s databází je naprosto klíčová, a PM tohoto týmu je Paul Batum. Z krátké konverzace s ním vyplývá (aspoň pro mě) několik závěrů:

  • SQL Server driver je dostatečně spolehlivý na to, aby na tom jeden z týmů Azure postavil celou službu.
  • Používají Node.js 0.6.x, což údajně nemá žádnou souvislost s msnodesql modulem, ale prostě s tím, že s touto verzí začli a upgrade by mohl rozbít některé uživatelské skripty (v AMS se dají v JS skriptovat databázové operace).
  • Je vždycky dobrá zpráva, když určitou technologii MS používá nějaký “vnitřní zákazník” – vzniká tak přirozený vnitřní tlak na kvalitu. Pro mě osobně je dobré vidět prominentní Node.js projekt používat Azure SQL databázi skrze onen dříve problematický modul.

Pokud je tedy napojení z Node.js na SQL Server vaší aktuální realitou, gratuluji, váš projekt má dobré načasování a snad by neměli být větší problémy. Modul msnodesql je sice stále technicky vzato v Preview fázi, takže MS za nic neručí, ale je to z mého pohledu už “akceptovatelné Preview”, na rozdíl od dřívějška.

4 thoughts on “Je napojení z Node.js na SQL Server spolehlivé?
  1. Cool blog! Is your theme custom made or did you download it
    from somewhere? A design like yours with a few simple tweeks would really make my blog jump out.
    Please let me know where you got your theme. Thanks a lot

  2. Superb blog you have here but I was wanting to know if you knew of any
    message boards that cover the sane topics talked about in this article?
    I’d really love tto be a part of community where I can get responses from ogher knoledgeable individuals
    that share the same interest. If you have
    any recommendations, please let me know. Cheers!

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax