Le cloud a en fait permis aux groupes d’information de collecter de grandes quantités d’informations et de les stocker à un coût raisonnable, en ouvrant de nouveaux cas d’utilisation d’analyses qui utilisent des lacs de données, des maillages de données et d’autres architectures contemporaines. Mais pour d’énormes volumes de données, le stockage cloud générique présente également des obstacles et des contraintes dans la manière dont ces données peuvent être consultées, traitées et utilisées.
Les systèmes de stockage blob typiques dans le cloud ne disposent pas des informations nécessaires pour afficher les relations entre les fichiers ou la manière dont ils correspondent à une table, ce qui rend le travail des moteurs de recherche encore plus difficile. De plus, les fichiers en eux-mêmes ne permettent pas de modifier facilement les schémas d’une table ou de « voyager dans le temps » dessus. Chaque moteur de requête doit avoir sa propre vue sur la manière d’interroger les fichiers. Soudain, ce qui ressemblait à une architecture d’informations facile à mettre en œuvre s’avère plus difficile que prévu.
C’est là que l’utilisation de formats de tableau pour les données s’avère très bénéfique. Les formats de table définissent explicitement une table, ses métadonnées et les fichiers qui composent la table. Au lieu d’appliquer un schéma lors de la lecture des informations, les clients connaissent actuellement le schéma avant l’exécution de la requête. Les métadonnées de la table peuvent être enregistrées de manière à fournir un partitionnement plus fin. Par conséquent, l’application d’un format de tableau aux données peut offrir une variété d’avantages, tels que :
- Des performances plus rapides grâce à un filtrage ou un partitionnement bien meilleur
- Un développement plus simple du schéma
- Possibilité de « voyager dans le temps » à travers la table pour voir les données à un moment donné
- Conformité ACID de la table
Pourquoi Apache Iceberg ?
Sélectionner le format de tableau à utiliser est un choix important car il peut rendre possible ou limiter les fonctionnalités disponibles. Au cours des 2 dernières années, nous avons en fait vu émerger un soutien substantiel pour Apache Iceberg, un format de tableau créé à l’origine par Netflix qui a été open source en tant qu’incubateur Apache en 2018 et a obtenu son diplôme du programme d’incubateur en 2020.
Iceberg a été développé à partir de zéro pour faire face à quelques-unes des difficultés d’Apache Hive lorsque vous travaillez avec d’énormes ensembles de données, y compris les problèmes d’échelle, de fonctionnalité et de performances. Comme l’a noté à l’époque un ingénieur de Netflix, les formats de table pour les ensembles de données à très grande échelle doivent fonctionner de manière aussi fiable et naturelle que SQL, « sans mauvaises surprises ».
Avec un certain nombre d’alternatives facilement disponibles, notre société pense qu’Iceberg transcende les autres formats de table ouverts disponibles. En voici cinq raisons.
Iceberg fait une rupture nette avec le passé
Le passé peut avoir une influence significative sur le fonctionnement d’un format de tableau aujourd’hui. Certains formats de table ont évolué à partir d’innovations plus anciennes, tandis que d’autres ont en fait fait une pause bien rangée. Iceberg reste dans ce dernier camp. Il a été développé à partir de zéro pour combler les lacunes d’Apache Hive, ce qui implique qu’il a empêché certaines des qualités défavorables qui retenaient les lacs d’informations dans le passé. La manière dont les modifications de schéma peuvent être gérées, telles que le réétiquetage d’une colonne, en est un bon exemple.
Pour l’avenir, cela implique également qu’Iceberg n’a pas besoin de justifier comment rompre davantage avec les outils associés sans déclencher de problèmes avec les applications de données de production. Peu à peu, d’autres formats de table vont probablement rattraper leur retard, mais actuellement, Iceberg se concentre sur la fourniture du prochain ensemble de nouvelles fonctionnalités, plutôt que sur le rappel pour résoudre les anciens problèmes.
Iceberg est indépendant du moteur de traitement et du format de fichier
En dissociant le moteur de traitement du format de table, Iceberg offre une plus grande polyvalence et un plus grand choix. Plutôt que d’être obligés d’utiliser un moteur de traitement, les ingénieurs peuvent choisir le meilleur outil pour la tâche. L’option est essentielle pour au moins deux facteurs cruciaux. Premièrement, les moteurs qu’une entreprise utilise pour traiter les données peuvent changer avec le temps. Par exemple, de nombreuses entreprises sont passées de Hadoop à Trigger ou Trino. Deuxièmement, il est courant pour les grandes organisations d’utiliser un certain nombre d’innovations diverses, et le fait d’avoir une option leur permet d’utiliser plusieurs outils de manière interchangeable.
Iceberg prend également en charge de nombreux formats de fichiers, notamment Apache Parquet, Apache Avro et Apache ORC . Cela offre une polyvalence aujourd’hui, mais permet également une bien meilleure capacité de connexion à long terme pour les formats de fichiers qui pourraient émerger à l’avenir.
Iceberg est une tâche open source bien gérée
Le projet Iceberg est géré par l’Apache Software Foundation, ce qui signifie qu’il adhère à un certain nombre d’Apache Ways importants, y compris l’autorité acquise et prise de décision d’accord. Ce n’est pas forcément le cas pour chaque tâche se disant « open source ». Apache Iceberg rend sa gestion des tâches publique, vous savez donc qui exécute le travail. D’autres formats de tableau ne divulguent pas qui a le pouvoir de décision. Un format de tableau est une option essentielle dans une architecture d’information, donc la sélection d’un projet véritablement ouvert et collaboratif peut réduire considérablement les risques de verrouillage accidentel.
La coopération dans Iceberg engendre des originalités et de l’aide
Il existe de nombreuses indications que la communauté collective autour d’Apache Iceberg profite aux utilisateurs et prépare le travail pour un succès à long terme. Pour les utilisateurs, le canal Slack et le référentiel GitHub montrent un engagement élevé, à la fois autour des originalités et de la prise en charge des performances existantes. Sérieusement, l’engagement provient de l’ensemble du marché, pas simplement d’un groupe ou des auteurs originaux d’Iceberg.
Le degré élevé de collaboration profite également à la technologie elle-même. Le projet reçoit un nombre croissant de propositions qui sont diverses dans leur réflexion et corrigent de nombreux cas d’utilisation différents. De plus, le projet génère de nouveaux travaux et concepts, tels que Task Nessie, la spécification Puffin et l’API de métadonnées ouverte.
Iceberg se compose de fonctions qui sont payées dans d’autres formats de table
Contrairement à certaines autres tâches de table, Iceberg intègre dès le départ des fonctionnalités axées sur les performances, ce qui est avantageux pour les utilisateurs d’un quelques façons. Au départ, les utilisateurs supposent souvent qu’un travail avec un code ouvert inclut des fonctionnalités de performance, juste pour découvrir qu’elles ne sont pas comprises ou vaguement garanties à l’avenir. Deuxièmement, si vous souhaitez déplacer le travail, ce qui devrait être facile avec un format de tableau, vous êtes beaucoup moins susceptible de rencontrer des différences significatives dans les exécutions Iceberg. Troisièmement, dès que vous commencez à utiliser l’open source Iceberg, il est peu probable que vous découvriez qu’une fonction dont vous avez besoin est dissimulée derrière un paywall. La différence entre ce qui est ouvert et ce qui ne l’est pas n’est pas non plus un problème ponctuel.
En tant que travail ouvert depuis le début, Iceberg existe pour résoudre un problème utile, pas une utilisation professionnelle Cas. Il s’agit d’une petite différence, mais importante : les fournisseurs proposant des produits payants qui offrent une assistance pour Iceberg, tels que Snowflake, AWS, Apple, Cloudera, Google Cloud, etc., peuvent rivaliser dans la manière dont ils exécutent la spécification Iceberg, mais le travail Iceberg lui-même n’est pas destiné à piloter l’organisation d’une entreprise particulière.
Snowflake et Iceberg
Chez Snowflake, nous avons développé très tôt notre propre format de tableau, ce qui a rendu possible toutes sortes de nouvelles fonctionnalités. Cependant, à mesure que les services migrent vers une plate-forme de données cloud, leurs besoins et leurs délais diffèrent. Certaines entreprises ont des exigences réglementaires qui limitent l’endroit où les informations peuvent être stockées, ou ont des investissements financiers existants qu’elles doivent sécuriser.
La prise en charge d’un format de tableau externe comme Iceberg permet à nos clients de tirer parti de toutes leurs données de l’intérieur Flocon de neige, même si quelques-uns doivent vivre dans un endroit différent. C’est pourquoi nous avons ajouté l’assistance pour Iceberg en tant qu’option de table supplémentaire dans Snowflake plus tôt cette année, et plus récemment introduit un tout nouveau type de table Snowflake appelé Iceberg Tables.
Commencer avec Apache Iceberg
Il existe d’excellentes ressources au sein de la communauté Apache Iceberg pour en savoir plus sur le travail et s’associer à l’effort open source.
- Le guide de démarrage d’Iceberg propose des exemples sur la façon de démarrer dans Iceberg et Apache Spark purement open source.
- Iceberg a plusieurs quartiers robustes où vous pouvez être inclus, tels que les chaînes publiques Slack .
- Si vous souhaitez apporter des modifications à Iceberg ou proposer une nouvelle idée, produisez une demande d’extraction basée sur le guide de contribution. La communauté participe et intègre régulièrement les demandes du quartier.
Si vous êtes un utilisateur de Snowflake, vous pouvez commencer dès aujourd’hui avec notre assistance en avant-première privée Iceberg. Contactez votre équipe de compte Snowflake pour plus d’informations sur ces fonctions ou pour vous inscrire.
- Tables Iceberg : Expérimentez avec notre nouveau type de table entièrement basé sur Iceberg et Parquet en stockage externe, mais avec des avantages et des performances comparables de tables Snowflake.
- Tables externes pour Iceberg : permettent une connexion facile de Snowflake avec une table Iceberg existante au moyen d’une table externe Snowflake.
James Malone est directeur principal de la gestion des produits chez Snowflake.
— Nouveau
Le forum Tech Online offre un emplacement pour découvrez et parcourez les technologies d’entreprise émergentes avec une profondeur et une ampleur sans précédent. La sélection est subjective, basée sur notre sélection des innovations que nous pensons être cruciales et du plus grand intérêt pour les lecteurs d’InfoWorld. InfoWorld décline la sécurité marketing pour la publication et se réserve le droit de modifier tout le matériel fourni. Envoyez toutes les requêtes à newtechforum@infoworld.com.
.
Toute l’actualité en temps réel, est sur L’Entrepreneur