IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Uber présente AresDB, un moteur d'analyse en temps réel open source optimisé par GPU,
Qui lui ferait gagner en efficacité opérationnelle

Le , par Stéphane le calme

359PARTAGES

14  0 
Citation Envoyé par Uber
Chez Uber, l’analyse en temps réel nous permet d’obtenir des informations commerciales et une efficacité opérationnelle, nous permettant de prendre des décisions fondées sur les données pour améliorer les expériences sur la plateforme Uber. Par exemple, notre équipe des opérations s'appuie sur des données pour surveiller la santé du marché et détecter les problèmes potentiels sur notre plateforme. Un logiciel basé sur des modèles d'apprentissage automatique exploite les données pour prévoir l'offre de passagers et la demande de conducteurs et les scientifiques de données utilisent les données pour améliorer les modèles d’apprentissage automatique en vue d’une meilleure prévision.

Dans le passé, nous utilisions de nombreuses solutions de bases de données tierces pour des analyses en temps réel, mais aucune n’a été en mesure de répondre simultanément à toutes nos exigences fonctionnelles, d’évolutivité, de performance, de coût et d’exploitation.

Lancé en novembre 2018, AresDB est un moteur d'analyse en temps réel open source qui exploite une source d'alimentation non conventionnelle, des unités de traitement graphique (GPU), pour permettre à nos analyses de se développer à grande échelle. Outil émergent pour l’analyse en temps réel, la technologie GPU a considérablement évolué au fil des ans, ce qui en fait un choix parfait pour le calcul en temps réel et le traitement de données en parallèle.

Applications d'analyse en temps réel chez Uber

L’analyse des données est essentielle au succès des activités d’Uber. Parmi d'autres fonctions, ces analyses sont utilisées pour:

  • Construire des tableaux de bord pour surveiller ses métriques commerciales
  • Prendre des décisions automatisées (telles que la tarification des voyages et la détection de la fraude) en fonction de statistiques agrégées recueillies.
  • Effectuer des requêtes ad hoc pour diagnostiquer et résoudre les problèmes liés aux opérations commerciales


Nous pouvons résumer ces fonctions en catégories avec des exigences différentes comme suit:


Les tableaux de bord et les systèmes de décision exploitent les systèmes analytiques en temps réel pour effectuer des requêtes similaires sur des sous-ensembles de données relativement petits, mais très précieux (avec une actualité maximale des données) avec un QPS élevé et une latence faible.

La nécessité d'un autre moteur d'analyse

Le problème le plus souvent résolu par l'analyse en temps réel chez Uber consiste à savoir comment calculer les agrégats de séries chronologiques, calculs qui lui donnent un aperçu de l'expérience utilisateur afin d'améliorer ses services en conséquence. Avec ces calculs, Uber peut demander des métriques selon des dimensions spécifiques (telles que le jour, l'heure, l'identifiant de la ville et l'état du trajet) sur une plage de temps sur des données arbitrairement filtrées (ou parfois jointes). Au fil des ans, Uber a déployé de nombreuses solutions pour résoudre ce problème de différentes manières.

Parmi les solutions tierces utilisées par Uber pour résoudre ce type de problème, citons:

[LIST][*]Apache Pinot, une base de données analytique distribuée open source écrite en Java, qui peut être exploitée pour l'analyse de données à grande échelle. Pinot utilise une architecture lambda en interne pour interroger des données par lots et en temps réel dans un stockage en colonnes, utilise un index bitmap inversé pour le filtrage et s’appuie sur un arbre en étoile pour la mise en cache des résultats agrégés. Cependant, il ne prend pas en charge la déduplication à base de clés, l'Usert, les jointures et les fonctionnalités de requête avancées telles que le filtrage géospatial. En outre, en tant que base de données basée sur la machine virtuelle Java, l’exécution de requêtes sur Pinot a un coût plus élevé en termes d’utilisation de la mémoire.[*]Elasticsearch est utilisé chez Uber pour une variété de besoins d'analyse en continu. Il a été construit sur Apache Lucene pour la recherche de mots clés en texte intégral qui stocke des documents et un index inversé. Il a été...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !