Puissance et simplicité des requêtes Big Data avec MapR Drill

L’informatique est devenue incontournable et supporte la transformation digitale des entreprises. Par ailleurs, le système d’information s’est démultiplié et l’IT s’est dématérialisée, voyant sa complexité croître de manière exponentielle. La réponse à ces défis semble être MapR Drill, l’association de la plateforme Big Data Hadoop MapR, dont la vision est orientée performance, à l’outil de requêtage Drill, indépendant de MapReduce et qui permet de capitaliser sur les compétences SQL. L’objectif est d’interroger plus simplement et plus rapidement de gros formats de fichiers avec des résultats incroyablement supérieurs aux bases de données traditionnelles. De la périphérie du système d’information jusque dans le cloud et la mobilité, la DSI se doit de disposer d’outils de supervision, de gestion, de disponibilité et de performance de ses systèmes d’information, le cœur de l’entreprise et de l’innovation.

 

Évoquons tout d’abord la problématique de la donnée. Celle-ci est aujourd’hui au cœur de tous les systèmes. Elle est une composante essentielle de la valeur de l’entreprise. Profitant de la multiplication des plates-formes et des outils qui favorisent sa création et sa duplication, elle ne cesse de se démultiplier. L’entreprise se trouve confrontée aux mêmes phénomènes de démultiplication, avec le périmètre de couverture de son informatique qui ne cesse d’exploser, que ce soit en interne entre les métiers et la multiplication des produits et services, par sa croissance externe, ou par l’ouverture des écosystèmes (partenaires, fournisseurs, clients, etc.). Concrètement, l’entreprise rencontre aujourd’hui une double problématique : la multiplication des sources d’information, internes et externes, et la multiplication des tailles et formats de données.

Les données sont classées habituellement en deux grandes familles, les données structurées et les données non-structurées. Dans l’entreprise, les premières sont concentrées dans les bases de données relationnelles associées à la gestion, ERP, CRM (gestion client), ressources humaines, etc. Elles sont qualifiées de structurées, car leur format permet de les intégrer dans une organisation en colonnes, un enregistrement correspondant à une ligne. Elles sont également qualifiées de SQL (Structured Query Language), en référence au langage informatique normalisé de requêtes structurées destiné aux systèmes de gestion de bases de données relationnelles (SGBDR). Nous assistons en parallèle à une multiplication exponentielle des formats de données relevant de la seconde famille, les données non-structurées, principalement autour de l’image et du texte. Ce sont en particulier les documents textes, les e-mails, les messages, les images, le son, les vidéos. À la différence des données structurées, elles ne peuvent être découpées en colonnes, et sont à prendre dans leur globalité. Le langage SQL pour interroger une base ne peut s’appliquer à tous les formats de fichiers, c’est pourquoi elles sont qualifiées de No-SQL pour ‘not-only SQL’.

Aujourd’hui, la donnée est partout, elle ne subit plus de frontière grâce en particulier à Internet. La toile est une extraordinaire dynamique qui permet à tout un chacun d’accéder à l’information et de la stocker. En contrepartie, cette dernière se trouve largement dispersée, avec des formats multiples. C’est là que l’on va rencontrer une autre grande difficulté, comment interroger les bases et extraire les données ?

Big Data Hadoop

L’explosion exponentielle de la donnée et de ses origines nécessite d’adopter une autre vision, avec des stratégies, des méthodologies, des pratiques, des outils, des données et des compétences réunies sous le terme générique du Big Data. Le principe pour l’entreprise est de pouvoir prendre en compte l’ensemble de ces données, qu’elles soient internes ou externes, qu’elles soient structurées on non-structurées, SQL ou No-SQL, et d’y appliquer les outils qui vont permettre de les gérer. C’est là qu’intervient le concept d’Hadoop.

Source : https://www.mapr.com/

 

Hadoop est une plate-forme de référence qui permet de prendre en compte la diversité tant des origines que des formats de la donnée. L’idée n’est pas de créer un entrepôt de données dans lequel on va stocker l’ensemble des données auxquelles l’entreprise a accès : cela se révèle quasi impossible à la fois par la dispersion des données et par les volumes considérables. Le but est plutôt de disposer d’un Framework qui va identifier et qualifier l’ensemble des sources de données auxquelles l’entreprise lui donne accès, et disposer des outils pour à la fois y accéder et les exploiter. Pour cela, Hadoop repose sur trois composants :

– Le premier est le cluster, un modèle de traitement informatique en grappes destinées à stocker de grandes quantités de données dans un environnement distribué, et à les analyser. Sans entrer dans les détails, un cluster est composé de serveurs, et le réseau est interconnecté avec chacun d’entre eux. L’avantage du cluster est que les applications de traitement de la donnée s’exécutent au plus près de celle-ci, et non plus dans un système centralisé comme c’est le cas de la business intelligence ou des entrepôts de données (datawarehouse).

– Le second est un filesystem de stockage des données, appelé HDFS ou hadoop filesystem. Le filesystem est l’application qui permet d’identifier et de centraliser les informations sur les données et leur emplacement, mais pas les données elles-mêmes. Le fait d’avoir créé un filesystem spécifique à la gestion de très gros volumes de données permet d’apporter une standardisation à toute architecture et tout format de données.

– Le troisième regroupe des applications qui permettent de traiter la donnée, ou qui ouvrent les données à des outils de traitement analytique. Au sein de Hadoop, il s’agit de MapReduce. C’est un standard d’architecture pour le développement informatique qui permet de manipuler de grandes quantités de données distribuées sur un cluster. Son succès provient de cette capacité à être utilisé au sein de très gros centres de traitement ainsi que du Cloud Computing.

Une solution Big Data Hadoop réunit ces trois éléments : le cluster, le filesystem, et MapReduce. La répartition des opérations appliquées aux jeux de données sur chaque nœud du réseau, réalisée par HDFS, offre également une grande fiabilité. Par contre, MapReduce souffre de plusieurs points faibles, le principal pour l’entreprise étant certainement de ne pas supporter les langages de haut niveau comme le SQL. En effet, les entreprises depuis plusieurs décennies exploitent le langage SQL pour interroger les bases de données. L’explosion du No-SQL, considérant qu’aujourd’hui neuf données sur dix ne bénéficient plus de l’organisation structurée en colonne des bases de données classiques, a complexifié fortement le travail des gestionnaires des bases et de l’information. Dans le cadre du Big Data Hadoop, et plus généralement des architectures de fichiers distribués, les environnements d’interrogation des fichiers reposent sur MapReduce. Or, nous l’avons vu, celui-ci n’est pas exactement le plus performant pour ces opérations. C’est pourquoi on lui a joint ce que l’on appelle des interpréteurs. Le plus connu de ceux-ci est Hive, un interpréteur de programmes Java particulièrement bien adapté puisque MapReduce et lui-même sont développés en Java. Cependant, Hive présente également un certain nombre de limites. C’est pourquoi a été développé, au travers de la Fondation Apache, un nouveau requêteur de fichiers nommé Drill.

Pourquoi utiliser un nouvel interpréteur de fichiers ?

La tendance est à l’accélération des traitements Big Data et au rapprochement du temps réel. C’est pourquoi, pour compenser les faiblesses de MapReduce, les grands acteurs du Big Data Hadoop ont développé des solutions alternatives : Falcon pour HortonWorks, Impala pour Cloudera, ou encore Drill retenu par MapR à partir des travaux réalisés par la Fondation Apache qui héberge des grands projets open source. Nous nous intéressons plus particulièrement à Drill, car la solution a répondu avec succès à nos attentes et à nos benchmarks.

 

Source : https://www.mapr.com/

 

Drill n’est pas une base de données ni une plateforme, c’est un requêteur de fichiers, un outil qui permet d’aller forer puissamment et de manière performante dans la donnée. À la différence de Hive, et même s’il est développé en Java, Drill ne repose pas sur MapReduce, ce qui rend le requêtage plus rapide. Et pour l’être encore plus, il insère le schéma des fichiers, ce qui lui permet d’anticiper et de reconnaître le type de fichier. Enfin, il lit nativement JSON, de même que MapR avec lequel il s’intègre logiquement, un format de fichier très apprécié directement interprétable par JavaScript pour structurer les données de manière flexible. Lors de l’intégration de données externes, celles-ci risquent fortement d’être en format Json ou CSV, Drill assure alors les jointures avec la capacité de marier différents types de formats, et d’injecter et reconnaître le schéma sans avoir à le lui donner, et ainsi de requêter un fichier en n’ayant rien à faire. L’outil présente également l’avantage de disposer d’un connecteur ODBC natif pour servir d’intermédiaire entre les fichiers Big Data et n’importe quel outil de restitution sur une base de données. C’est ainsi que Drill est le plus performant sur des fichiers compressés orientés colonnes, un mode de stockage reconnu qui rend le tri plus rapide, jusqu’à gagner 300 % de rapidité.

Pourquoi utiliser un nouvel interpréteur de fichiers ?

Les entreprises souhaitent capitaliser sur leurs connaissances du SQL et du datawarehouse classique. Dans cette attente, la présence d’un interpréteur qui repose sur des commandes proches de SQL permet de reprendre toute cette connaissance interne. Pour la DSI, et à la condition de disposer d’un cluster suffisamment dimensionné, l’outil Drill permet de réagir plus rapidement aux demandes afin de répondre aux enjeux des nouvelles sources de données sur un temps plus rapide, en passant de plusieurs mois à 1 ou 2 semaines pour créer des datalabs et modifier les schémas de manière transparente. Certes, l’outil est complexe, comme le sont les nouvelles générations de solutions de traitement de la donnée, mais il est en revanche plus simple dans son utilisation. Et la performance, en particulier sur des gros formats de fichiers, est supérieure aux bases de données traditionnelles. Il ne se fonde pas sur MapReduce, ce qui permet des gains importants en bureau d’étude. C’est un outil essentiel dans un workflow Big Data (avec Spark) pour travailler rapidement l’information. Cerise sur le gâteau, lors de nos récents benchmarks, Drill s’est révélé plus rapide que ses concurrents, Hive, Spark SQL et Impala.

 

 

 

Partager :
Partager sur Twitter
Partager sur LinkedIn
Partager par email

Laisser un commentaire

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