{"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&#8230; <\/p>\n","protected":false},"author":48,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_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}]}}