Intelligence des données

Le cube d'analyse et au-delà

Actian Corporation

14 avril 2016

lumières bleues provenant d'une sphère

L'ingénierie du Big Data a inventé une quantité apparemment infinie de solutions de contournement. Ces solutions concernent à la fois les problèmes d'évolutivité et de performance. En fin de compte, c'est notre approche de la résolution de ces problèmes qui dicte leur durabilité. Ce billet compare certaines des meilleures pratiques modernes avec les environnements de cube de prétraitement.

3 façons dont une base de données Hadoop rivalise avec Cube Analytics

  • La conception du logiciel l'emporte sur le prétraitement.
  • La capacité de gestion des données est cruciale.
  • Contrôler l'explosion des données et la complexité des plateformes.

Les moteurs cubiques(OLAP) pour l'analyse des entrepôts de données n'ont rien de nouveau, mais leur application dans les architectures de gestion des données distribuées d'aujourd'hui l'est moins. Ce billet compare les bases de données analytiques SQL de de haute performance avec les Cube analytics dans l'environnement distribué d'aujourd'hui.

Les plateformes cubes d'entreprise aident les utilisateurs à analyser facilement des quantités massives de données. Cependant, le système d'exploitation pour l'analyse des données évoluant vers une architecture informatique massivement parallèle avec des sources de données distribuées, il peut être difficile de savoir si l'analyse basée sur les cubes peut aider votre prochain projet.

Hadoop lui-même n'est pas d'une grande aide pour obtenir des analyses de de haute performance dès sa sortie de l'emballage. Bien que vous puissiez obtenir un accès transparent à une grande variété de données, vous sacrifiez souvent la performance et d'autres caractéristiques essentielles telles que la gestion des données et le contrôle de l'expansion des données - trois éléments clés pour maîtriser le lac de données au fur et à mesure qu'il se développe.

C'est la raison pour laquelle les utilisateurs d'Hadoop n'auront probablement pas recours à l'analyse des cubes à l'avenir, car les bases de données "rapides" permettent d'éviter les frais généraux et la complexité liés à la maintenance d'un système basé sur les cubes.

La conception du logiciel l'emporte sur le prétraitement

L'analyse cubique est la solution de secours pour les entrepôts de données volumineux ou les bases de données analytiques sous-équipées lorsqu'elles deviennent trop grandes, trop lourdes et trop lentes pour faire face à des charges de travail de plus en plus difficiles. Pourquoi ces bases de données ont-elles si mal fonctionné lorsque les volumes de données ont augmenté ou que du matériel avancé a été nécessaire ? Parce que les approches traditionnelles de l'ingénierie logicielle ont limité les améliorations de performance.

Par conséquent, l'industrie s'enthousiasme lorsqu'il y a des améliorations linéaires de la performance de leurs requête par rapport à l'amélioration du matériel. Les améliorations matérielles (à la manière de la loi de Moore) accélèrent-elles toutes nos requêtes d'autant, et le remarquons-nous ? Je parie que non. Comment cela se justifie-t-il alors que, par exemple, les fournisseurs de puces ajoutent régulièrement de nouveaux moyens d'optimiser le traitement ?

Actian a profité de plusieurs améliorations matérielles et logicielles pour mettre en place des environnements analytiques hautement optimisés.

Tirer parti d'un meilleur matériel

Simplement, la plupart des systèmes ne tirent pas parti de la puissance inhérente aux plateformes informatiques modernes. Si l'on installe des disques plus rapides (SSD), une meilleure mémoire vive et que l'on améliore les connexions réseau, les choses s'exécutent naturellement plus vite. Ajoutez à cela l'analyse des cubes et vous améliorerez encore les performances, mais seulement par rapport aux systèmes existants fonctionnant sur des architectures conçues de la même manière.

Les bases de données modernes qui utilisent les dernières améliorations apportées aux processeurs (cache des puces, gestion des disques, taille de la mémoire, stockage en colonnes, etc. Ces améliorations sont plus que linéaires, souvent exponentielles, par rapport à d'autres solutions populaires sur le marché. C'est là qu'Actian tire son épingle du jeu dans le domaine du Big Data (voir Actian's Vector on Hadoop platform).

Nous devrions tous nous attendre à des améliorations significatives entre les générations de matériel et de logiciels. Après tout, les ingénieurs d'aujourd'hui sont mieux formés que jamais et utilisent le meilleur matériel jamais développé.

Si vous ne tirez pas parti de ces avantages, vous avez déjà perdu l'occasion d'un "coup de lune" grâce à l'analyse des données big data. Vous ne pourrez pas boucher le barrage avec du vieux béton - vous devez le couler à nouveau.

Les bases de données à haute performance éliminent les limites qui ont étranglé les bases de données traditionnelles et les entrepôts de données au cours des dernières décennies. Bien que les moteurs de cubes puissent encore être traités sur ces nouvelles plateformes bases de données analytiques, ils sont souvent si rapides qu'ils n'ont pas besoin de cette aide. Au lieu de cela, les outils informatique décisionnelle (BI) courants peuvent s'y connecter directement et maintenir d'excellentes performances en matière de requête .

gestion des données La capacité est cruciale

Les capacités de gestion des bases de données en arrière-plan sont essentielles à la pérennité d'une base de données. Les utilisateurs frontaux ont simplement besoin d'un accès SQL, mais les administrateurs de bases de données ont toujours besoin d'outils pour modifier les tables, optimiser le stockage, sauvegarder les données et faire le ménage. Il s'agit là d'un autre domaine qui différencie les bases de données analytiques et les moteurs de cubes de la prochaine génération.

De nombreux outils de l'écosystème Hadoop ne font qu'une seule chose : lire différents types de données ou exécuter des processus analytiques. Cela signifie qu'ils ne peuvent pas faire tout ce qu'une base de données d'entreprise exige habituellement. Les moteurs de cubes ne font pas exception à la règle : leur force est de résumer les données et de construire des requêtes à partir de celles-ci.

Lorsque vos données sont gérées par un système de cubes, vous ne disposez plus d'une base de données SQL d'entreprise. Certes, vous pouvez avoir un accès SQL, mais vous avez probablement perdu les capacités d'insertion, de mise à jour et de retour en arrière, entre autres. Voici ce que vous devriez attendre de votre base de données analytique : conformité ACID, conformité SQL complète, approche vectorielle en colonnes, nativement dans Hadoop, ainsi que d'autres nécessités de gestion des données .

La capacité d'accéder aux données brutes à partir de la source est étroitement liée à la gestion des données . Avec une base de données relationnelle rapide, il n'y a pas de séparation entre les données sommaires et les enregistrements détaillés. Il suffit d'une requête pour accéder à une granularité de données plus élevée - à partir de la même base de données, de la même table. Lorsque la base de données est mise à jour, tous les nouveaux points de données sont immédiatement disponibles pour votre prochaine requête , qu'ils aient été prétraités ou non.

gestion des données Matters !  

Les données changent parce que de nouvelles données sont ingérées, mais aussi parce que les utilisateurs veulent les modifier, les nettoyer ou les agréger d'une manière différente qu'auparavant. Nous avons tous besoin de cette flexibilité et de cette puissance pour continuer à tirer parti de nos compétences et de notre expertise en matière de traitement des données.

Contrôle de l'explosion des données et de la complexité des plates-formes

L'explosion des données est réelle. L'adage selon lequel nous multiplions continuellement la vitesse à laquelle les données augmentent soulève la question suivante : comment pouvons-nous faire en sorte que ces données soient aussi gérables que possible ?

C'est là que j'ai un problème fondamental avec les approches cubiques de l'analyse. Nous devrions nous efforcer d'éviter les outils qui font double emploi et qui font encore exploser nos volumes de données en croissance exponentielle. Il va sans dire que nous ne devrions pas non plus déplacer les données hors d'Hadoop comme le font certains produits.

Ne serait-il pas plus judicieux de concevoir une solution qui s'attaque directement aux goulets d'étranglement en matière de performances dans le logiciel plutôt que d'apporter un pansement à une base de données analytique lente en prétraitant des dimensions qui ne seront peut-être même pas utilisées à l'avenir ?

Malheureusement, les approches cubiques augmentent intrinsèquement vos volumes de données. Par exemple, les responsables du projet Kylin ont déclaré que l'utilisation des cubes leur permettait de multiplier par 6 à 10 le volume des données. Cela suppose également un personnel suffisamment formé pour construire et nettoyer les cubes au fil du temps. Il devient rapidement impossible d'estimer les besoins futurs en matière de stockage si vous ne pouvez pas être sûr de l'espace dont vos analyses auront besoin.

Éviter de jongler avec des plateformes complexes

De nombreuses plateformes exigent de jongler avec plus de pièces technologiques qu'une base de données analytique moderne. Il est déjà assez difficile de maintenir les sources de données chargées et traitées dans une base de données, alors l'ajout de couches de normalisation, de génération de cubes, d'interrogation et de régénération de cubes, etc. rend le système encore plus difficile à maintenir.

Le projet Kylin d'Apache, par exemple, nécessite un grand nombre de pièces mobiles : Hive pour l'agrégation des données sources, Hive pour le stockage d'une copie dénormalisée des données à analyser, HBase pour le stockage des données cubiques résultantes, un moteur de requête pour le rendre compatible avec SQL, etc. Vous pouvez commencer à imaginer que vous pourriez avoir besoin de nœuds supplémentaires pour gérer les différentes parties de cette conception.

Cela fait beaucoup de bagages ; espérons que si vous l'utilisez, c'est que vous en avez vraiment besoin !

Considérez l'alternative, comme Actian Vector sur Hadoop. Vous compilez vos données à partir de sources opérationnelles. Vous créez vos requêtes en SQL. C'est fait. Ce n'est pas parce que de nombreuses options Hadoop sont lentes qu'elles doivent l'être, et nous n'avons pas besoin d'intégrer davantage de complexité dans la plateforme pour compenser cette lenteur.

Avec une plateforme optimisée, vous n'aurez pas besoin d'exécuter vos requêtes en arrière-plan pour obtenir de bonnes performances et vous n'aurez pas à vous soucier de la contention des ressources entre les produits de votre pile. Il s'agit d'un seul et même système. De la gestion des blocs à l'optimisation des requête , tout se passe dans le même système sous-jacent, et c'est bien ainsi.

Analystes SQL et jongleurs

Le dernier point à prendre en considération est celui des ressources humaines. Elles peuvent se contenter d'être expertes dans un nombre limité de domaines. Toutes les plateformes ne sont pas faciles à gérer et à support pendant la durée de vie de votre investissement.

Nous travaillons avec de nombreux projets open source, mais en fin de compte, c'est notre propre produit que nous connaissons le mieux à l'intérieur et à l'extérieur. Nous pouvons améliorer et optimiser des parties de la pile à n'importe quel niveau. Lorsque vous utilisez un système comportant de nombreux sous-composants développés et gérés par différentes équipes, différentes entreprises, voire différentes communautés de bénévoles, vous sacrifiez la possibilité de tirer parti de la puissance d'une solution étroitement couplée. À long terme, vous voudrez que ces solutions soient soutenues et maintenues par des professionnels en tenant compte de vos besoins.

D'un point de vue pratique, j'ai cherché à montrer que bon nombre des problèmes que les cubes cherchent à résoudre sont moins problématiques lorsque de meilleures bases de données relationnelles sont disponibles. De même, il est important d'examiner attentivement la question de savoir si les frais généraux supplémentaires liés à la maintenance d'une telle solution sont judicieux. Il est évident que cela varie en fonction de la situation, mais j'espère que ces comparaisons générales seront utiles pour qualifier une technologie en fonction d'un besoin donné.

logo avatar actian

À propos d'Actian Corporation

Actian facilite l'accès aux données. Notre plateforme de données simplifie la façon dont les gens connectent, gèrent et analysent les données dans les environnements cloud, hybrides et sur site . Avec des décennies d'expérience dans la gestion des données et l'analyse, Actian fournit des solutions de de haute performance qui permettent aux entreprises de prendre des décisions basées sur les données. Actian est reconnu par les principaux analystes et a reçu des prix de l'industrie pour sa performance et son innovation. Nos équipes partagent des cas d'utilisation éprouvés lors de conférences (par exemple, Strata Data) et contribuent à des projets à code source ouvert. Sur le blog d'Actian, nous couvrons des sujets allant de l'ingestion de données en temps réel à l'analyse pilotée par l'IA. Faites connaissance avec l'équipe dirigeante https://www.actian.com/company/leadership-team/