Datalake comparaison - 1 introduction

Nous lisons beaucoup de comparatifs sur les datalakes et nous sommes toujours surpris par le
résultat ils sont tous les moins chers et les plus rapides, l’information varie en fonction de qui fait les
comparatifs elle est souvent issue de comparatifs subventionnés par des acteurs ou par des
entreprises voulant défendre leur choix et donc très orientés. Nous avons donc décider de faire
notre propre comparatif et pour couper court à toute rumeur ce comparatif n’est pas subventionné et
n’a été commandé par personne notre vision sera la plus objective possible, compte tenu de nos
connaissances actuelles, notre seule motivation est de d’exposer nos connaissances et nos
compétences. Nous sommes, bien entendu, spécialisés dans une solution nous ne pouvons pas
connaître par coeur toutes celles du marché et c’est souvent là le problème des autres comparatifs
car ces solutions sont très différentes et demandent de vraies compétences, il est presque
impossible d’être experts et donc de tirer le meilleur de chaque produit car les compétences ne
s’acquièrent qu’après beaucoup d’expériences. Notre expertise actuelle est sur l’outil Google
BigQuery et donc c’est sur cet outil que les informations seront les plus fiables et nous vous
demandons si vous voyez des erreurs commises dans ce comparatif de nous les adresser en
envoyant un mail à contact@domwee.com nous nous efforcerons de corriger le plus rapidement
possible car notre but est de produire le comparatif le plus abouti.


Dans beaucoup de comparatifs nous avons vu que les personnes s'évertuent à comparer les
solutions sur deux critères le temps d’exécution des requêtes et sur le coût, or limiter l’étude d’un
datalake à deux critères est pour nous trop réducteur et d’ailleurs au risque d’en étonner plus d’un
vous ne trouverez aucune comparaison de temps d’exécution de requête ici ni de coût à la seconde.
Pourquoi? Tout simplement parce que ces comparaisons ne voudraient rien dire. N’étant pas
spécialistes de toutes les solutions nous ferions sûrement des requêtes plus optimisées dans la
solution que nous connaissons le mieux et nous risquerions de léser certaines solutions. Nous
sommes disposés à le faire si nous trouvons une équipe spécialiste pour chaque solution présentée
dans ce comparatif. L’idéal serait de le faire sous forme d’un hackathon mais pour cela il faudrait
trouver des sponsors… Donc à vos contacts si vous connaissez un sponsor ou des sponsors qui
serai(en)t intéressé(s) par ces résultats et des champions dans les solutions de Datalake n’hésitez
pas à nous mettre en relation.


Heureusement il reste énormément de critères autant importants que les performances brutes des
bases de données sur des grosses volumétries. Prenons une analogie et si on résumait la
comparaison des outils à leurs performances pures : leur moteur et mettons nous dans la peau d’un
voyageur qui voudrait aller à un endroit il a sa disposition plein de moteurs plus où moins
performants : la marche à pieds, le vélo, le scooter, la voiture, le train, le bateau, l’avion à réaction...
et donc si nous suivons la logique de ces comparatifs nous ne prendrions que l’avion à réaction
dans des compagnies low cost, or ce n’est pas le cas, d’autres critères entrent en compte comme le
temps d’aller à la gare ou à l’aéroport, le temps d’attente avant de rentrer dans son moyen de
locomotion, le nombre de personnes qui empruntent en même temps que nous les liens de
communication, le coût, le service... Choisir un datalake c’est exactement la même chose et nous
allons voir ensemble tous les critères essentiels dans ce choix épineux.


Les critères que nous analyserons pour départager les différents protagonistes sont expliqués ci
dessous : 


  1. Architecture
    Des choix technique de l’architecture de la solution du datalake découlent automatiquement des contraintes et des avantages qu’ils procurent. A partir de ces choix nous pouvons déduire comment se comportera la solution dans les utilisations courantes pour ce genre de solutions. Comme toutes les entreprises ne pourront pas se permettre d’avoir une base spécialisée pour chaque utilisation nous estimons important de donner un avis sur une utilisation plus large de chaque base de données.
    1. BigData
      Ce critère est essentiel pour les entreprises qui ont des milliards de lignes de données à traiter. Dans ce paragraphe sera traité aussi bien la capacité à faire des requêtes rapidement mais aussi la capacité de la base de données à collecter les données rapidement et sans impact majeur sur l’utilisation des données.
    2. Datawarehouse
      Cet aspect est beaucoup plus important qu’on ne le croit car toutes les entreprises ont besoin d’une base de données qui permet de centraliser toutes les données clés de l’entreprise. Cela permet de faire des rapports sur des données qui ne sont pas compatibles naturellement et cela permet aussi à tout le monde d’utiliser les mêmes règles de consolidation et d’éviter les erreurs. Dans cette partie il est important de mesurer comment mettre à jour les données, comment faire une sauvegarde est-ce que la base de données accepte les schémas en étoile qui reste très populaire dans les entrepôts de données (autrement dit la capacité de la base de données à croiser les données).
    3. Reporting
      Stocker des données n’est pas une fin en soit il faut aussi savoir s’il sera aisé de partager le résultat des requêtes au plus grand nombre. Dans cette partie nous évaluerons comment les solutions réagissent aux pics de charge au moment de la publication des rapports. Nous évaluerons aussi s’il est possible de partager des informations à des clients ou fournisseurs facilement et si beaucoup d’outils sont compatibles avec la solution.
    4. Datalake
      Pour savoir si les solutions sont adaptées à un datalake il faut savoir si la base de données est abordable pour des profils comme des datascientists et si les outils populaires du marché dans ce segment sont compatibles.
    5. Base de données Applicative
      Cela n’est pas directement lié à notre étude mais savoir si les solutions étudiées peuvent être utiles pour une application informatique telle que les sites webs, les ERP ou d’autres applications de gestion ou de jeux. Aucune note ne sera décernée mais un avis sera donné.
  2. Utilisateurs
    C’est un des critères les plus difficiles à évaluer mais aussi le plus important car une solution qui ne fait plaisir qu’au service informatique mais qu’aucun utilisateur n’arrive ou ne veut utiliser ne sert à rien. C’est juste une perte d’argent et de temps. Comme aucun utilisateur ne se ressemble nous ne jugerons uniquement les critères objectifs tels que :
    - Risque de bloquer l’outil
    - contrôle des coûts
    - Est-il utilisable par les leaders du marché ?
    - facilité d’utilisation (correspond aux standards du marché)
  3. Fonctionnalités additionnelles
    Il peut être utile dans les critères de choix d’un datalake d’avoir un besoin précis et c’est dans cette rubrique que vous trouverez votre bonheur. Les fonctionnalités non obligatoires seront les suivantes :
    - Géographiques
    - Graphes
    - IP
    - Window
    - ML
  4. Administrateur
    Savoir si on a besoin d’une ressource spécifique pour le fonctionnement ou la surveillance de la base de données est très important dans le calcul du coût global de la solution. Cela fait parti des coûts cachés si importants en informatique. 
  5. Experts quand pourquoi
    Il est préférable d’avoir un expert pour se faire conseiller, aller plus vite, optimiser les temps de traitements et les coûts, la question est de savoir si cette personne doit être avec nous tous les jours ou seulement de temps en temps. Dans cette rubrique nous détaillerons quand et pourquoi les experts sont conseillés ou indispensables.
  6. Droits et sécurité
    Choisir une jolie solution qui répond à tous les besoins mais qui ne pourra pas être déployée parce qu’il ne correspond pas aux critères de sécurité l’entreprise ou légale (RGPD) est trop dommage; encore une fois on voit bien que ce critère n’est pas à négliger. 
  7. Logs et alertes
    Avoir une solution qui fonctionne toute seule sans avoir jamais à regarder ce qu’il est fait dessus n’existe à notre connaissance pas encore, il est important d’avoir de bons logs et des alertes en fonction de critères personnalisés. Il est certe pénible de les configurer au début mais c’est indispensable. Le suivi des logs est d’est d’autant plus important si vous payez à l’utilisation et faire une analyse des coûts va vite devenir indispensable. En plus ces informations sont indispensables si votre base de données contient des données personnelles (RGPD)
  8. Coût et gestion
    Le prix ne fait pas le coût de la solution, il faut regarder ce que la solution apporte et dans de rares cas acheter un produit fait gagner de l’argent, cela dit dans certains cas le prix d’entrée des produits ne permettra pas à des structures modestes de pouvoir s’offrir le produit en question, c’est ce qu’il sera détaillé dans ce paragraphe.
  9. Fin d’utilisation
    Comme avec n’importe quel outil il faut savoir s’il est prévu de récupérer les données injectées dans la solution. Se rendre compte après 5 ans d’utilisation que les données ne peuvent pas être récupérables facilement alors que l’on veut utiliser un autre outil rapidement peut-être gênant. Surtout que dans ces cas là le fournisseur de service ne se gêne pas pour faire traîner cette procédure. 
  10. Documentation et API
    Ces critères sont importants pour nous car l’informatique évoluant très vite il est indispensable d’avoir une bonne documentation à jour pour permettre aux utilisateurs soit de monter en compétences soit de parfaire ses connaissances. Les API permettent d’automatiser certaines tâches et d’utiliser au maximum les possibilités de l’outil c’est un plus mais ce n’est pas essentiel pour une base de données.


Comme la liste le montre il y a de nombreux critères à prendre en compte dans le choix d’un datalake et nous ne comprenons pas tous les comparatifs faits à l’heure actuelle qui jouent à qui a le temps de traitement le plus court. Nous pensons aussi qu’en fonction des besoins une solution sera plus adaptée qu’une autre pour une entreprise alors qu’une autre entreprise aura un besoin de base différent et choisir donc un autre produit plus adapté. Nous espérons que ce comparatif permettra à tout le monde de trouver chaussure à son pied et que surtout vous verrez plus clair dans ce domaine.


La liste des bases de données pré-sélectionnées pour notre analyse est impressionnante : 
- PostgrèsSQL
- MYSQL / MariaDB
- Oracle
- Azure SQL Data Lake 

Au vu de la charge de travail et de lecture ce comparatif sera divisé en plusieurs chapitres. Ce sera donc tout pour aujourd’hui mais la suite arrive rapidement.

Commentaires

Posts les plus consultés de ce blog

Datalake comparaison - 10 Conclusion

Load Balancer

Data loss prevention API