SnowSQL – un outil de ligne de commande moderne conçu pour le cloud

SnowSQL – un outil de ligne de commande moderne conçu pour le cloud


Quoi et pourquoi

À partir de ce mois-ci, nous avons introduit un nouvel outil de ligne de commande moderne pour une expérience de requête interactive avec le service cloud Snowflake Elastic Data Warehouse. Oui, en effet – un nouvel outil en ligne de commande !

Maintenant, vous vous demandez peut-être pourquoi Snowflake a-t-il décidé d’investir dans la création d’un nouvel outil de ligne de commande SQL au 21e siècle alors qu’il existe tant de façons différentes d’accéder au service Snowflake et de le développer ? Par exemple, vous pouvez utiliser notre interface utilisateur actuelle, ou divers pilotes, ou d’autres outils d’édition SQL disponibles aujourd’hui.

La réponse est simple :

  • Tout d’abord, les développeurs se soucient toujours beaucoup des mécanismes légers pour poser rapidement des questions SQL via un terminal textuel avec une simple entrée et sortie de texte.
  • Deuxièmement, nous avons reconnu le besoin d’un outil de ligne de commande plus moderne conçu pour le cloud, facile à utiliser, basé sur des normes de sécurité élevées et étroitement intégré au service de données cloud élastique de base de Snowflake.
  • Enfin, nous voulions créer un outil de ligne de commande qui offre aux utilisateurs des capacités de script plus puissantes dans l’ensemble.

Le résultat de ces efforts est SnowSQL – notre nouvel outil de ligne de commande SQL qui est entièrement construit en Python et exploite Connecteur Python de Snowflake sous.

En regardant les outils de ligne de commande plus génériques existants, tels que SQLLine ou HenPlus, il est devenu évident que ces outils manquaient de facilité d’utilisation et n’offraient pas vraiment suffisamment de fonctionnalités de script. De plus, l’approche de Snowflake consistait à considérer l’outil de ligne de commande comme faisant partie du service cloud global. Autrement dit, SnowSQL peut être considéré comme une extension du service Snowflake Elastic DW. Cette philosophie axée sur le cloud a des implications importantes sur l’ensemble du cycle de vie de l’outil de ligne de commande de Snowflake, y compris l’agilité de la fourniture de nouvelles fonctionnalités SnowSQL dans le cadre des mises à jour fréquentes du service Snowflake (veuillez voir ci-dessous les capacités de mise à niveau automatique)

Commencer

Pour commencer, vous pouvez télécharger SnowSQL à partir de l’interface utilisateur Snowflake après vous être connecté à votre compte Snowflake. SnowSQL est actuellement pris en charge sur les trois principales plates-formes, notamment :

  • Linux 64 bits,
  • Mac OS X 10.6+, et
  • Windows 64 bits

Nous fournissons un programme d’installation natif pour chaque plate-forme avec des étapes d’installation faciles à suivre. Une fois que vous avez installé SnowSQL, ouvrez un nouveau terminal et tapez :

$ SNOWSQL_PWD= snowsql -a -u

Lors de la première utilisation, les utilisateurs de SnowSQL remarqueront une barre de progression qui indique le téléchargement de la version initiale de SnowSQL. Il s’agit d’une opération unique. Tous les téléchargements futurs se feront en arrière-plan et resteront entièrement transparents pour l’utilisateur. La possibilité de mettre à niveau automatiquement et de manière totalement transparente l’outil de ligne de commande est l’un des principaux avantages de la création d’un outil de ligne de commande en tant qu’extension cloud plutôt qu’un composant logiciel autonome interagissant avec un service distant (veuillez consulter la section de mise à niveau automatique ci-dessous) .

Utilisation de SnowSQL

Il y a quelques capacités que nous aimerions souligner dans ce blog.

Commandes SnowSQL

Tout d’abord, SnowSQL offre une large gamme de commandes qu’un utilisateur peut utiliser. En règle générale, toutes les commandes SnowSQL commencent par un caractère ‘!’. Pour une liste complète des commandes actuellement prises en charge, veuillez consulter notre documentation ici.

Auto-complétion et mise en évidence de la syntaxe

Deuxièmement, grâce à notre fonctionnalité de saisie semi-automatique contextuelle, les utilisateurs de SnowSQL sont libérés de la saisie fastidieuse et sujette aux erreurs des noms d’objets longs. Ils peuvent plutôt compléter les mots-clés et les fonctions SQL une fois les trois premières lettres saisies. En tirant parti de la saisie semi-automatique, les utilisateurs de SnowSQL peuvent devenir de plus en plus productifs et explorer rapidement les données dans Snowflake. De plus, les instructions SQL sont mises en évidence dans différentes couleurs, ce qui améliore la lisibilité pour les utilisateurs de SnowSQL lors de l’interaction avec un terminal.

ezgif 2859172874 1

Mise à niveau automatique

Pensé comme un service, le cadre de mise à jour automatique permet aux utilisateurs de toujours rester à jour avec les dernières fonctionnalités de Snowflake et de SnowSQL pour rationaliser l’expérience de l’utilisateur final. Plus besoin de téléchargements supplémentaires ou de réinstallation fastidieuse. La mise à niveau est transparente pour l’utilisateur final et s’effectue en arrière-plan lorsque vous démarrez SnowSQL. La prochaine fois qu’un utilisateur exécutera SnowSQL, la nouvelle version sera automatiquement récupérée tandis que ses workflows ne seront pas affectés et ne seront pas interrompus pendant la mise à niveau.

Connexion sécurisée et cryptage

Enfin, la sécurité est au cœur de la conception de SnowSQL. SnowSQL sécurise les connexions à Snowflake à l’aide de TLS (Transport Layer Security) avec des vérifications OCSP (Online Certificate Status Protocol – OCSP). Les fichiers binaires de mise à niveau automatique sont toujours validés à l’aide de la signature RSA. En plus de la connexion sécurisée, SnowSQL fournit une sécurité de bout en bout des données entrant et sortant de Snowflake en utilisant AES (Advanced Encryption Standard) pour les virgules PUT et GET de Snowflake.sd.

Au cours des prochaines semaines, nous fournirons une plongée plus approfondie dans certaines des fonctionnalités uniques de SnowSQL. Veuillez rester à l’écoute pendant que nous recueillons et intégrons les commentaires de nos clients. Nous tenons à remercier nos principaux ingénieurs logiciels Shige Takeda (@smtakeda) et Baptiste Vauthey (@thabaptiser) pour leurs principales contributions.

Enfin, tout cela n’aurait pas été possible sans la communauté Python active qui nous a inspiré à bien des égards et nous a proposé des outils et des packages pour construire SnowSQL. Merci.

Comme toujours, gardez un œil sur ce site de blog et sur notre flux Twitter Snowflake (@SnowflakeDB) pour des mises à jour sur toutes les actions et activités ici à Snowflake Computing.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.