{"id":863,"date":"2014-07-30T09:00:00","date_gmt":"2014-07-30T16:00:00","guid":{"rendered":"https:\/\/blogs.technet.microsoft.com\/dataplatforminsider\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/"},"modified":"2024-01-22T22:48:50","modified_gmt":"2024-01-23T06:48:50","slug":"transitioning-from-smp-to-mpp-the-why-and-the-how","status":"publish","type":"post","link":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/","title":{"rendered":"Transitioning from SMP to MPP, the why and the how"},"content":{"rendered":"<p><em>This blog post was authored by: Sahaj Saini, PM on the Microsoft Analytics Platform System (APS) team.<\/em><i><\/i><\/p>\n<p>In this blog post, we\u2019ll provide a quick overview of Symmetric Multi-Processing (SMP) vs. Massively Parallel Processing (MPP) systems, how to identify triggers for migrating from SMP to MPP, key considerations when moving to Microsoft Analytics Platform System (APS), and a discussion about how to take advantage of the power of an MPP solution such as APS.<\/p>\n<p>Let us begin with a scenario. Emma is the Database Administrator at Adventure Works Cycles, a bicycle manufacturing company. At Adventure Works, Emma and her team are using traditional SQL Server SMP as their data warehousing solution. The company has been growing rapidly and with growing competition in the bicycle industry, the business analysts at Adventure Works Cycles would like quicker insight into their data. Emma is now facing the following challenges with the SMP deployment \u2013<\/p>\n<ul>\n<li>\n<b>High Data Volume and Data Growth: <\/b>With increasing sales and a growing customer base, the data volume has grown rapidly to cross 10 TB.<\/li>\n<li>\n<b>Longer Data Loading\/ETL times: <\/b>With the need to produce daily reports to management, Emma finds the current ETL speed inadequate to intake and process the increasing quantity of data flowing from other OLTP and non-relational systems.<\/li>\n<li>\n<b>Slow Query Execution: <\/b>Query execution times are slowing down due to the increase of data and it is becoming increasingly difficult to generate insights for daily reporting in a timely manner.<\/li>\n<li>\n<b>Long Cube Processing Time: <\/b>With the current cube processing time, it is difficult to meet the real-time reporting needs of the company.<\/li>\n<\/ul>\n<p>In order to overcome these challenges, Emma and her team evaluate the purchase of a larger, expensive and more powerful set of server and storage hardware to their datacenter. This approach would solve their problem but only for the short-term as the data growth is expected to explode in the next 12 months. With data growth that Adventure Works is expecting to see, even the bigger and more powerful SMP solutions would hit a wall very quickly. Emma would like to see a solution that scales as their data needs grow.<\/p>\n<h1>What\u2019s the difference between SMP and MPP?<\/h1>\n<p>Before we jump into solving Emma\u2019s problems, let\u2019s quickly define what SMP and MPP are. Symmetric Multi-Processing (SMP) is a tightly coupled multiprocessor system where processors share resources \u2013 single instances of the Operating System (OS), memory, I\/O devices and connected using a common bus. SMP is the primary parallel architecture employed in servers and is depicted in the following image.<\/p>\n<p><a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-1.jpg\" original-url=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-60-54\/dpi_2D00_jul30_2D00_1.jpg\"><img decoding=\"async\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-1.jpg\" original-url=\"http:\/\/blogs.technet.com\/resized-image.ashx\/__size\/550x0\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-60-54\/dpi_2D00_jul30_2D00_1.jpg\" border=\"0\" alt=\" \" srcset=\"\"><\/a><\/p>\n<p>Massively Parallel Processing (MPP) is the coordinated processing of a single task by multiple processors, each processor using its own OS and memory and communicating with each other using some form of messaging interface. MPP can be setup with a shared nothing or shared disk architecture.<\/p>\n<p>In a shared nothing architecture, there is no single point of contention across the system and nodes do not share memory or disk storage. Data is horizontally partitioned across nodes, such that each node has a subset of rows from each table in the database. Each node then processes only the rows on its own disks. Systems based on this architecture can achieve massive scale as there is no single bottleneck to slow down the system. This is what Emma is looking for.<\/p>\n<p>MPP with shared-nothing architecture is depicted in the following image.<\/p>\n<p><a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-2.jpg\" original-url=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-60-54\/dpi_2D00_jul30_2D00_2.jpg\"><img decoding=\"async\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-2.jpg\" original-url=\"http:\/\/blogs.technet.com\/resized-image.ashx\/__size\/550x0\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-60-54\/dpi_2D00_jul30_2D00_2.jpg\" border=\"0\" alt=\" \" srcset=\"\"><\/a><\/p>\n<p>Microsoft Parallel Data Warehouse (PDW) running on a <a href=\"http:\/\/cm-edgetun.pages.dev\/aps?WT.mc_id=Blog_SQL_General_DI\">Microsoft Analytics Platform System<\/a> appliance is implemented as an MPP shared-nothing architecture. It consists of one control node and storage attached compute nodes inter-connected by Ethernet and Infiniband. The control node hosts the PDW engine \u2013 the brains of the MPP system \u2013 that creates parallel query plans, co-ordinates query execution on compute nodes, and data aggregation across the entire appliance. All nodes, including control and compute, host a Data Movement Service (DMS) to transfer data between nodes.<\/p>\n<p>For more details on PDW architecture, you can read the <a href=\"\/sqlserver\/2014\/05\/20\/architecture-of-the-microsoft-analytics-platform-system\/?WT.mc_id=Blog_SQL_General_DI\">Architecture of the Microsoft Analytics Platform System<\/a> post.<\/p>\n<h1>Transitioning to MPP<\/h1>\n<p>To realize the value offered by MPP, Emma and her team purchase a Microsoft APS appliance and begin transitioning to MPP. Let\u2019s take a look at how they adapt their solution to take full advantage of APS\u2019s shared nothing MPP architecture.<\/p>\n<h2>Table Design<\/h2>\n<p>As previously mentioned, APS is based on a shared nothing MPP architecture which means that nodes are self-sufficient and do not share memory or disks. The architecture, therefore, requires you to distribute your large tables across nodes to get the benefits of the massively parallel processing. APS allows the definition of a table as either distributed or replicated. The decision to choose one versus the other depends on the volume of data and the need for access to all of the data on a single node.<\/p>\n<h3>Distributed Tables<\/h3>\n<p>A distributed table is one where row data within the table is distributed across the nodes within the appliance to allow for massive scale. Each row ends up in a one distribution in one compute node as depicted by the image below.<\/p>\n<p><a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-3.jpg\" original-url=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-60-54\/dpi_2D00_jul30_2D00_3.jpg\"><img decoding=\"async\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-3.jpg\" original-url=\"http:\/\/blogs.technet.com\/resized-image.ashx\/__size\/550x0\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-60-54\/dpi_2D00_jul30_2D00_3.jpg\" border=\"0\" alt=\" \" srcset=\"\"><\/a><\/p>\n<p>To take advantage of the distributed nature of APS, Emma modifies the large tables, typically Fact and large dimension tables, to be distributed in APS as follows:<\/p>\n<pre>CREATE TABLE [dbo].[FactInternetSales]\r\n(\r\n  [ProductKey] [int] NOT NULL,\r\n  [OrderDateKey] [int] NOT NULL,\r\n  .\r\n  .\r\n  [ShipDate] [datetime] NULL\r\n) \r\nWITH\r\n(\r\n  DISTRIBUTION = HASH(ProductKey),\r\nCLUSTERED COLUMNSTORE INDEX\r\n);<\/pre>\n<p>As you can see, this is a typical DDL statement for table creation with a minor addition for distributed tables. Tables are distributed by a deterministic hash function applied to the Distribution Column chosen for that table. Emma chooses <i>Product Key<\/i> as the distribution column in the <i>FactInternetSales<\/i> table because of the high cardinality and absence of skew, therefore distributing the table evenly across nodes.<\/p>\n<h3>Replicated Tables<\/h3>\n<p>If all tables were distributed, however, it would require a great deal of data movement between nodes before performing join operations for all operations. Therefore, for smaller dimension tables such as language, countries etc. it makes sense to replicate the entire table on each compute node. That is to say, the benefits of enabling local join operations with these tables outweigh the cost of extra storage consumed. A replicated table is one that is replicated across all compute nodes as depicted below.<\/p>\n<p><a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-4.jpg\" original-url=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-60-54\/dpi_2D00_jul30_2D00_4.jpg\"><img decoding=\"async\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-4.jpg\" original-url=\"http:\/\/blogs.technet.com\/resized-image.ashx\/__size\/550x0\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-60-54\/dpi_2D00_jul30_2D00_4.jpg\" border=\"0\" alt=\" \" srcset=\"\"><\/a><\/p>\n<p>Emma designs the small tables, typically dimension tables, to be replicated as follows:<\/p>\n<pre> CREATE TABLE [dbo].[DimDate](\r\n  [DateKey] [int] NOT NULL,\r\n  .\r\n  .\r\n  [SpanishDayNameOfWeek] [nvarchar](10) NOT NULL,\r\n)\r\nWITH\r\n(\r\nCLUSTERED COLUMNSTORE INDEX\r\n);<\/pre>\n<p>By appropriately designing distributed and replicated tables, Emma aligns her solution with common MPP design best practices and enables efficient processing of high volumes of data. For example, a query against 100 billion rows in a SQL Server SMP environment would require the processing of all of the data in a single execution space. With MPP, the work is spread across many nodes to break the problem into more manageable and easier ways to execute tasks. In a four node appliance (see the picture above), each node is only asked to process roughly 25 billion rows \u2013 a much quicker task. As a result, Emma observes significant improvements to the query execution time and her business can now make better decisions, faster. Additionally, Emma can grow the data warehouse to anywhere from a few terabytes to over 6 petabytes of data in by adding \u201cscale units\u201d to APS.<\/p>\n<h2>Data Loading<\/h2>\n<p>With SQL Server SMP, Emma and her team were using ETL processes via a set of SSIS packages to load data into the data warehouse \u2013 (1) Extracting data from the OLTP and other systems; (2) Transforming the data into dimensional format; and (3) Loading the data to target dimension or fact tables in the Data Warehouse. With increasing volumes of data, the SSIS sever in the middle becomes a bottleneck while performing transformations, resulting in slow data loading.<\/p>\n<p><a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-5.png\" original-url=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-60-54\/dpi_2D00_jul30_2D00_5.png\"><img decoding=\"async\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-5.png\" original-url=\"http:\/\/blogs.technet.com\/resized-image.ashx\/__size\/550x0\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-60-54\/dpi_2D00_jul30_2D00_5.png\" border=\"0\" alt=\" \" srcset=\"\"><\/a><\/p>\n<p>With APS, Emma and her team can use ELT instead, to Extract the data from the OLTP and other systems and Load it to a staging location on APS. Then, the data can be Transformed into dimensional format not with SSIS but with the APS Engine utilizing the distributed nature of the appliance and the power of parallel processing. In a 4-node appliance, four servers would be doing the transformations on subsets of data versus the single node SSIS server.<\/p>\n<p><a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-6.png\" original-url=\"http:\/\/blogs.technet.com\/cfs-file.ashx\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-60-54\/dpi_2D00_jul30_2D00_6.png\"><img decoding=\"async\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-6.png\" original-url=\"http:\/\/blogs.technet.com\/resized-image.ashx\/__size\/550x0\/__key\/communityserver-blogs-components-weblogfiles\/00-00-00-60-54\/dpi_2D00_jul30_2D00_6.png\" border=\"0\" alt=\" \" srcset=\"\"><\/a><\/p>\n<p>This parallel processing results in a significant boost in data loading performance. Emma can then use the Create Table As Select (CTAS) statement to create the table from the staging table as follows.<\/p>\n<pre>CREATE TABLE [dbo].[DimCustomer] \r\nWITH\r\n(\r\n  CLUSTERED COLUMN INDEX,\r\n  DISTRIBUTION = HASH (CustomerKey)\r\n)\r\nAS\r\nSELECT * FROM [staging].[DimCustomer];<\/pre>\n<p>By switching to an ELT process, Emma utilizes the parallel processing power of APS to see performance gains in data loading.<\/p>\n<p>In conclusion, Emma and her team have found answers to their SMP woes with MPP. They can now feel confident handling the data volume and growth at Adventure Works with the ability to scale the data warehouse as needed. With ELT and the power of parallel processing in APS, they can load data into APS faster and within the expected time-window. And by aligning with APS\u2019s MPP design, they can achieve breakthrough query performance, allowing for real-time reporting and insight into their data.<\/p>\n<p>Visit the <a href=\"http:\/\/cm-edgetun.pages.dev\/aps?WT.mc_id=Blog_SQL_General_DI\">Analytics Platform System<\/a> page to access more resources including:\u00a0 datasheet, video, solution brief, and more..<\/p>\n<p>To learn more about migration from <a href=\"http:\/\/cm-edgetun.pages.dev\/en-us\/server-cloud\/products\/analytics-platform-system\/deploy.aspx?WT.mc_id=Blog_SQL_General_DI\">SQL Server to the Analytics Platform System<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This blog post was authored by: Sahaj Saini, PM on the Microsoft Analytics Platform System (APS) team. In this blog post, we\u2019ll provide a quick overview of Symmetric Multi-Processing (SMP) vs.<\/p>\n","protected":false},"author":1457,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[],"product":[],"content-type":[2424,2448],"topic":[],"coauthors":[2487],"class_list":["post-863","post","type-post","status-publish","format-standard","hentry","content-type-best-practices","content-type-updates","review-flag-1593580427-503","review-flag-1-1593580431-15","review-flag-2-1593580436-981","review-flag-3-1593580441-293","review-flag-4-1593580446-456","review-flag-6-1593580457-144","review-flag-anywh-1593580318-7"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Transitioning from SMP to MPP, the why and the how - Microsoft SQL Server Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Transitioning from SMP to MPP, the why and the how - Microsoft SQL Server Blog\" \/>\n<meta property=\"og:description\" content=\"This blog post was authored by: Sahaj Saini, PM on the Microsoft Analytics Platform System (APS) team. In this blog post, we\u2019ll provide a quick overview of Symmetric Multi-Processing (SMP) vs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft SQL Server Blog\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/sqlserver\" \/>\n<meta property=\"article:published_time\" content=\"2014-07-30T16:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-23T06:48:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-1.jpg\" \/>\n<meta name=\"author\" content=\"SQL Server Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SQLServer\" \/>\n<meta name=\"twitter:site\" content=\"@SQLServer\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"SQL Server Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/\"},\"author\":[{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/author\/sql-server-team\/\",\"@type\":\"Person\",\"@name\":\"SQL Server Team\"}],\"headline\":\"Transitioning from SMP to MPP, the why and the how\",\"datePublished\":\"2014-07-30T16:00:00+00:00\",\"dateModified\":\"2024-01-23T06:48:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/\"},\"wordCount\":1512,\"commentCount\":5,\"publisher\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-1.jpg\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/\",\"url\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/\",\"name\":\"Transitioning from SMP to MPP, the why and the how - Microsoft SQL Server Blog\",\"isPartOf\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-1.jpg\",\"datePublished\":\"2014-07-30T16:00:00+00:00\",\"dateModified\":\"2024-01-23T06:48:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#primaryimage\",\"url\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-1.jpg\",\"contentUrl\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-1.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transitioning from SMP to MPP, the why and the how\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#website\",\"url\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/\",\"name\":\"Microsoft SQL Server Blog\",\"description\":\"Official News from Microsoft\u2019s Information Platform\",\"publisher\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#organization\",\"name\":\"Microsoft SQL Server Blog\",\"url\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"contentUrl\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Microsoft SQL Server Blog\"},\"image\":{\"@id\":\"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"http:\/\/www.facebook.com\/sqlserver\",\"https:\/\/x.com\/SQLServer\",\"https:\/\/www.youtube.com\/user\/MSCloudOS\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Transitioning from SMP to MPP, the why and the how - Microsoft SQL Server Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/","og_locale":"en_US","og_type":"article","og_title":"Transitioning from SMP to MPP, the why and the how - Microsoft SQL Server Blog","og_description":"This blog post was authored by: Sahaj Saini, PM on the Microsoft Analytics Platform System (APS) team. In this blog post, we\u2019ll provide a quick overview of Symmetric Multi-Processing (SMP) vs.","og_url":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/","og_site_name":"Microsoft SQL Server Blog","article_publisher":"http:\/\/www.facebook.com\/sqlserver","article_published_time":"2014-07-30T16:00:00+00:00","article_modified_time":"2024-01-23T06:48:50+00:00","og_image":[{"url":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-1.jpg","type":"","width":"","height":""}],"author":"SQL Server Team","twitter_card":"summary_large_image","twitter_creator":"@SQLServer","twitter_site":"@SQLServer","twitter_misc":{"Written by":"SQL Server Team","Est. reading time":"6 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#article","isPartOf":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/"},"author":[{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/author\/sql-server-team\/","@type":"Person","@name":"SQL Server Team"}],"headline":"Transitioning from SMP to MPP, the why and the how","datePublished":"2014-07-30T16:00:00+00:00","dateModified":"2024-01-23T06:48:50+00:00","mainEntityOfPage":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/"},"wordCount":1512,"commentCount":5,"publisher":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#organization"},"image":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#primaryimage"},"thumbnailUrl":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-1.jpg","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/","url":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/","name":"Transitioning from SMP to MPP, the why and the how - Microsoft SQL Server Blog","isPartOf":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#primaryimage"},"image":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#primaryimage"},"thumbnailUrl":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-1.jpg","datePublished":"2014-07-30T16:00:00+00:00","dateModified":"2024-01-23T06:48:50+00:00","breadcrumb":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#primaryimage","url":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-1.jpg","contentUrl":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/dpi-jul30-1.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/2014\/07\/30\/transitioning-from-smp-to-mpp-the-why-and-the-how\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/"},{"@type":"ListItem","position":2,"name":"Transitioning from SMP to MPP, the why and the how"}]},{"@type":"WebSite","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#website","url":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/","name":"Microsoft SQL Server Blog","description":"Official News from Microsoft\u2019s Information Platform","publisher":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#organization","name":"Microsoft SQL Server Blog","url":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Microsoft SQL Server Blog"},"image":{"@id":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/www.facebook.com\/sqlserver","https:\/\/x.com\/SQLServer","https:\/\/www.youtube.com\/user\/MSCloudOS"]}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"_links":{"self":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/posts\/863","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/users\/1457"}],"replies":[{"embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/comments?post=863"}],"version-history":[{"count":0,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/posts\/863\/revisions"}],"wp:attachment":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/media?parent=863"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/post_tag?post=863"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/product?post=863"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/content-type?post=863"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/topic?post=863"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/coauthors?post=863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}