{"id":27313,"date":"2022-02-22T11:49:00","date_gmt":"2022-02-22T11:49:00","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=27313"},"modified":"2022-12-23T06:48:52","modified_gmt":"2022-12-23T06:48:52","slug":"teradata-basics","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/teradata-basics\/","title":{"rendered":"Teradata Basics"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"major-components-of-teradata\">Major Components of Teradata:<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Parsing Engine<\/strong><\/li><li><strong>The Message Passing Layer (MPL)<\/strong><\/li><li><strong>Access Module Processor (AMP)<\/strong><\/li><li><strong>Virtual Disk<\/strong><\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"parsing-engines-pe\">Parsing Engines (PE)<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Manage sessions for users<\/li><li>Parse, optimize, and send your request to the AMPs as execution steps<\/li><li>Returns answer set response back to clientMessage Passing Layer (MPL)<\/li><li>Allows PEs and AMPs to communicate with each other<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"access-module-processors-amp\">Access Module Processors (AMP)<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Owns and manages its storage<\/li><li>Performs the steps sent by the PEs<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"virtual-disks-vdisk\">Virtual Disks (Vdisk)<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Space owned by the AMP and is used to hold user data (rows within tables).<\/li><li>Maps to physical space in a disk array.<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"399\" height=\"513\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/image-56.png\" alt=\"\" class=\"wp-image-27315\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/image-56.png 399w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/image-56-233x300.png 233w\" sizes=\"auto, (max-width: 399px) 100vw, 399px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"teradata-storage-architecture\">Teradata Storage Architecture<\/h2>\n\n\n\n<p>How Teradata database store the data  <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The Parsing Engine dispatches request to insert a row.<\/li><li>The Message Passing Layer ensures that a row gets to the appropriate AMP (Access Module Processor).<\/li><li>AMP stores the row on its associated (logical) disk.<\/li><li>An AMP manages a logical or virtual disk which is mapped to multiple physical.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"509\" height=\"493\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/image-57.png\" alt=\"\" class=\"wp-image-27317\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/image-57.png 509w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/image-57-300x291.png 300w\" sizes=\"auto, (max-width: 509px) 100vw, 509px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"teradata-retrieval-architecture\">Teradata Retrieval Architecture<\/h2>\n\n\n\n<p>How Teradata database retrieval the data  (Rows retrieval from Table)<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The Parsing Engine dispatches a request to retrieve one or more rows.<\/li><li>The Message Passing Layer ensures that the appropriate AMP(s) are activated.<\/li><li>The AMP(s)locate and retrieve desired row(s) in parallel access.<\/li><li>Message Passing Layer returns the retrieved rows to PE. The PE returns row(s) to requesting client application<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"509\" height=\"500\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/image-58.png\" alt=\"\" class=\"wp-image-27319\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/image-58.png 509w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/image-58-300x295.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/02\/image-58-80x80.png 80w\" sizes=\"auto, (max-width: 509px) 100vw, 509px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"teradata-objects\">Teradata Objects<\/h2>\n\n\n\n<p>Below are the list of objects contains in Teradata database or User:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Tables<\/strong>\u2013rows and columns of data<\/li><li><strong>Views<\/strong>\u2013predefined subsets of existing tables<\/li><li><strong>Macros<\/strong>\u2013predefined, stored SQL statements<\/li><li><strong>Triggers<\/strong>\u2013SQL statements associated with a table<\/li><li><strong>Stored Procedures<\/strong>\u2013program stored within Teradata<\/li><li><strong>User-Defined Function<\/strong>\u2013function (C program) to provide additional SQL functionality<\/li><li><strong>Join and Hash Indexes <\/strong>\u2013separate index structures stored as objects within a database<\/li><li><strong>Permanent Journals<\/strong>\u2013table used to store before and\/or after images for recovery<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"important-note\"><strong>Important Note:<\/strong> <\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Objects which require permanent spaces are:- <strong>Tables , Triggers, Stored Procedures, User-Defined Function, Join and Hash Indexes &amp; Permanent Journals<\/strong><\/li><li> Objects which not require permanent spaces are:- <strong>Macros<\/strong> &amp; <strong>Views<\/strong><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Join and Hash Indexes <\/strong> and <strong>Permanent Journals<\/strong> &#8211; These aren&#8217;t directly accessed by users (these will be explained in details in another blog)<\/li><li>These objects are created, maintained, and deleted using <strong>SQL<\/strong>.<\/li><li>Object definitions are stored in the <strong>DD\/D<\/strong>.<\/li><\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Major Components of Teradata: Parsing Engine The Message Passing Layer (MPL) Access Module Processor (AMP) Virtual Disk Parsing Engines (PE) Manage sessions for users Parse, optimize, and send your request to the AMPs as execution steps Returns answer set response back to clientMessage Passing Layer (MPL) Allows PEs and AMPs to communicate with each other&#8230;<\/p>\n","protected":false},"author":48,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[7338],"tags":[],"class_list":["post-27313","post","type-post","status-publish","format-standard","hentry","category-teradata"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/27313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=27313"}],"version-history":[{"count":2,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/27313\/revisions"}],"predecessor-version":[{"id":27340,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/27313\/revisions\/27340"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=27313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=27313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=27313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}