The Shared Nothing architecture of Teradata means that each vproc is responsible for its own portion of the database and will perform operations on its own environment(a portion of the database). A V-Proc is like an independent component which has its own computer area and storage 


This diagram shows the Architecture of TERADATA and is very useful and easy for learning purposes. Architecture involves three main components which are also called as V-Procs, those are 
  • PE
  • AMP
  • BY-NET

PE (Parsing Engine):

       The PE is a vproc that communicates with the client system on one side and with the AMPs (via the BYNET) on the other side. Each PE executes the database programming that supervises sessions breaks down SQL statements into steps possibly in parallel, and returns the answer rows to the requesting client.

It performs below 4 engine elements.

Parser

·         The Parser look into request catch to determine if the request is already are there (or) not.
·         The Syntaxer checks the syntax of the Incoming request.
·         if errors are present It stops the execution of the request and send an error back to TDP (or) Client.
·         Resolver adds information from data dictionary to convert data base name, table name, view name and macro names to internal identifiers.
·         Security module checks privileges on the data dictionary for incoming request.

Optimizer: 

·         It determines the most effective path for the incoming SQL request. 
Generator:

·         generates transforms the optimized parser tree into plastic steps.
·         It also binds parameterized data and transforms plastic steps into concrete steps.

Dispatcher:

·         It controls the sequence in which the steps are executed.
·         Dispatcher tells whether the request is one AMP, all AMP, and several AMP operations.
GnC Apply will take care of sending the requests to BY-NET .

BY-NET:

Message Passing Layer is nothing but BY-NET.
Its responsibilities include

  • PEs and AMP'S communicate via BY-NET(message passing layer).
  • Sending, Merging and Sorting Result set ( Rows obtained after the query execution).
  • Different communication approaches like 
    • Point-to-Point  :  A vproc can deliver a message to another vproc
    • Multicast : A vproc can driver a message to multiple vprocs by delivering a broadcast message to all nodes 
    • Broadcast : A vproc can broadcast by delivering a message to all the vprocs in the system
  • Dual BY-NETs will be available for Fault tolerant and high Performance

Access Module Processor (AMP):
  • Every Amp listens instructions from PE via By-NET
  • Each AMP is allowed to read and write data in its own disk.
The AMP vproc supervises the teradata database interactions with the disk subsystem. Each AMP supervises a share of the disk storage.

AMP functions include

Database management tasks
  • Accounting
  • Journaling
  • Locking tables, rows, and databases
  • Output data conversion
During query processing
      • Sorting
      • Joining data rows
      • Aggregation
File management Tasks
  • Disk management tasks in VDisk
Along with above components Please find below three components for better understanding

CLI (Call level interface):

It is a lowest level of interface to the Teradata RDBMS. It handles activities like
·         Helps create session.
·         Allocate request (or) response buffer.
·         Creating Parcels.
·          Fetch Responses.

TDP (TeraData Directory Program):

·          Session initiation, session termination, session balancing (or) managing.
·          Session validation (or) verification and login.
·          providing input to PE'S receiving output from PE (Parsing Engine). 
·         And it handles request ques.

PDE (Parallel Data Base Engine):

PDE is a software layer interface that lies between Operating System and TERADATA Database.
It supports parallelism and gives Teradata database high speed and linear scalability.
PDE is independent of OS like (MPRAS,Linux,Microsoft Windows) It can be able to the below task.
·         Run in parallel environment.
·         Execute VPROCs.
·         Consistently Manage Memory, I/O Messaging System Interface Across Multiple OS.
·         It performs dynamic Distribution of Database task.
·         It performs co-ordination of task execution within and between the nodes.