Vous êtes à la recherche du meilleur outil pour créer et exécuter vos requêtes SQL ? Dans ce nouveau monde où la donnée est reine, les Data analysts sont tous confrontés à ce choix difficile : quel outil de requêtes utiliser pour gérer ces immenses volumes de données ?
Si vous êtes Data Analyst, vous le savez pertinemment, la meilleure aide que l’on puisse vous apporter consiste à vous présenter un comparatif des différentes solutions existantes. Le plus simple est en même temps le plus efficace. Nous allons donc vous présenter 6 outils, avec, à chaque fois, leurs avantages et leurs inconvénients. Après…à vous de faire votre choix !
Liste des outils :
#1 Cloudera Impala
Apache Impala, logiciel open source, sous licence apache, intégré sur l’infrastructure Hadoop, permet la gestion en temps réel et les traitements massivement parallèles (MPP). Il est codé en langage C++ et actuellement géré par Cloudera, MapR, Amazon et Oracle.
Avantages
- Apache Impala permet la gestion en temps réel des requêtes sur les données stockées sur les clusters Hadoop.
- C’est très rapide. Le fait qu’Impala n’utilise pas le patron d’architecture MapReduce pour exécuter les requêtes le rend plus rapide qu’Hive.
- Impala utilise HiveQL et SQL-92, ce qui le rend plus facile à comprendre et à utiliser par les Data Analysts habitués à utiliser des systèmes de gestion de base de données relationnelle (RDBMS).
- L’installation est facilitée grâce au support de Cloudera.
Inconvénients :
- Impala ne propose de support que pour les frameworks Parquet, RCFile, SequenceFIle et Avro. Si vos données sont au format ORC, vous aurez du boulot…
- Impala ne gère que les plateformes CDH, MapR et AWS.
Votre rêve est de devenir Data Scientist ? Voici la route à suivre pour se former en autodidacte.
#2 Apache Hive
Hive est un moteur de requêtes open source, codé en langage Java, utilisé pour synthétiser, analyser et interroger des données stockées sur le framework Hadoop. Bien qu’il ait d’abord été introduit par Facebook, il est maintenant devenu open-source.
- Sa stabilité (plus de 5 ans d’existence).
- Hive est open-source et fort d’une grosse communauté d’utilisateurs. Si vous avez des questions, vous aurez facilement des réponses.
- Hive utilise HiveQL, un langage de programmation proche de SQL facile à appréhender par les connaisseurs des systèmes de gestion de base de données relationnelle.
- Hive gère les formats Text, RCFile, SequenceFile, ORC, Parquet et Arvo.
Inconvénients :
- Pour l’exécution des requêtes, Hive repose sur le modèle de programmation MapReduce. Ce qui entraîne une certaine lenteur, comparé à Cloudera Impala, Spark ou Presto.
- Hive ne gère que les données structurées. Du coup, si vos données sont pour l’essentiel non structurées, Hive n’est clairement pas une option envisageable…
Découvrez pourquoi les ingénieurs data sont de plus en plus recherchés.
#3 Apache Spark
Apache Spark est un framework open source de calcul distribué (cluster computing) tournant sur Hadoop. Il a été développé par l’Université de Berkeley et est écrit en langage Scala. Apache Spark est livré avec Spark SQL, MLlib, GraphX et Spark Streaming : autant d’outils permettant de tirer pleinement parti du framework Hadoop.
- Spark, comme son nom le laisse supposer, est très rapide. Les requêtes sont exécutées 10 à 100 fois plus rapidement qu’avec Hive ou MapReduce.
- Spark est compatible avec les données, requêtes et fonctions UDF de Hive.
- Spark propose des APIs pour les langages Java, Scala et Python, ce qui permet aux développeurs de développer des applications dans ces langages.
- Apalache Spark et Spark SQL disposent d’une communauté d’utilisateurs largement plus grande que Presto.
Inconvénients :
- Apalache Spark consomme beaucoup de mémoire vive, ce qui le rend plus coûteux.
- Le framework Apalache Spark n’est pas encore arrivé à maturité. Il n’est donc pas suffisamment stable.
Approche traditionnelle VS Approche Cloud : découvrez la meilleure architecture pour votre Data Warehouse, en fonction de vos besoins, attentes et objectifs.
Contactez Cartelis
pour enfin capitaliser sur vos données clients.
Cartelis vous accompagne dans le cadrage et le déploiement d'une stratégie data et CRM vraiment impactante.
Analyse client, Choix des outils, Pilotage projet et Accompagnement opérationnel.
Prendre contact avec Cartelis#4 Presto
Né en 2012, Presto est un autre logiciel open source conçu pour interroger de grandes quantités de données à l’aide de requêtes SQL distribuées. Développé par Facebook, il est basé sur la plateforme Hadoop et est écrit en langage Java. Presto a été mis par Facebook à la disposition des contributeurs open source en 2013, sous licence Apache V2. Il est aujourd’hui supporté par Teradata et est utilisé par des sociétés aussi prestigieuses que Airbnb, Dropbox, Netflix et Uber.
- Presto gère les formats Text, ORC, Parquet et RCFile. Cela fait de Presto un outil très performant, qui vous évite d’avoir à transformer vos données existantes dans un nouveau format.
- Presto fonctionne bien avec les services de stockage Amazon S3 et les requêtes de données de n’importe quelle source à l’échelle de petabytes en quelques secondes.
- La communauté d’utilisateurs de Presto est très active.
- Le support est géré par Terada, une entreprise renommée, spécialiste de l’analyse Big Data et des applications marketing.
Inconvénients :
- Ce framework étant très largement open source, il est déconseillé de déployer Presto si vous pensez que vous n’êtes pas en mesure de gérer les dysfonctionnements éventuels par vos propres moyens (à moins de faire appel à Terada, contre rémunération…).
- Presto n’a pas de couche de stockage en propre, du coup impossible de gérer les requêtes nécessitant d’insérer ou d’écrire des fichiers Hadoop.
Découvrez les fondamentaux du SQL pour marketeurs.
#5 Google BigQuery
BigQuery est une solution de base de données Cloud proposée par Google qui permet d’exécuter de gros volumes de données en quelques secondes. BigQuery est une solution de BDD, et non uniquement un outil de gestion des requêtes : en clair, BigQuery permet de stocker les données, d’exécuter les requêtes à partir de ces données et d’utiliser des commandes de type SQL pour lancer des requêtes sur ces données.
- Google BigQuery peut être comparé à une solution « Plug & Play » pour le Big Data, qui permet de s’épargner le travail de gestion des serveurs. Pour l’utiliser, il vous suffit d’importer vos données dans leur format initial.
- C’est un produit forcément très stable et très bien pensé – Google oblige.
- BigQuery gère les syntaxes SQL standards.
- Il est assez simple de déplacer les données sur Google BigQuery (depuis Amazon S3 par exemple).
- Pour les entreprises, le support est au top !
Inconvénients :
- La solution est assez chère si vous faites un gros volume de requêtes. Le coût est calculé sur le volume de requêtes.
- Les requêtes avec un grand nombre de jointures sont assez lentes.
- Vous devez déplacer vos données dans le système de stockage BigQuery avant de pouvoir exécuter des requêtes.
Découvrez les compétences clefs d’un bon Data Scientist.
#6 Amazon Redshift
Amazon Redshift est un outil rapide et puissant, basé sur le cloud. Il fait partie de la palette de services et produits Cloud proposée par Amazon (AWS). C’est d’ailleurs le framework utilisé par Amazon !
- Le support, pour les entreprises, est excellent. Comme Google Big Query, Amazon Redshift est une solution d’entrepôt de données complète, basée sur le Cloud.
- Amazon Redshift tourne très bien avec Amazon S3.
- Ce framework est facilement scalable.
- Redshift gère pratiquement toutes les spécifications SQL standards.
Inconvénients :
- La solution est assez chère. Amazon facture sur la base de l’espace de stockage autant que sur les requêtes serveurs (CPU, RAM…).
Difficile de dire quelle est la meilleure solution pour analyser, stocker et requêter les données de votre organisation. Cela dépend des usages, des besoins. Si vous choisissez d’utiliser une solution open source SQL sous Hadoop, vous devez avoir une équipe compétente en interne, clairement. Si vous optez pour une solution cloud, vous devez vraiment anticiper les coûts (qui augmentent proportionnellement au volume de données). La facture peut rapidement devenir conséquente. Faites le calcul et choisissez la solution la plus pertinente pour votre organisation, en fonction de vos usages, de vos usages, de vos objectifs.
Laisser un commentaire