Repères de l’industrie et rivaliser avec intégrité

Repères de l’industrie et rivaliser avec intégrité

Lorsque nous avons fondé Snowflake, nous avons décidé de créer une plateforme innovante. Nous avons eu l’occasion de prendre en compte ce qui avait bien fonctionné et ce qui n’avait pas fonctionné dans les architectures et implémentations précédentes. Nous avons vu comment nous pouvions tirer parti du cloud pour repenser les limites de ce qui était possible. Nous nous sommes également concentrés sur la facilité d’utilisation et sur la construction d’un système qui “fonctionnait tout simplement”. Nous savions qu’il existait de nombreuses opportunités d’améliorer les implémentations précédentes et d’innover pour être à la pointe des performances et de l’échelle, de la simplicité d’administration et de la collaboration basée sur les données.

De la même manière que nous avions une idée claire de beaucoup de choses que nous voulions faire, nous avions aussi la conviction de ce que nous ne voulions pas faire. L’une de ces choses était de s’engager dans des guerres d’analyse comparative et de revendiquer des performances compétitives séparées des expériences du monde réel. Cette pratique est tout simplement incompatible avec notre valeur fondamentale qui consiste à donner la priorité aux clients.

Il y a vingt ans, le jeu consistant à dépasser les résultats des benchmarks tous les quelques mois était une priorité pour l’industrie des bases de données et nous étions tous les deux en première ligne dans la guerre des benchmarks. Les résultats affichés ne cessaient de s’améliorer et de nouveaux records du monde étaient régulièrement établis. La plupart des acteurs de l’industrie ont commencé à ajouter des boutons de configuration, des paramètres spéciaux et des optimisations très spécifiques qui amélioreraient un benchmark d’une fraction de pour cent. Malheureusement, bon nombre de ces changements se sont traduits par une complexité supplémentaire pour les clients et, pire, la plupart d’entre eux ont eu peu ou même un impact négatif sur les charges de travail quotidiennes des clients. Les résultats négatifs s’aggravent : les équipes de développement sont distraites de se concentrer sur ce qui compte vraiment pour les clients, et les utilisateurs sont mal servis avec une technologie plus complexe. Quiconque est dans l’industrie depuis assez longtemps peut probablement attester de la réalité que la course de référence est devenue une distraction de la construction de bons produits pour les clients. Il y a une raison pour laquelle tous les acteurs concernés de l’industrie des bases de données, ceux qui exécutent la majorité des charges de travail des clients, ont largement cessé de publier de nouveaux résultats.

Depuis la création de Snowflake, nous nous concentrons sur nos clients et leurs charges de travail, et non sur des benchmarks synthétiques. Nous réitérons cette philosophie aujourd’hui en raison d’un récent benchmark publié par Databricks qui comprenait des comparaisons avec Snowflake. Bien que les résultats de Databricks fassent l’objet d’un audit dans le cadre du processus de soumission TPC, il a transformé la communication d’une réalisation technique en un coup marketing manquant d’intégrité dans ses comparaisons avec Snowflake. Les résultats de Snowflake qu’il a publiés n’étaient pas transparents, audités ou reproductibles. Et ces résultats sont totalement incompatibles avec nos références internes et les expériences de nos clients.

Nous partageons donc nos propres résultats mais, plus important encore, nous souhaitons fournir des conseils sur la simplicité de reproduction des résultats de Snowflake. Nous encourageons toute personne intéressée par la comparaison à faire sa propre évaluation et à valider l’inexactitude du billet de blog Databricks. La section “Faites confiance, mais vérifiez” plus loin dans ce billet de blog montre comment cela peut être réalisé avec Snowflake, en utilisant seulement quelques clics de souris.

Cette semaine, nous avons couru le TPC-DS power run dans notre région cloud AWS-US-WEST. L’exécution complète de la puissance consiste à exécuter 99 requêtes sur la base de données TPC-DS à l’échelle de 100 To. Prêt à l’emploi, toutes les requêtes s’exécutent sur un 4XL entrepôt en 3760s, en utilisant le meilleur temps écoulé de deux runs successifs.1 C’est plus de deux fois plus rapide que ce que Databricks a rapporté comme résultat de Snowflake, tout en utilisant un entrepôt 4XL, qui ne représente que la moitié de la taille de ce que Databricks a indiqué qu’il utilisait pour sa propre alimentation.

hACUaoxCCdm9wlE9PrJ4wApefasKV6mywDR0yxPDHzAfBesLiklQ7L VL69hmTLLCv8kMTroqrK8xJF25Ws0HldCIFbM 0ORhRklMPImax3DOEM3EESvA0p5SUw 4ikJVNrn0Z3n

L’utilisation d’un entrepôt 5XL encore plus grand, qui est actuellement en avant-première publique, améliore encore nos performances et réduit le temps total écoulé à 2 597 secondes. Cependant, étant donné que Snowflake exécute déjà ces requêtes si rapidement sur un 4XL, les temps fixes tels que le temps de démarrage des requêtes et les frais généraux de synchronisation deviennent plus prononcés sur un 5XL, ce qui réduit l’accélération que nous obtenons avec cette configuration. Ainsi, pour Snowflake, le sweet spot de la taille de l’entrepôt à 100 To est 4XL et non 5XL. La taille d’entrepôt 5XL serait utile pour des volumes de données plus élevés, tels que 300 To ou 1 Po. Dans le reste de ce blog, tous les chiffres sont rapportés en utilisant une configuration 4XL. Enfin, notez qu’un entrepôt Snowflake 4XL fonctionne de manière similaire à l’exécution de puissance TPC-DS de 3 527s que Databricks a audité sur une configuration matérielle beaucoup plus puissante similaire à un entrepôt 5XL. Notre 5XL dans sa forme actuelle bat de manière significative Databricks en temps écoulé total (2 597 s contre 3 527 s), et nous nous attendons à des améliorations matérielles lorsqu’il atteindra la disponibilité générale.

L’aspect le plus trompeur du billet de blog Databricks est la façon dont Databricks dérive notre rapport prix/performances. Notre prix à la demande Standard Edition pour un entrepôt 4XL exécuté dans la région cloud AWS-US-WEST est de 256 $ pour une heure. Étant donné que Snowflake est facturé à la seconde, le rapport prix/performances pour l’ensemble de la puissance est de 267 $ pour Snowflake, contre 1 791 $ pour Databricks signalés en notre nom. Notez qu’il n’est pas nécessaire d’utiliser notre Enterprise Edition pour exécuter TPC-DS puisque les vues matérialisées et les entrepôts multi-cluster ne sont pas nécessaires pour le benchmark.

5Ax10oWXT9 geq5eVIFkT8V3f6QS5S6vTYFJpbaPYwA0TST1zgAbuR8v4FzdxhuV GooNjKUTgLc0O3b7mUyvd5iFbC6h5loc1w pK 0o18B7t XjAvC9SekUhsWzhRtByFV15YE

En utilisant le prix catalogue de l’édition Standard, Snowflake correspond à Databricks en termes de prix/performances : 267 $ contre 275 $ pour le prix à la demande de la configuration Databricks utilisée pour la puissance de 3 527 s qui a été soumise à TPC.2

Les chiffres ci-dessus montrent que même sans consacrer du temps et de l’énergie à ajuster notre système pour établir des records à des fins de marketing, Snowflake fournit des résultats exceptionnels. Nos performances en matière de prix sont l’une des principales raisons pour lesquelles nos clients migrent de plus en plus de charges de travail vers Snowflake, et nous améliorons continuellement les performances de Snowflake pour accélérer l’exécution des charges de travail réelles des clients, ce qui se traduit directement par des améliorations globales du rapport prix/performances pour eux. En particulier, nous avons de nombreuses améliorations des performances de la charge de travail des clients qui sont en cours de publication, et nous en avons beaucoup d’autres en développement. Nous continuerons à nous concentrer sur les résultats des clients, et non sur les jeux compétitifs.

Faites confiance, mais vérifiez

Quiconque est curieux de savoir où nous en sommes concernant TPC-DS devrait exécuter lui-même le benchmark. Avec Snowflake, il ne faut littéralement que quelques clics de souris, environ une heure du début à la fin et quelques centaines de dollars pour exécuter le test de puissance TPC-DS complet à 100 To. N’importe qui peut le faire sans aucune expérience préalable. C’est à quel point Snowflake est simple et constitue une grande partie de notre proposition de valeur au-delà des performances exceptionnelles.

Suivez les trois étapes simples ci-dessous pour exécuter le power run TPC-DS @ 100 To sur Snowflake :

  1. Tout d’abord, si vous n’êtes pas encore client Snowflake, créez un nouveau compte d’essai en visitant signup.snowflake.com/. Choisissez le cloud et la région que vous souhaitez pour votre premier compte Snowflake ; par exemple, AWS dans la région USA-ouest de l’Oregon. Étant donné que TPC-DS n’utilise pas de vues matérialisées ou d’entrepôts multi-clusters, utilisez simplement notre édition standard. Dans quelques secondes, vous recevrez un e-mail vous permettant de vous connecter à votre nouveau compte Snowflake.
  2. Une fois connecté, vous arriverez sur l’onglet de la feuille de calcul Snowflake. À partir de là, ouvrez le didacticiel TPC-DS 100 To en cliquant sur la flèche vers le bas située sur le côté droit de l’onglet de la feuille de calcul nommé Nouvelle feuille de calcul (en haut à gauche de l’écran), puis sélectionnez Ouvrir les didacticielset sélectionnez Tutoriel 4 : Test de requête complet TPC-DS 100 To. Cela ouvrira un nouvel onglet de feuille de calcul avec le script que vous pouvez utiliser pour exécuter l’exécution de puissance TPC-DS à l’échelle de 100 To.
  3. Exécutez le script qui a été chargé en sélectionnant Toutes les requêtes puis en cliquant sur le Courir bouton. Attendez que le script entier s’exécute ; cela devrait prendre environ une heure.

Si vous regardez le script, il crée d’abord un entrepôt 4XL pour exécuter le benchmark et utilise le schéma TPC-DS 100 To de la base de données SNOWFLAKE_SAMPLE_DATA. Cette base de données illustre la puissance du partage de données dans Snowflake. Il a été créé prêt à l’emploi par Snowflake et partagé avec tous les comptes dans toutes les régions cloud de Snowflake. Pas besoin de payer pour son stockage et pour le chargement des données !

La création de l’entrepôt devrait s’exécuter en moins d’une seconde, puis les requêtes commenceront à s’exécuter sur la base de données partagée. A la fin du script, le temps écoulé global et la moyenne géométrique de toutes les requêtes sont calculés directement en interrogeant la vue historique de toutes les instructions TPC-DS qui se sont exécutées sur l’entrepôt. Vous devriez voir cette métrique rapportée. Notez que les résultats rapportés dans la section précédente sont sur un entrepôt chaud en exécutant deux fois l’ensemble de requêtes complet, en tenant compte de la deuxième exécution. Cela améliore généralement légèrement les performances globales d’environ 5%.

Cela illustre la simplicité et la puissance de Snowflake : après vous être connecté à votre nouveau compte Snowflake, l’exécution de l’ensemble du benchmark ne prend que quatre clics de souris !

Et après

Plus tôt cette semaine, Databricks a également annoncé une modification de ses conditions de service permettant une analyse comparative compétitive et la publication des résultats avec des informations claires, et encourageant les autres acteurs du secteur à faire de même. Bien que nous ne détournions pas notre attention sur le client pour rechercher des benchmarks synthétiques, nous sommes d’accord avec Databricks sur le fait que toute personne qui publie des benchmarks doit le faire de manière équitable, transparente et reproductible. Nous sommes également d’accord avec l’exclusion des capacités de prévisualisation de l’évaluation. En fin de compte, nous voulons que les clients puissent prendre des décisions éclairées sur les capacités de notre plateforme. En tant que tel, nous avons mis à jour notre politique d’utilisation acceptable pour refléter cette philosophie. Il est malhonnête que, dans sa représentation des performances de Snowflake, Databricks n’ait pas suivi les principes de reproductibilité, de divulgation et de test des fonctionnalités bêta qu’il préconise.

Nous espérons que cette perspective sera utile, non seulement pour cette conversation spécifique, mais, plus important encore, pour les nombreux entrepreneurs qui sont tentés de sauter sur une compétition de référence qui risque de détourner l’attention de l’objectif le plus crucial : innover au profit des clients.

Nous croyons fermement à la concurrence : l’industrie s’améliore et, plus important encore, les clients en récoltent les avantages techniques et économiques. Mais nous concentrerons nos efforts concurrentiels sur le mérite de notre technologie et les avantages par rapport aux charges de travail réelles des clients. Par conséquent, nous ne publierons pas de références sectorielles synthétiques, car elles ne se traduisent généralement pas par des avantages pour les clients. Nous savons que nos clients tirent une valeur considérable des capacités et des performances que nous avons fournies, et nous serons ravis de toutes les innovations supplémentaires à venir.

Les résultats Snowflake rapportés dans ce blog sont dérivés de l’exécution de puissance TPC-DS 100 To et, en tant que tels, ne sont pas comparables aux résultats publiés de l’exécution de puissance TPC-DS 100 To.


1 La différence entre une course froide et une course chaude est d’environ 5 %.

2 La résultats décrites dans le billet de blog de Databricks ne correspondent pas aux résultats soumis au conseil du TPC.

Development Source

Related Posts

RLEC 4.2.1 apporte des contrôles granulaires à la haute disponibilité et aux performances

RLEC 4.2.1 apporte des contrôles granulaires à la haute disponibilité et aux performances

Comment HolidayMe utilise Redis Enterprise comme base de données principale

Comment HolidayMe utilise Redis Enterprise comme base de données principale

Annonce de RedisGears 1.0 : un moteur sans serveur pour Redis

Annonce de RedisGears 1.0 : un moteur sans serveur pour Redis

Clés Redis dans la RAM |  Redis

Clés Redis dans la RAM | Redis

No Comment

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *