Une base de données analytique MPP, c'est quoi ?

Les bases de données analytiques à traitement massivement parallèle (MPP) sont des bases de données optimisées pour les tâches analytiques : l'agrégation et le traitement des jeux de données imposants. En général, les bases de données MPP sont organisées en colonnes, donc, au lieu de stocker chaque ligne en tant qu'objet, caractéristique des bases de données transactionnelle, les bases de données MPP traitent traditionnellement chaque colonne en tant qu'objet. Cette architecture permet d'exécuter des requêtes analytiques complexes de manière plus rapide et efficace.

Ces bases de données analytiques distribuent leurs jeux de données via de nombreuses machines, ou nœuds, afin de traiter d'imposants volumes de données (d'où le nom). Chaque nœud possède ses propres capacités de stockage et de traitement et ne traite qu'une portion de la requête.

Au cours de ces dix dernières années, la prolifération et la réduction du coût des bases de données analytiques MPP ont créé une opportunité exceptionnelle pour les organisations fondées sur les données qui opèrent et analysent des jeux de données plus vastes que jamais. Ces bases de données s'avèrent être un excellent outil pour les analystes, mais elles rendent toutefois les architectures plus complexes.

À quoi les entrepôts de données conviennent-ils vraiment ?

Tâches analytiques ordinaires

Les bases de données MPP sont très efficaces pour la plupart des tâches analytiques courantes, généralement caractérisées par des requêtes portant sur un sous-groupe de colonnes avec agrégation d'une large gamme de lignes. C'est l'architecture organisée en colonnes qui leur permet de n'accéder qu'aux champs nécessaires pour exécuter la requête (contrairement aux bases de données transactionnelles qui doivent accéder à tous les champs d'une ligne).

L'architecture organisée en colonnes offre aussi aux bases de données MPP des fonctions supplémentaires qui sont utiles pour les tâches analytiques. Ces fonctions varient en fonction des bases de données, mais elles comprennent souvent la capacité de comprimer les valeurs similaires, de classifier de très grandes tableaux et de traiter des tableaux dénormalisés.

Centralisation des données

En général, les organisations utilisent les bases de données analytiques MPP comme entrepôt de données, ou comme référentiel centralisé abritant toutes les données générées par l'organisation, comme les données de vente, les données de suivi sur le Web, les données de marketing, les données du service client, les données d'inventaire/logistiques, les données d'embauche et des ressources humaines et les données de connexion de journal système. Comme les bases de données analytiques MPP sont capables de traiter d'énormes volumes de données, une organisation peut alors compter sur ces bases de données non seulement pour le stockage des données, mais aussi pour les tâches analytiques des divers départements commerciaux.

Évolutivité linéaire

Les bases de données analytiques MPP peuvent facilement adapter leurs capacités de traitement et de stockage de manière linéaire en ajoutant des serveurs au système. L'évolutivité verticale des capacités de traitement et de stockage est quant à elle beaucoup plus complexe, car il faut alors remplacer chaque serveur par un modèle plus puissant, et il existe généralement un plafond. L'évolutivité des bases de données analytiques MPP est si rapide, facile et efficace que certains fournisseurs de base de données à la demande ont automatisé le processus afin d'ajuster la capacité du système en fonction de chaque requête.

Solutions d'entrepôt de données

Bases de données MPP en gestion interne

Bases de données MPP à la demande

Architecture analytique MPP 

Le traitement massivement parallèle (MPP) est un terme qui indique que les tableaux de ces bases de données sont distribués dans chaque nœud en cluster, et que lors de l'exécution d'une requête, chaque nœud opère en parallèle pour traiter les données qu'il héberge.

Architecture distribuée

Les bases de données analytiques MPP sont conçues pour exécuter des requêtes en parallèle sur de nombreux serveurs, ou nœuds. Cela signifie qu'en ajoutant plus de nœuds au cluster, une même tâche peut être répartie entre plus de serveurs afin d'être traitée plus rapidement.

Bien que les bases de données analytiques MPP soient parfois capables d'être améliorées sur un plan vertical, leur principal avantage est la simplicité relative de leur évolutivité linéaire en ajoutant simplement des nœuds au système.

Traitement massivement parallèle (MPP)

Bien que différents systèmes adoptent des approches variées pour coupler le stockage des données et le traitement des requêtes et pour déplacer les données d'un nœud à un autre, tous les systèmes MPP sont rapides car un « leader » développe un plan de travail et distribue ensuite le traitement de la requête entre de nombreux travailleurs.

Système hébergé ou en local

Les bases de données analytiques MPP existent depuis plusieurs décennies, mais leur coût et leur complexité de gestion ont énormément diminué au cours de ces dix dernières années. Jusqu'il y a peu, la seule option était d'héberger ces bases de données en local. Cependant, ces systèmes sont de plus en plus souvent hébergés dans le cloud.

Certains entrepôts de données analytiques sont uniquement disponibles via une architecture hébergée ; Amazon Redshift, Snowflake et Google BigQuery, par exemple, ne sont disponibles que dans le cloud. D'autres, comme Teradata, peuvent être déployés en local, en forfait comprenant logiciel et matériel physique, ou en modèle hébergé dans le cloud.

HPE Vertica est la seule base de données de la catégorie analytique MPP à offrir un logiciel qui vous permet de développer votre propre base de données analytique avec du matériel de base. Pour les systèmes de grande ampleur, ce type de solution offre plus de flexibilité et de personnalisation pour les usages spécialisés.

Contraintes d'une base de données analytique MPP

Complexité

La principale contrainte associée aux bases de données MPP distribuées est la planification et l'installation nécessaires, qui sont différentes que dans le cas des bases de données transactionnelles. L'installation initiale du flux d'alimentation ETL (Extract-Transform-Load), qui transfère les données depuis leur source jusqu'à votre entrepôt de données, peut représenter un projet de grande ampleur (bien que de nombreux fournisseurs offrent désormais des services qui simplifient ce processus).

Évolutivité

Il peut aussi être difficile de planifier les ressources nécessaires au sein du cluster pour traiter plusieurs sources de données, particulièrement lorsque vous ne contrôlez pas totalement le volume de données de ces sources. De nombreuses technologies de bases de données MPP hébergées dans le cloud offrent une fonction d'évolutivité automatique, mais pas toutes.

Chargement par lot / latence

En raison de l'architecture des bases de données analytiques MPP, en général, plus on souhaite se rapprocher des données « en temps réel », plus la tâche d'ingénierie des données est compliquée. Cela est dû au fait que ces technologies sont habituellement optimisées pour le chargement par lot de données. L'optimisation du stockage de données pour la lecture distribuée sur le cluster est une tâche qui demande beaucoup de travail. Certaines bases de données MPP distribuées offrent un stockage hybride ou des services supplémentaires pour répondre à ce problème. De nombreuses organisations conservent des répliques de leur base de données transactionnelle uniquement pour avoir accès en temps réel à ces jeux de données.

Optimiser une base de données analytique MPP

Les questions d'optimisation de la performance d'une base de données analytique MPP varieront grandement en fonction de l'utilisation d'une solution de base de données MPP à la demande ou d'une solution de base de données MPP gérée.

Il est important de noter qu'en général, les solutions de base de données MPP peuvent traiter des volumes de données beaucoup plus importants que les bases de données transactionnelles de même niveau, et que vous pourrez donc traiter beaucoup plus de données avant de devoir songer à l'optimisation et au réglage.

Cela dit, quand il sera temps de se pencher sur l'ajustement de la performance, les solutions MPP gérées se chargeront de plus de détails pour vous que les solutions hébergées en local, qui demanderont plus de travail de votre part.

Prenez goût à l'analytique

Business intelligence, analyse de big data ou vue client à 360° :
quels que soient vos besoins, Looker peut vous aider. Parlez à nos experts en données.

Demander une démo