- Vanessa Moura
NOÇÕES BÁSICAS DE TERADATA DATA WAREHOUSING
A história da arquitetura paralela DO Teradata
Teradata é um sistema de gerenciamento de banco de dados relacional (ou conhecido em inglês como RDBMS = Relational DataBase Management System) que é projetado para os maiores bancos de dados comerciais do mundo com a capacidade de ter bancos de dados com centenas de terabytes de dados em tamanho. Esta característica torna o Teradata uma óbvia escolha para grandes aplicativos de armazenamento de dados; no entanto, o sistema Teradata pode também ser tão pequeno quanto 100 gigabytes. Com seu paralelismo e escalabilidade, Teradata permite que você comece pequeno e cresça muito, por meio da expansibilidade linear.

A Teradata Corporation foi fundada em 1979 em Los Angeles, Califórnia, EUA.
O objetivo corporativo era desenvolver um "computador de banco de dados" que pudesse lidar com bilhões de linhas de dados, até e além de um terabyte de armazenamento de dados. Demorou cinco anos de desenvolvimento antes que um produto fosse enviado a um primeiro cliente em 1984. Em 1982, a tecnologia YNET foi patenteada como a tecnologia habilitadora para o paralelismo que é o centro da arquitetura.
O nome Teradata foi escolhido para enfatizar sua capacidade de lidar com terabytes de dados.
Teradata foi adquirida pela NCR (então uma subsidiária da AT&T) em 1991, e em 2007, se separou da NCR para se tornar Teradata Corporation.
A arquitetura básica do Teradata
Teradata é um sistema de gerenciamento de banco de dados relacional (RDBMS) que é utilizado por mais de mil clientes, em todo o mundo para gerenciar grandes quantidades de dados.
Os pontos fortes do Teradata são extraídos de seu processamento massivamente paralelo, sua capacidade de lidar com muitas solicitações simultâneas e sua capacidade de atuar como um único armazenamento de dados.
O Teradata é conhecido por sua escalabilidade excepcional, que permite ao sistema melhorar o desempenho adicionando processadores adicionais, o que por sua vez permite mais conexões e consultas. Essa arquitetura faz do Teradata uma excelente escolha para fins de suporte à decisão e Business Intelligence.
O Teradata é único no método em que processa consultas. Abaixo está um alto nível ilustração de uma execução de consulta simples no Teradata. A instrução SQL do usuário é submetido ao Parsing Engine (PE).
O PE por sua vez é responsável por verificar a sintaxe da consulta, verificando a segurança do usuário e formulando o plano de AMPs. Uma vez depois de concluído, o PE se comunica com os AMPs por meio do BYNET.
Por fim, os AMPs recuperam as linhas de dados necessárias para resolver a consulta requisitada.

Parsing Engine (PE)
O objetivo do mecanismo de análise (do inglês Parsing Engine, com a sigla PE e também conhecido como otimizador) é formular o plano mais eficiente e menos "caro", a fim de retornar o conjunto de respostas solicitado. Os caminhos de processamento são avaliados e o caminho mais rápido é escolhido. Este plano é convertido em etapas executáveis, que são realizadas pelos AMPs e, por fim, passadas ao expedidor (ou também conhecido como dispatcher).
O PE também é responsável por quaisquer conversões de entrada necessárias, como uma conversão de conjuntos de caracteres de EBCDIC para ASCII.
O PE foi atualizado ao longo da existência da Teradata, garantindo que as últimas
melhorias de desempenho e eficiência são incluídas em versões subsequentes do PE. O PE pode lidar com até 120 sessões de usuário individuais.
Para cada solicitação enviada, o PE executa o seguinte:
Verifica a sintaxe da solicitação (SQL).
Verifica as permissões de segurança do usuário para determinar se o objeto de destino (tabela, visualizações, macros, etc.) podem ser acessados.
Analisa e otimiza SQL.
Formula o plano de execução para os AMPs que envolve o processo de decomposição da solicitação real em uma série de etapas.
Retorna a resposta do resultado definida de volta para o cliente.

BYNET
O BYNET é a via de comunicação entre AMPs e PEs. O PE transmite o plano para os AMPs via BYNET. Em resposta, os dados que as AMPs recupera dos discos são retornados ao PE por meio do BYNET. O objetivo do BYNET é garantir que o PE e AMPs, independentemente do tamanho real do armazém, possam funcionar
juntos perfeitamente.
Por design, o BYNET é escalonável. O BYNET fica maior proporcionalmente ao seu
Sistema Teradata. Isso garante que a comunicação entre os AMPs e os PEs nunca fiquem lentos devido a um aumento no tamanho do sistema.
Cada configuração do Teradata tem dois canais BYNET. Isso permite ambos
redundância e largura em caso de banda extra. Os canais são vias bidirecionais que enviam e recebem dados simultaneamente.
Abaixo está a sequência de eventos que ocorrem para cada solicitação Teradata enviada:
PE valida a solicitação enviada (sintaxe SQL).
PE valida os direitos de segurança do usuário.
PE determina o plano de execução para os AMPs.
PE envia o plano aos AMPs (via BYNET).
Os AMPs usam as instruções do plano para recuperar os dados.
Os AMPs retornam os dados para o PE (por meio do BYNET).
PE retorna os dados para o usuário que originou a solicitação.

Access Module Processors (AMPs)
Os Processadores de Módulo de Acesso (ou do inglês Access Module Processors, ou pela sigla AMPs) executam a tarefa física de recuperar os dados do resultado. Além disso, os AMPs realizam todas as conversões de saída necessárias, como conversões de tipo de dados. Os AMPs se conectam a um único disco virtual (VDISK), que é a base do processamento paralelo.
As linhas de cada tabela em um sistema Teradata são distribuídas uniformemente em todos os AMPs. Cada AMP é responsável pela recuperação de linha para cada tabela em seu disco.
Quando consultado, o AMP retornará sua parcela dos dados. As AMPs funcionam de forma independente e, portanto, recuperam dados simultaneamente. Os AMPs também são responsáveis por agregar colunas, gerenciamento de bloqueio, classificação de linhas, processamento de junção, formatação de saída, gerenciamento de espaço em disco, contabilidade, processamento de recuperação e protocolos de utilitários especiais.

The PE, AMP, e BYNET trabalhando juntos
Juntando cada uma das peças, PE, AMP e BYNET trabalham juntos para acessar os dados. Cada componente lida com funções específicas.
O PE verifica a sintaxe, verifica a segurança, cria o plano e despacha a solicitação.
Os AMPs recuperam seus respectivos dados da parte da tabela que reside nos discos.
O BYNET conecta perfeitamente o PE ao AMPS e lida com todas as comunicações.

Shared Nothing Architecture
O Teradata é uma arquitetura de "nada compartilhado" (do inglês Shared Nothing ou conhecido pela sigla SN).
Cada AMP funciona independentemente do resto dos AMPs.
Os AMPs têm sua própria CPU, memória e disco.
Os AMPs não se conectam diretamente a outros AMPs.
Cada AMP tem uma conexão direta com a rede via BYNET.
Os AMPs não contam uns com os outros para concluir suas atribuições individuais nem inibem as operações uns dos outros.
Cada AMP deve ter uma quantidade relativamente igual de linhas de cada tabela.


Escalabilidade Linear
A arquitetura de nada compartilhado do Teradata o torna infinitamente escalonável. Isso é conhecido como "escalabilidade linear".
A escalabilidade linear garante que o desempenho deve melhorar, e nunca diminuir, conforme o sistema cresce.
A adição de AMPs aumentará proporcionalmente os recursos de desempenho do sistema. Basicamente, você pode dobrar o desempenho de um sistema Teradata dobrando o número de AMPs.
Nota: Você deve garantir que seus dados sejam distribuídos uniformemente para obter o ganho de desempenho!

Por que a escalabilidade é importante?
A escalabilidade se traduz em flexibilidade e acessibilidade. Se um sistema for escalonável, isso significa que o sistema pode começar pequeno (naquele esquema pague apenas pelo que você precisa) e pode crescer de acordo com suas necessidades, sem a ameaça de degradação do sistema, conforme o sistema cresce em tamanho.
Bons data warehouses geralmente começam pequenos e eventualmente se tornam grandes sistemas Enterprise Data Warehouse (EDW) centralizados.
Lembre-se de que todos os sistemas de banco de dados são diferentes e a maioria não foi projetada para ser um data warehouse. Ao escolher um data warehouse, a escalabilidade deve ser considerada um dos principais critérios. O planejamento adequado e a boa tomada de decisões garantirão que seu data warehouse possa atender às necessidades de hoje e de amanhã.
Dentro de um gabinete Teradata
No diagrama abaixo, temos um gabinete Teradata de quatro nós.
Cada nó tem dois processadores Intel e 4-8 GB de memória onde os AMPs e PEs são configurados.