Marquez : la solution de découverte de métadonnées chez WeWork

décembre 10, 2020
marquez-blog-post-cover

Créée en 2010, WeWork est une société internationale de location de bureaux et d’espaces de travail. Son objectif est de fournir des espaces de collaboration à des équipes de toutes tailles, y compris les start-ups, les PME et les grandes entreprises. Pour y parvenir, l’entreprise propose trois catégories de services :

  • La location d’espace : Pour garantir aux entreprises un espace optimal, WeWork fournit l’infrastructure appropriée : de la réservation de salles de réunion à la location de bâtiments entiers pour les grandes entreprises. La firme doit également s’assurer de proposer les aménagements nécessaires tels qu’une cuisine pour les déjeuners et les pauses café, des WC, etc.
  • Le communautaire : Via son application interne, l’entreprise permet aux membres de WeWork de se connecter les uns aux autres, que ce soit au niveau local dans leur propre espace WeWork, ou au niveau mondial. Par exemple, WeWork peut mettre en relation un développeur ou un graphiste avec une entreprise en recherche depuis l’application à n’importe quel membre, indépendamment de sa localisation. 
  • Les services : WeWork fournit également à ses membres des services divers en cas de problème tels que des services liés à la facturation, à l’informatique, à l’entretien, etc. 

En 2020, WeWork représente :

 

  • Plus de 600 000 adhésions,
  • Implantée dans 127 villes de 33 pays différents,
  • 850 bureaux dans le monde entier,
  • 1,82 milliard de dollars de revenus.

Il est clair que WeWork travaille avec toutes sortes de données provenant de son personnel et de ses clients, qu’il s’agisse de particuliers ou d’entreprises. L’énorme firme avait donc besoin d’une plateforme où ses experts data pourraient consulter, collecter, agréger et visualiser les métadonnées de leur écosystème data. Ce problème a été résolu par la création de Marquez.

Cet article se concentrera sur la mise en œuvre de Marquez par WeWork, provenant principalement de documentations libres et accessibles depuis divers sites, afin d’illustrer l’importance de disposer d’une plateforme de métadonnées pour réellement devenir data-driven.

Pourquoi gérer et utiliser les métadonnées ?

Durant sa conférence « A Metadata Service for Data Abstraction, Data Lineage & Event-based Triggers« , présenté au Data Council en 2018, Willy Lulciuc, data engineer pour le projet Marquez chez WeWork, a expliqué que les métadonnées sont cruciales pour trois raisons : 

  • Garantir la qualité des données : lorsque les données n’ont pas de contexte, il est difficile pour les utilisateurs data de faire confiance à leur patrimoine de données : y a-t-il des champs manquants ? La documentation est-elle à jour ? Qui est le propriétaire des données et en est-il toujours le propriétaire ? L’utilisation de métadonnées permet de répondre à ces questions.
  • Comprendre le data lineage : il est essentiel de connaître l’origine et les transformations de vos données pour être en mesure de savoir réellement par quelles étapes vos données sont passées au fil du temps.
  • Démocratisation des jeux de données : Selon Willy Lulciuc, la démocratisation des données dans l’entreprise est essentielle ! Disposer d’un portail central ou d’une interface utilisateur permettant aux utilisateurs de rechercher et d’explorer leurs jeux de données est l’un des moyens les plus importants pour créer une véritable culture de données en libre-service.

En résumé : créer un écosystème de données “healthy“!

Willy explique que le fait de pouvoir gérer et utiliser les métadonnées crée une culture des données durable où les individus n’ont plus besoin de demander de l’aide pour trouver et travailler avec leurs données. Lors de sa conférence, trois catégories sont présentées. Elles constituent cet “écosystème de données healthy” :

  1. Un écosystème en libre service, où les utilisateurs de données ont la possibilité de découvrir les données et les métadonnées dont ils ont besoin, et d’explorer les ressources de données de l’entreprise lorsqu’ils ne savent pas exactement ce qu’ils recherchent. Ajouter du contexte à ses données, donne la possibilité à tous les utilisateurs et citoyens data de travailler efficacement sur leurs cas d’utilisation
  2. Être autonome en donnant aux utilisateurs data la liberté d’expérimenter avec leurs jeux de données ainsi que de la flexibilité de travailler sur tous les aspects de leurs jeux de données, qu’ils soient entrant ou sortant par exemple.
  3. Enfin, au lieu de dépendre de certains individus ou groupes, un écosystème de données sain permet à tous les employés d’être responsables de leurs propres données. Chaque utilisateur a la responsabilité de connaître ses données, leurs coûts (ces données produisent-elles suffisamment de valeur ?) ainsi que de suivre la documentation de ses données afin d’établir la confiance autour de ses jeux de données.
marquez-a-healthy-data-ecosystem

Les réservations de salles avant Marquez

Comme mentionné ci-dessus, l’utilisation des métadonnées est cruciale pour que les utilisateurs data puissent trouver les données dont ils ont besoin. Afin d’illustrer un cas d’usage concret, M. Willy expose un pipeline de données chez WeWork pour la réservation d’une salle.

Pour un « WeWorker », les étapes sont les suivantes :

 

  1. Trouver un lieu (l’exemple était un complexe d’immeubles à San Francisco)
  2. Choisir la taille de la salle appropriée (généralement divisée en fonction du nombre de participants – dans ce cas, ils ont choisi une salle pouvant accueillir de 1 à 4 personnes)
  3. Choisir la date à laquelle la réservation aura lieu
  4. Décider du créneau horaire pour lequel la salle est réservée ainsi que de la durée de la réunion
  5. Confirmer la réservation

Réservation faite, Willy explique à présent comment une équipe de données standard ferait pour extraire des données depuis ce pipeline. Dans ce cas, l’exercice consiste à trouver le bâtiment qui contient le plus grand nombre de réservations de chambres, et à extraire ces données pour les envoyer à la direction. Les étapes indiquées sont les suivantes :

  1. Lire les réservations de salles à partir d’une source de données (généralement inconnue), 
  2. Faites la somme de toutes les réservations de chambres et afficher les meilleurs emplacements,
  3. Une fois le calcule effectué, le retranscrire dans une source de données de sortie,
  4. Exécuter le job une fois par heure,
  5. Traitez les données par le biais de fichiers .csv et stockez-les quelque part. 

 

Cependant, et même si ces mesures semblent être suffisantes, Willy déclare qu’il y a des problèmes récurrents qui surviennent. Ils sont généralement de trois types :

  • Où puis-je trouver le jeu de données d’entrée du job ?
  • Le jeu de données a-t-il un propriétaire ? Qui ?
  • À quelle fréquence le jeu de données est-il mis à jour ?

La plupart de ces questions sont difficiles à répondre et les jobs finissent par échouer. Sans être sûr de faire confiance à ces informations, il peut être compliqué de présenter des chiffres à la direction ! Ce sont ce genre de problèmes et de questions qui ont fait que WeWork a développé Marquez.

 

Qu’est-ce que “Marquez” ?

Willy définit la plateforme comme une « solution open-source pour l’agrégation, la collecte et la visualisation des métadonnées de l’écosystème de données de WeWork ». En effet, Marquez est un système modulaire et a été conçu comme une solution de gestion des métadonnées hautement extensible et évolutive, indépendante de la plateforme. Il se compose des éléments suivants :

  • Répertoire de métadonnées : il stocke toutes les métadonnées des jobs et des jeux de données, y compris un historique complet et des statistiques au niveau des jobs (c’est-à-dire le nombre total de jobs, la durée moyenne d’exécution, les succès/échecs, etc.)
  • API de métadonnées : des API RESTful permettant à un ensemble de clients de collecter des métadonnées sur la production et la consommation des jeux de données.
  • Interface “user-friendly” des métadonnées : Utilisée pour la découverte de jeux de données, la connexion de plusieurs jeux de données et l’exploration.

 

Le design de Marquez

Marquez fournit des langages qui mettent en œuvre l’API de métadonnées. Cela permet à un ensemble diversifié d’applications de traitement des données de constituer une collection de métadonnées. Dans leur version initiale, ils ont fourni un support à la fois pour Java et Python.

L’API de métadonnées extrait des informations sur la production et la consommation des jeux de données. Il s’agit d’une couche apatride chargée de spécifier à la fois la persistance et l’agrégation des métadonnées. L’API permet aux clients de collecter et/ou d’obtenir des informations sur les jeux de données à destination/en provenance du répertoire de métadonnées.

Les métadonnées doivent être collectées, organisées et stockées de manière à permettre de riches recherches via l’interface utilisateur des métadonnées. Le répertoire de métadonnées sert à cataloguer les informations sur les jeux de données et proprement extraites les métadonnées par l’API.

Selon Willy, ce qui fait un écosystème de données solide est la possibilité de rechercher des informations et des jeux de données. Les jeux de données de Marquez sont indexés et classés à l’aide d’un moteur de recherche basé sur des mots ou des expressions clés ainsi que sur la documentation d’un jeu de données : plus un jeu de données est contextualisé, plus il a de chances d’apparaître en premier dans les résultats de recherche. La documentation d’un jeu de données comprend, par exemple, sa description, son propriétaire, son schéma, son tag, etc.

Vous pouvez voir plus de détails sur le modèle de données de Marquez dans sa présentation https://www.youtube.com/watch?v=dRaRKob-lRQ&ab_channel=DataCouncil 

marquez-data-model

L’avenir de la gestion des données chez WeWork

Deux ans après le projet, Marquez s’est avéré être d’une grande aide pour le géant du co-working. Leur roadmap à long terme consiste à se concentrer uniquement sur l’interface utilisateur de leur solution, en incluant davantage de visualisations et de représentations graphiques afin de fournir aux utilisateurs des moyens plus simples d’interagir avec leurs données.

Ils proposent également diverses communautés en ligne via leur page Github, ainsi que des groupes sur LinkedIn pour ceux qui sont intéressés par Marquez afin de poser des questions, obtenir des conseils ou même signaler des problèmes sur la version actuelle de Marquez.

 

Sources

A Metadata Service for Data Abstraction, Data Lineage & Event-based Triggers, WeWork. Youtube: https://www.youtube.com/watch?v=dRaRKob-lRQ&ab_channel=DataCouncil

29 Stunning WeWork Statistics – The New Era Of Coworking, TechJury.com:https://techjury.net/blog/wework-statistics/

Marquez: Collect, aggregate, and visualize a data ecosystem’s metadata, https://marquezproject.github.io/marquez/

zeenea logo

At Zeenea, we work hard to create a data fluent world by providing our customers with the tools and services that allow enterprises to be data driven.

zeenea logo

Chez Zeenea, notre objectif est de créer un monde “data fluent” en proposant à nos clients une plateforme et des services permettant aux entreprises de devenir data-driven.

Be(come) Data Fluent

Read the latest trends on big data, data cataloging, data governance and more on Zeenea’s data blog.

Join our community by signing up to our newsletter!

Devenez Data Fluent

Découvrez les dernières tendances en matière de big data, data management, de gouvernance des données et plus encore sur le blog de Zeenea.

Rejoignez notre communauté en vous inscrivant à notre newsletter !

Let's get started
Make data meaningful & discoverable for your teams
Learn more >
Démarrez maintenant
Donnez du sens à votre patrimoine de données
En savoir plus >