BT
x Votre opinion compte ! Merci de bien vouloir répondre au sondage InfoQ concernant vos habitudes de lecture !

Facebook Open-source Haxl, outil de requêtage de données implicite et concurrent, utilisant Haskell

par Roopesh Shenoy , traduit par Olivier Gonthier le 09 juil. 2014 |

Facebook a rendu open-source Haxl, une librairie permettant de gérer de manière efficace les accès concurrents aux données. La libraire tire profit des spécificités d'Haskell comme le système de type expressif, sa garantie de typage et son exactitude, et les performances au runtime de GHC, pour résoudre l'épineux problème de concurrence.

Haxl simplifie l'accès aux données distantes, comme celles issues de bases de données ou de services web. Il peut effectuer de multiples requêtes groupées sous forme de batch vers une même source de données, requêter différentes sources en parallèle, et mettre en cache les précédentes requêtes. Jon Purdy, l'un des ingénieurs ayant contribué à Haxl, explique :

L'idée basique est de pouvoir écrire naïvement du code pour récupérer des données, qui semble horriblement inefficace, comme des requêtes dans des boucles, ou aucune gestion de doublons explicite, mais qui se transforme magiquement en un système sous-jacent de requêtage concurrent efficace.

Pour utiliser Haxl dans vos applications, vous devez créer une simple couche qui décrit vos sources de données, et comment y accéder.

Haxl utilise la classe de type Applicative pour permettre aux traitements d'être implicitement concurrents. Vous trouverez plus de détails sur ce sujet dans cette présentation. La libraire est disponible sur hackage, et son code source est publié sur GitHub.

Haxl est un successeur de FXL, qui résoud les mêmes problématiques. Bien que FXL ait également un modèle d'éxécution pure, son implémentation a apparemment posé des problèmes de performances, surtout concernant l'utilisation du processeur et la consommation de mémoire. Utiliser Haskell, avec GHC, était la meilleure alternative. Vous trouverez plus de détails concernant l'histoire d'Haxl dans cet article, qui montre également quelques cas d'utilisation de Haxl chez Facebook.

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Contenu Éducatif

Rien ne serait possible sans le soutien et la confiance de nos Sponsors Fondateurs:

AppDynamics   CloudBees   Microsoft   Zenika
Feedback Général
Bugs
Publicité
Éditorial
InfoQ.com et tous les contenus sont copyright © 2006-2014 C4Media Inc. InfoQ.com est hébergé chez Contegix, le meilleur ISP avec lequel nous ayons travaillé.
Politique de confidentialité
BT