Snowflake a ouvert sa conférence annuelle le 14 juin dernier à Las Vegas avec une pluie d’annonces pour compléter sa plateforme data store programmable, flexible et adaptée à une grande variété de charges de travail. A travers ses services, le fournisseur cherche à se rapprocher des data scientists, data engineers et développeurs d'applications et répondre au mieux à leurs besoins. En ce sens, Snowflake a annoncé étendre le support natif de Python et lancé Snowpark for Python, désormais disponible pour tous les clients en préversion publique. Cet ajout améliore l'accessibilité et la programmabilité pour les métiers cités précédemment. Concrètement, Snowpark for Python est intégré de manière native pour aider les entreprises à créer des applications axées sur les données. Cette  intégration a été rendu possible suite au rachat de la start-up Streamlit (en mars 2022).

Au deuxième jour de l'événement, Torsten Grabs, directeur de la gestion des produits est revenu sur la disponibilité en préversion publique de Snowpark for Python. (Crédit : C.S.)

Le framework de développement Snowpark, introduit en juin 2021 et disponible à tous depuis fin janvier, aide les développeurs dans la construction de pipelines et d’applications évolutives ainsi que de flux d'apprentissage automatique directement dans la plateforme en utilisant leurs langages et bibliothèques préférés. L’éditeur a précisé élargir l’accès aux données afin de pouvoir, à terme, travailler avec des données en continu. Actuellement en préversion privée, l’outil dédié à cette prise en charge des données en continu et baptisé Snowpipe Streaming pourrait améliorer considérablement la latence. Christian Kleinerman, vice-président senior chargé des produits de Snowflake, a notamment évoqué ce point : « Snowpipe Streaming offrira une amélioration de la latence d'un ordre de grandeur équivalent à 10 par rapport à ce qui existe aujourd'hui, passant de quelques minutes à des secondes ». Christian Kleinerman a par ailleurs énoncé des investissements massifs dans ce domaine, considérant « la facilité d'utilisation du traitement en continu [comme étant] un problème clé ».

Les Materialized Tables et Iceberg Tables dévoilées

Une fonctionnalité a également été présentée lors d’une keynote par Christian Kleinerman, appelée Materialized Tables, ayant pour but de prendre en charge toutes les requêtes dans Snowflake. « En général, cela nécessiterait beaucoup d'efforts pour configurer des systèmes de streaming distincts se connectant aux données de référence de Snowflake à l'aide d'une programmation impérative complexe. Mais les Materialized Tables, en cours de développement, éliminent la complexité et simplifient la jonction et la transformation des données en streaming » détaille Christian Kleinerman. Il définit cela comme « une table matérialisée est un pipeline de données déclaratif fonctionnant avec seulement quelques lignes de SQL ».

Dans un second temps, l’éditeur a annoncé qu’il prévoyait d’étendre ses tables externes pour supporter Apache Iceberg afin que les utilisateurs accèdent aux données des systèmes de stockage sur site directement depuis le cloud et a révélé les Iceberg Tables.

Christian Kleinerman, vice-président senior chargé des produits de Snowflake, a dévoilé les Iceberg Tables. (Crédit : Snowflake)

Présentées comme des tables de « première classe », ces dernières « offrent les mêmes fonctions de gestion, de DML et de CRUD que les tables internes, avec des performances similaires ». Mettant en avant l’interopérabilité, il explique que les tables Iceberg utilisent des métadonnées ouvertes et le format de fichier ouvert Parquet à l'intérieur de buckets de stockage client. « Je suppose que l'EPI est que nous devons être en mesure d'étendre le Data Cloud à une variété de systèmes. Nous commençons avec deux de nos grands partenaires, Dell Technologies et Pure Storage, qui constituent la plus grande intégration et seront lancés dans les prochaines semaines » conclut Christian Kleinerman. Rappelons que les partenariats noués avec ces deux fournisseurs de stockage permettent d'assurer un traitement analytique locale ou dans le cloud avec les outils du data store de Snowflake.