Snowflake Summit 2022 : l’Unistore et les Hybrid tables

En Juin 2022, ont été annoncées l’Unistore et les Hybrid tables Snowflake. Cette annonce est un véritable virage dans le monde de la donnée.

Depuis plusieurs dizaines d’années, OLTP (Online Transaction Processing) et OLAP (Online Analytic Processing) étaient silotées pour répondre à des enjeux transactionnels (rapidité en lecture et écriture) et analytiques (Data stores, Data warehouses et Data lakehouses).

Snowflake délivre aujourd’hui une plateforme unifiée autour d’un pattern HTAP (Hybrid transactional and Analytical Processing) décrit en 2009 par le Dr. Hasso Plattner comme suit :


L’ancienne approche

Comme le représente le diagramme ci-dessus, l’ancienne approche consistait à siloter

  • les systèmes transactionnels demandant une gestion atomique des évènements, une rapidité dans les transactions (de l’ordre de la milliseconde) et une concurrence des requêtes élevées d’une part
  • et d’autre part, le monde de l’analytique n’imposant pas les mêmes contraintes de lecture/écriture mais demandant une rapidité dans les agrégations et gros volumes de données à traiter

Par définition, le pattern, de par ces limites technologiques, imposait une séparation des plateformes pour éviter les contentions entre ces workloads complètement différents. Le système transactionnel “run the business” et le système analytique “analyse the business”.

Cela entraînait dans les architectures traditionnelles :

  • De la complexité dans la maintenance et la gouvernance
  • De la latence
  • Des silos
  • De la duplication de données
  • Des difficultés à joindre les deux bouts entre les mondes transactionnel et analytique

La réponse

Auparavant uniquement positionné sur des réponses aux problématiques analytiques, Snowflake a annoncé l’Unistore.

L’unistore est construit sur le framework Snowflake existant mais y ajoute :

  • Lookups à faible latence : la possibilité de fetch des lignes identifiées par une clé unique avec une moyenne de 20ms de latence
  • Workloads hautement concurrentiels : la possibilité de supporter jusqu’à 100000 requêtes par secondes sur des inserts, deletes et updates
  • Le renforcement des contraintes sur les Primary Keys et Foreign Keys pour accélérer la recherche et s’éviter les duplications de clés

Ci-dessous un code qui illustre la façon dont une table hybride est créée :

Modification de l’architecture

Cette annonce promet une simplification drastique de l’architecture :

  • Facilité de maintenance : plus besoin de maintenir deux systèmes de base de données
  • Facilité de gestion de la gouvernance : la donnée est dans Snowflake et reste dans Snowflake
  • Dé-duplication : la donnée est stockée et ne bouge plus, les workloads analytiques et transactionnels utilisent la même donnée
  • Rapidité : des transactions en quelques millisecondes

Ajouté à cela l’isolation des workloads rendue possible par les warehouses, l’architecture devient :


Conclusion

L’annonce de ce shift est monumentale dans l’architecture des plateformes modernes.

Cela ouvre également des portes sur les capacités de Snowflake à :

  • mettre en place des analyses temps réel sur des données transactionnelles
  • mettre en place des event driven architecture en utilisant les streams et les tasks
  • faciliter la mise en place d’une organisation data mesh et la construction de data products

Reste à savoir si les promesses sont tenues.

L’Unistore n’est aujourd’hui disponible que pour certains clients de Snowflake, nous attendons tous de pouvoir jouer avec !