Je me souviens de commandes pour augmenter les tablespaces par cœur, et trop souvent, j’ai fixé les valeurs SGA et PGA dans l’espoir d’améliorer les performances. La maintenance des sauvegardes et la vie interne de RMAN ne font cependant pas partie de mes sujets favoris. Snowflake est une solution d’entrepôt de données qui m’a déjà fasciné par sa simplicité. Je vais maintenant vous dire pourquoi. Pour plus d’informations, lisez cet article.
Néanmoins, bien connaître les fonctions mentionnées ci-dessus, qui sont cryptées pour certains, n’est pas devenu moins important avec l’émergence des fournisseurs de services dans le nuage. L’extensibilité du nuage et la réduction du temps nécessaire à la maintenance grâce à l’élasticité sont des points communs du marketing. Cependant, la vérité est que, que vous utilisiez un entrepôt de données ou une base de données opérationnelle, tôt ou tard, vous devez vous familiariser avec les paramètres de base de données du fournisseur de services dans les nuages que vous avez choisi afin d’obtenir des performances optimales, ou vous devez simplement ajouter de la capacité CPU ou disque.
Augmentation de la demande en matière de cloud computing et, par conséquent, de bases de données en nuage
Henri Dubois a expliqué comment les dépenses de maintenance des bases de données traditionnelles et le volume accru de données ont augmenté les exigences imposées au nuage – et, par conséquent, aux bases de données en nuage. Un administrateur de base de données distinct ne devrait pas être nécessaire et la base de données devrait être de plus en plus automatisée. Cependant, dans le même temps, il faudrait offrir des possibilités de sauvegarder les données d’historique de manière flexible et de répondre aux divers changements de capacité plus rapidement qu’auparavant.
En ce qui concerne les trois grands opérateurs de cloud existants, Amazon a déjà complété son offre de services en lançant le service Redshift Spectrum. Ce service résout les problèmes causés par l’augmentation des volumes de données en offrant la possibilité d’effectuer des requêtes de données directement dans le service S3 d’Amazon.
Spectrum est un excellent complément à Redshift, mais un tout nouvel opérateur a porté l’utilisation du service S3 à un niveau supérieur. Snowflake, une société fondée par d’anciens employés d’Oracle, de Microsoft et de Vectorwise, propose un entrepôt de données évolutif en tant que service à partir du cloud. Leur argument de vente est la séparation de la capacité des disques de la base de données et de la performance du processeur – découvrez le processeur Raspberry ! – et ils offrent cela à un prix avantageux. Vous ne payez que pour la capacité et les performances que vous utilisez.
Ma première réaction a été la suivante : « Ils doivent mentir »
Cependant, maintenant que j’ai utilisé les services de Snowflake dans le cadre de quelques projets, je peux dire que l’entreprise fait également le travail. Je peux vraiment créer une base de données avec les utilisateurs et les schémas requis et commencer à la remplir de données. La capacité ne sera pas épuisée. Pour dire la vérité, ils ne me demandent même pas de quelle capacité j’ai besoin. Et en fait, je ne m’en soucie même pas, puisque la capacité est peu coûteuse. Bien trop peu coûteuse.
J’obtiens les performances dont j’ai besoin en créant un entrepôt de données virtuel de la taille que je veux. Au nom de la simplicité, les entrepôts sont disponibles dans les tailles habituelles des T-shirts. Bien sûr, je peux changer la taille de mon T-shirt pour une taille plus petite ou plus grande, si je le souhaite, à la volée et à tout moment.
Avant d’effectuer une requête, l’entrepôt de données virtuel peut également être en mode veille et ne démarrer que lorsque c’est nécessaire. À la fin des tâches de requête, l’entrepôt de données virtuel se remettra en veille si vous l’avez configuré à cet effet. Les frais sont basés sur le temps de fonctionnement des entrepôts de données virtuels actifs et sur la capacité de disque utilisée.
Comment fonctionne réellement Snowflake ?
Ma réponse est : « Élémentaire, mon cher Watson ». Les données sont micro-partitionnées, compressées et cryptées dans le service AWS S3 et connectées à des entrepôts de données virtuels. Les entrepôts de données virtuels récupèrent et examinent les données et renvoient un ensemble de résultats à l’utilisateur. La technologie appliquée par les entrepôts de données virtuels est couverte par le DPI de Snowflake, mais en pratique, les entrepôts sont des instances EC2 dans des groupes de mise à l’échelle automatique qui disposent d’énormes quantités de RAM permettant la mise en cache de grandes masses de données.
Dans la pratique, Snowflake applique les meilleures pratiques de l’AWS et a construit un service très rentable et évolutif en plus de celles-ci. Le service S3 est peu coûteux, stable et évolutif pour le stockage de gros volumes de données, et le lancement d’instances EC2 dans le nuage en fonction des besoins permet un modèle de « paiement à l’utilisation ».
Dans le même temps, l’architecture de données partagées permet de répondre à des besoins divers en utilisant des entrepôts de données virtuels. Votre ami spécialiste des sciences des données a besoin d’un entrepôt de données dédié et efficace pour traiter de grandes masses de données, mais vous craignez qu’il n’utilise toute la capacité dont les exécutions ETL auraient besoin ? Ne vous inquiétez pas. Snowflake permet la création d’entrepôts de données virtuels distincts avec des classes de taille différentes. Tous les entrepôts lisent le même ensemble de données sans se perturber les uns les autres, tout en respectant le principe ACID.
En outre, cela permet également de répartir discrètement les coûts d’utilisation de l’entrepôt de données. L’interface utilisateur propre à Snowflake permet de détailler les crédits utilisés par entrepôt de données virtuel. Ainsi, il est possible de fractionner directement le coût final des crédits sans avoir à effectuer de calculs supplémentaires.
Le coût unitaire de base des crédits est déterminé sur la base de la version Snowflake utilisée, allant de la version standard de base à la version Enterprise Edition pour les données sensibles.
Les différences les plus importantes entre ces deux versions sont le support 24 heures sur 24 et 7 jours sur 7 de la version Premium et le support AD de la version EE, ainsi que l’option de cryptage des données avec ses propres clés ou des clés gérées par Snowflake. Dans la pratique, cependant, les fonctionnalités de base ne sont pas limitées par la version ; seul le prix par requête augmente. De cette façon, les coûts peuvent également être contenus en obtenant une version séparée plus rudimentaire pour le développement à un prix par crédit plus bas et la version nécessitant une assistance 24 heures sur 24 et 7 jours sur 7 serait utilisée pour la production.
Snowflake séduit par sa simplicité
En outre, Snowflake répond aux critères élevés d’utilisabilité et offre la possibilité d’effectuer des recherches sur d’anciennes données de manière simple. La technologie d’instantanéité, familière du monde des systèmes à disques, permet de créer des bases de données en quelques secondes. Vous aurez accès à une base de données test presque instantanément, sans avoir à subir des heures d’exercices pour créer un nouvel environnement. L’unité de facturation est d’une seconde et le support JSON fonctionne bien.
Ce matériel est-il prêt pour la production ?
Oui. La huitième plus grande banque des États-Unis vient de passer à Snowflake et a également décidé d’investir dans l’entreprise après avoir vu le potentiel du produit. En outre, plusieurs fournisseurs, dont PowerBI et Tableau de Microsoft, ont intégré le support de Snowflake dans leurs produits.