Qu'est-ce qu'une MPP à la demande ?

Les bases de données MPP à la demande sont des entrepôts de données analytiques hébergés dans le cloud qui ajustent dynamiquement leur taille en fonction de la difficulté de leur charge de travail.

Afin d'adapter automatiquement les ressources de calcul à la taille et à la complexité des requêtes, les architectures de ces bases de données séparent généralement le stockage du calcul. Pour le stockage, ces bases de données utilisent des infrastructures massives partagées dans le cloud qui fournissent une capacité de stockage virtuellement illimitée (ex. : AWS S3, Azure Storage, et Google Cloud Storage).

Dans de nombreux cas, elles rendent possible le traitement des données semi-structurées ou non structurées ainsi que celui des données structurées que les entrepôts de données traitent généralement.

Même si les bases de données MPP à la demande sont incroyablement compliquées, du point de vue d'un utilisateur final, elles sont relativement simples à utiliser. Pourquoi ? Parce que le matériel physique et la plupart des (si ce n'est tous) processus techniques complexes sont à la charge du prestataire dans le cloud. Cela garantit une expérience d'utilisateur fluide en matière de chargement et de requête de données.

Par rapport aux bases de données MPP autogérées pour lesquelles l'utilisateur est responsable du développement de son cluster afin d'augmenter la puissance de stockage ou le calcul, les bases de données à la demande peuvent être facilement, et parfois automatiquement mises à niveau. Comme dans la plupart des cas, l'approvisionnement des tâches Ops de l'extérieur facilite les choses, mais peut également limiter les options de personnalisation pour les utilisateurs plus avertis.

Dans quel cadre les bases de données MPP à la demande sont-elles idéales ?

Une performance constante, quelle que soit la taille de vos données

Les bases de données MPP à la demande sont conçues pour obtenir le plus de ressources de calcul nécessaires pour exécuter une requête de manière efficace, quelle que soit la taille de la requête ou du jeu de données. Pour l'utilisateur final, cela signifie généralement que les requêtes ne sont jamais lentes.

Facilité d'utilisation

La majorité du matériel et des procédures techniques complexes de ces bases de données sont abstraits pour l'utilisateur final, ce qui lui permet de les exploiter et de les gérer sans nécessiter trop d'aide de la part des équipes de développement/opérations.

Un minimum de gestion

Comme la capacité de stockage est pratiquement illimitée et les ressources de calcul peuvent être facilement optimisées ou minimisées (lorsqu'elles ne sont pas automatiquement adaptées pour vous), ces systèmes nécessitent moins d'accompagnement que la solution autogérée moyenne.

Vous ne payez que pour ce que vous utilisez

Même si chaque base de données MPP à la demande possède sa propre structure de tarifs, en général, leur rapproche est de fournir une tarification variable en fonction de l'utilisation plutôt que les frais initiaux importants. Ce fait, combiné avec leur facilité d'utilisation, font de ses bases de données un choix excellent si vous voulez tester pour vous faire une opinion.

Solutions populaires de bases de données à la demande

Architecture des bases de données MPP à la demande

Le stockage et les ressources de calcul ne sont pas partagés

La plus grosse différence entre les bases de données MPP à la demande et les bases de données MPP gérées est que la base de données à la demande sépare le stockage des ressources de calcul.

Les bases de données MPP autogérées sont composées de serveurs en clusters (souvent appelés nœuds) avec stockage et fonctions de calcul cooccurrents pour chaque nœud pour une plus grande efficacité. Cela permet de minimiser les frais de réseau et la latence, mais cela signifie que lorsque vous développez vos capacités de calcul, vous devez également développer le stockage (et vice versa). Ce type d'architecture est nommé « architecture sans partage », parce que chaque nœud contient ses propres ressources de calcul et de stockage.

Les bases de données MPP à la demande, par contraste, partagent les ressources de stockage et de calcul dans une instance, ce qui permet aux deux ressources de s'adapter de façon fluide au nombre et à la taille des requêtes. Cette architecture assure une rapidité de performance, quelle que soit la taille des données, et permet également à plusieurs clusters de calcul d'accéder aux mêmes données stockées sans les déplacer.

Le stockage s'adapte de façon fluide

Au lieu de distribuer des tableaux de données dans un cluster de nœud, les bases de données MPP à la demande utilisent des ressources de stockage d'objets dans le cloud partagés massifs comme Amazon S3, Microsoft Azure Storage ou Google Cloud Storage. L'un des avantages de ses ressources de stockage d'objets et qu'elles peuvent stocker des données structurées, semi-structurées ou non structurées. Même si les capacités de traitement de ces données varient d'une base de données à l'autre, toutes les bases de données MPP à la demande peuvent au moins accéder à ces données non structurées, ce qui signifie qu'elles peuvent ajouter des fonctions pour les traiter ultérieurement.

Ces ressources de stockage d'objets sont également pratiquement adaptables à l'infini. Contrairement à une architecture MPP gérée dont le stockage est limité à l'espace disque disponible dans chaque nœud (et doit être mis à niveau manuellement lorsque la quantité de stockage disponible vient à manquer), les unités de stockage d'objets distribuées massives comme S3 sont conçues pour toujours fournir un espace supplémentaire à vos données, et évoluer automatiquement lorsque vous ajoutez plus de données, sans effet notable sur la performance.

Le calcul s'adapte de façon fluide

En séparant le stockage des ressources de calcul, ces bases de données peuvent adapter leur puissance de traitement aux requêtes individuelles. Les bases de données élastiques peuvent utiliser de vastes infrastructures de traitement comprenant des centaines de milliers de nœuds individuels, et dévouent la puissance de traitement de ces nœuds aux requêtes individuelles par tranche de quelques secondes.

Lorsque la puissance de calcul nécessaire pour ces requêtes est divisée sur des centaines de nœuds, les délais de retour de requête restent rapides quelle que soit la taille de la requête. Cela signifie que, que vous effectuiez un décompte simple de quelques millions de rangs, un REGEX coûteux sur une table de 100 milliards de rangs avec BigQuery ou une requête sur des hexabits de données stockées dans S3 avec Redshift Spectrum, vous pouvez vous attendre à ce que votre requête revienne en quelques secondes ou quelques minutes, et non pas quelques heures ou quelques jours.

Contraintes liées aux bases de données MPP à la demande

Les bases de données MPP à la demande optent pour la simplicité et l'efficacité au détriment de la flexibilité et de la personnalisation. Si le manque de personnalisation des bases de données MPP à la demande vous dérange, la solution est d'utiliser une base de données MPP autogérée. De même, si vous êtes débordé par les ressources nécessaires pour maintenir des bases de données MPP autogérées, nous vous conseillons de considérer la base de données à la demande.

La différence claire entre avantages et contraintes découle de l'architecture de ces bases de données. Les plans de base de données MPP gérée louent ou vendent au consommateur des serveurs individuels ou des portions de serveurs, et le consommateur est ensuite libre de les configurer et de les personnaliser selon ses besoins. Par contre, les bases de données à la demande loup au consommateur la puissance de traitement de leurs clusters massifs au moment de la requête, mais elles ne louent pas les machines individuelles au consommateur, ce qui limite la personnalisation.

La visibilité est également une contrainte. Comme les consommateurs n'ont pas accès aux nœuds individuels dans un large compartiment comme S3 ou Google Cloud, il est extrêmement difficile de savoir exactement où leurs données résident. Au-delà de la structure des requêtes individuelles, les administrateurs de bases de données n'ont pas beaucoup de contrôle sur l'optimisation des clusters ou sur le réglage des plans de requête.

Optimisation des bases de données MPP à la demande

Comme la plupart des outils d'optimisation de ses bases de données ne sont pas à la disposition de l'utilisateur final et sont gérés par les prestataires de bases de données, il existe très peu d'options d'optimisation de performance pouvant être effectuées sur une base de données élastique.

Cela signifie que ces bases de données restent performantes avec très peu de réglages. Cependant, vous devez faire attention aux frais, car ces bases de données calculent généralement leurs tarifs en fonction de l'utilisation. Chacune de ces bases de données offre différentes stratégies pour réduire la taille et la complexité des charges de travail (et donc le coût). Nous étudierons cela dans les guides pour chaque base de données.

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