Qu'est-ce que Teradata ?

Teradata est une solution de base de données MPP entièrement personnalisable à l'échelle du pétaoctet. Avec plus de 30 ans d'existence, Teradata offre une série de fonctions extrêmement matures capables de répondre aux demandes les plus rigoureuses des plus grandes organisations au monde. Avec son architecture sans partage, Teradata est une base de données puissante avec possibilité d'évolutivité linéaire.

Bien que traditionnellement, Teradata soit installé sur site avec du matériel personnel, Teradata offre depuis peu sa technologie de base de données en tant que service géré sur AWS ou dans son propre cloud privé.

Le choix de Teradata comme base de données

Maturité de la plateforme

Comme Teradata est l'un des plus anciens et des plus grands fournisseurs de base de données au monde, l'entreprise a développé une gamme complète de fonctions qui permettent à la plateforme de convenir à pratiquement tous les cas d'usage. Certaines des fonctions les plus remarquables comprennent Teradata QueryGrid, une couche de fédération qui permet d'accéder aux jeux de données stockés dans Teradata et Hadoop, et le logiciel puissant de gestion des tâches de Teradata.

Personnalisation de la plateforme

Comme Teradata combine le logiciel et le matériel de base de données, il est possible de choisir parmi une large gamme de plateformes en fonction de la charge de travail. Il est donc très facile de choisir un matériel optimisé pour votre cas d'usage.

Performance

Si elles sont correctement exploitées, certaines des fonctionnalités de Teradata permettent d'en faire une base de données extrêmement performante. Teradata utilise notamment un système de stockage en lignes et colonnes hybride qui permet à l'utilisateur de stocker ses données sous forme de lignes ou de colonnes. Les capacités de Teradata à lire de manière intelligente les données consultées les plus souvent en mémoire améliorent aussi la performance de la plateforme.

Dans quel cadre Teradata est-il idéal ?

Intégration à la pile de données des grandes entreprises

La valeur de la solution de base de données Teradata s'exploite le mieux à grande échelle. Les nombreuses fonctions, options d'intégrations et possibilités de simultanéité de Teradata sont conçues pour s'intégrer en toute simplicité à la pile de données d'une entreprise afin d'être exploitées par un grand nombre d'utilisateurs.

Développement d'une nouvelle pile de données personnalisée 

En raison de ses nombreuses fonctions, de sa large gamme d'offres et de sa capacité de fonctionner sur site et dans le cloud, le système de gestion de base de données relationnelles (RDBMS) de Teradata est idéal pour les ABD qui souhaitent totalement personnaliser leur pile de données.

Considérations de prix

La tarification de Teradata varie en fonction de l'hébergement de la base de données sur site ou dans le cloud. Pour les systèmes Teradata déployés dans le cloud, le prix dépendra du fournisseur d'hébergement (AWS/Azure/Teradata IntelliCloud).

Teradata sur site

La tarification de Teradata sur site dépend du type, de la quantité et de la taille des appareils achetés chez Teradata. Les tarifs précis ne sont pas indiqués sur le site de Teradata.

Teradata sur AWS

Teradata sur AWS est disponible via AWS Marketplace, et dispose d'un calculateur de prix qui vous permet d'estimer le coût mensuel d'un dispositif Teradata. Les variables comprennent la version, le type de stockage, la taille du dispositif et le nombre de nœuds. Il est possible d'utiliser jusqu'à 32 nœuds sur AWS.

Teradata sur Azure

Teradata sur Azure est disponible via Azure Marketplace. La seule option offerte via Azure est une option à l'heure. Une intégration de Teradata avec le stockage Azure Blob est disponible pour gérer les sauvegardes et stocker des données supplémentaires. Il est possible d'utiliser jusqu'à 32 nœuds sur Azure.

Teradata IntelliCloud

Teradata offre une option d'hébergement de logiciel et de matériel entièrement gérée sur le cloud privé de l'entreprise, intitulée Teradata IntelliCloud. Les options de tarification varient en fonction du dispositif Teradata et sont disponibles ici. Hébergée par Teradata, la base de données est entièrement évolutive.

Architecture de Teradata

Comme la plupart des bases de données MPP en gestion interne, Teradata distribue le stockage et le calcul entre plusieurs nœuds au sein du système. L'architecture dite « non partagée » fait appel à des nœuds qui se chargent à la fois du calcul (sous la forme de CPU et de mémoire) et de stockage (sous la forme d'espace disque).

L' architecture de Teradata se compose de plusieurs éléments :

  • Moteur de parsage - Similaire au « nœud principal », le moteur de parsage reçoit la demande d'un utilisateur et utilise le SQL de l'utilisateur afin de développer un plan de requête à distribuer au BYNET.
  • BYNET - Le moteur de communication entre le moteur de parsage et les nœuds (les AMP). Les BYNET le plan de requête du moteur de parsage et décident des AMP à utiliser.
  • Processeur de module d'accès (AMPS) - Les AMP font office de « nœuds de travail » qui contiennent une section de la table distribuée, et ils traitent la requête pour la portion de données que leur disque contient. Les résultats intermédiaires sont ensuite transmis via le BYNET au moteur de parsage, qui les remet à son tour à l'utilisateur.

Types de données

Teradata stocke les données en lignes ou en colonnes, en fonction du langage de définition de données (DDL*) de la table. Le système peut intégrer des structures de données tabulaires et imbriquées issues de fichiers texte (délimités), de JSON, de formats Blob et Clob et de données géospatiales.

*Veuillez noter que bien que Teradata puisse orienter le stockage de données dans les deux sens (ligne ou colonne), le système traite les données en lignes durant le calcul. Dès lors, la performance générale du traitement des données stockées en colonnes peut être inférieure à celle des moteurs de bases de données en colonnes (comme Amazon Redshift ou Vertica).

Taille maximale de données recommandée

Teradata peut afficher une capacité de plus de 50 pétaoctets sur site. Il est possible d'atteindre un niveau de montee en charge comparable avec le cloud privé de l'entreprise, car ce dernier utilise le même matériel que pour les installations sur site. Étant donné que Teradata n'explore que depuis peu les subtilités du cloud public, Teradata sur AWS est un cluster à nœud unique qui peut offrir une capacité allant jusqu'à 48 To de stockage HDD (les limites pour le stockage SSD sont inférieures).

Gestion de base de données pour Teradata

Installation de Teradata

Teradata offre des instructions étape par étape pour l'installation de Teradata sur AWS et Azure. Pour en savoir plus sur l'installation de Teradata sur site ou sur le cloud privé de Teradata, il est conseillé de contacter l'entreprise.

Teradata offre aussi des services d'installation afin de vous aider à configurer votre plateforme.

Processus pour nouvelles données

Il est possible d'utiliser l'opération COPY SQL standard pour l'ingestion de données dans Teradata. Pour les volumes importants, vous aurez besoin des outils ETL brevetés de Teradata, intitulés Teradata Parallel Transporter (TPT).

Maintenance

Bien que le matériel physique de Teradata puisse être totalement géré en interne, ce n'est pas le cas de l'architecture des tables et de l'optimisation des requêtes. Pour atteindre une performance acceptable avec Teradata, il est nécessaire d'appliquer un partitionnement, des index, des statistiques et un codage en colonnes. L'ajustement d'une base de donnees Teradata peut se faire à l'aide d'une stratégie d'ajustement MPP générale.

Faits concernant Teradata

Teradata offre certains des meilleurs plans EXPLAIN disponibles

Si vous avez déjà utilisé un plan EXPLAIN pour votre base de données, vous savez qu'il s'agit d'une opération complexe qui nécessite une formation plutôt poussée pour être effectuée de manière efficace. Les plans EXPLAIN de Teradata peuvent être lus par les employés, ce qui permet très facilement de comprendre le parcours de la requête.

Retrouvez ci-dessous un exemple de plan EXPLAIN pour l'exploration d'une table complète dans Teradata (via Teradata Wiki) :

EXPLAIN SELECT * FROM Emp_Table;

1. Premièrement, on verrouille une SQL_CLASS."pseudo table" distincte pour la lecture avec RowHash afin d'empêcher le verrouillage complet de SQL_CLASS.Emp_Table.

2. Ensuite, on verrouille SQL_CLASS.Emp_Table pour la lecture.

3. On lance une étape RETRIEVE de tous les AMP de SQL_CLASS.Emp_Table via l'exploration de toutes les lignes sans condition résiduelle dans la Bobine 1 (group_amps), bâtie localement sur les AMP. La taille de la Bobine 1 est estimée, avec un faible niveau de confiance, à 6 lignes (342 octets). La durée de cette étape est estimée à 0,03 seconde.

4. Enfin, on envoie l'étape END TRANSACTION à tous les AMP qui ont traité cette requête.
-> Le contenu de la Bobine 1 est renvoyé à l'utilisateur comme résultat de l'énoncé 1. La durée totale est estimée à 0,03 secondes.

Si vous apercevez l'étape RETRIEVE sur tous les AMP sous forme d'exploration de toutes les lignes dans votre plan, cela signifie que teradata exécute un Full Table Scan. Le système lit donc chaque ligne de la table.

À titre de comparaison, voici un plan EXPLAIN pour une requête similaire de la documentation Postgres.

EXPLAIN SELECT * FROM tenk1; PLAN DE REQUÊTE -------------------------------------------------------------
 Seq Scan on tenk1  (cost=0.00..458.00 rows=10000 width=244)

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