{"id":14551,"date":"2015-12-09T09:00:00","date_gmt":"2015-12-09T17:00:00","guid":{"rendered":""},"modified":"2024-01-22T22:52:18","modified_gmt":"2024-01-23T06:52:18","slug":"real-time-operational-analytics-using-in-memory-technology","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/","title":{"rendered":"Real-Time Operational Analytics Using In-Memory Technology"},"content":{"rendered":"<p>Operational workloads refer to the business transactions that are critical to running a business. For example, a retail store has a transactional system to create or modify new orders, and a credit card company tracks all charges made by vendors on behalf of its customers. These transactional systems are critical to businesses, as any downtime or slowdown will have a direct impact on the business\u2019s bottom line. Therefore, these systems are designed for performance\/scalability and configured with high availability. Equally important to operational workload are the analytics that business use to answers questions such as, \u201cWhat is the average time to fulfill an order?\u201d<\/p>\n<p>Most customers implement analytics by setting up a Data Warehouse on a different machine similar to the configuration described in my recent <a href=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/08\/speeding-up-business-analytics-using-in-memory-technology?wt.mc_id=WW_CE_DM_OO_BLOG_NONE\">post<\/a> on using In-Memory technology with periodic flow of data through ETL (Extract, Transform and Load) from operational system to Data Warehouse. This approach of optimizing\/isolating operational and analytics workloads has served well, but there are some drawbacks:<\/p>\n<ul>\n<li>\n<strong>Data Latency:<\/strong> At best, the data for analytics is as current as of the last ETL job. If the ETL job moves data once a day, your analytic queries are running on data up to 24 hours behind. More businesses are demanding analytics on live data to better support operations. For example, a retail chain could run analytics on transactional data to track real-time product sales and use this knowledge to offer discounts or replenish inventory in a timely fashion.<\/li>\n<li>\n<strong>Complexity:<\/strong> Migrating data from operational data can be complex. For example, identifying what has changed since the last ETL operation is often difficult.<\/li>\n<li>\n<strong>Cost:<\/strong> You need to setup a separate server to host the Data Warehouse, which means another license for a database server and the overhead of creating and maintaining the ETL application.<\/li>\n<\/ul>\n<h1>Solution<\/h1>\n<p>Real-Time Operational Analytics in SQL Server 2016 enables running analytics queries directly on your operational workload using columnstore indexes. The image below shows one possible configuration using Analysis Server in Direct Query mode, but you can use any analytics tool or custom solution at your disposal. This solution addresses the drawbacks mentioned above since the analysis happens directly on the operational data.<\/p>\n<p><a href=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/3618.OLTP20Workload.png\"><img loading=\"lazy\" decoding=\"async\" width=\"450\" height=\"439\" style=\"border-color:currentColor;margin-right:auto;margin-left:auto\" alt=\" \" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/3618.OLTP20Workload.png\" srcset=\"\"><\/a>For real-time operational analytics, take these steps:<\/p>\n<ul>\n<li>Identify the operational table(s) and the columns you need to run analytics on. This can be either a disk-based or memory-optimized table or both.<\/li>\n<li>Create the columnstore index on the tables identified. Note, starting with SQL Server 2016, the nonclustered columnstore index is now updateable. Your operational workload continues to work as before <em>without requiring any application changes<\/em>.<\/li>\n<li>Set up Analytics framework\u00a0to source\u00a0data directly from the\u00a0operational store. SQL Server query optimizer will automatically choose the\u00a0columnstore index as needed for analytics queries.<\/li>\n<\/ul>\n<p>Not all workloads will fit this model. For example, a separate Data Warehouse is still needed if data needs to be aggregated from multiple sources for analytics.<\/p>\n<p>While real-time operational analytics is promising, one may question its impact on the operational workload while delivering high performance analysis.<\/p>\n<h1>Minimizing impact of Operational Workload<\/h1>\n<p>SQL Server 2016 provides options to minimize the impact on operational workload as follows:<\/p>\n<ul>\n<li>\n<strong>Filtered Columnstore Index: <\/strong>For many operational workloads, the data is \u2018hot\u2019 (i.e. target of DML operations) only for a short time, and then it transitions to a \u2018warm\u2019 or \u2018cold\u2019 state. For example, consider an online retail vendor where customers browse a catalog and place orders, and then these orders are shipped. An order is \u2018hot\u2019 while it is going through the steps of being processed, but once it is shipped it transitions into a \u2018cold\u2019 state since it may never get updated. This eliminates the overhead of maintaining the columnstore index on the \u2018hot\u2019 data. However, when an Analytics query is run; SQL Server generates the query plan to access the rows both from columnstore index as well as the ones that have been filtered out. SQL Server allows you to create a columnstore index with a filtered condition as shown in the example below:<\/p>\n<p><span style=\"font-family:courier new,courier\"><span style=\"color:#0000ff\">create nonclustered columnstore index<\/span> &lt;<span style=\"color:#0000ff\">index<\/span>-name&gt; <span style=\"color:#0000ff\">on<\/span> Orders (&lt;list <span style=\"color:#0000ff\">of<\/span> columms&gt;) <span style=\"color:#0000ff\">where<\/span> order_status = <span style=\"color:#ff0000\">&#8216;Shipped&#8217;<\/span><\/span><\/p>\n<\/li>\n<li>\n<strong>Offloading Analytics Queries to Readable Secondary:<\/strong> As mentioned earlier, most operational workloads are mission critical and are likely to have high availability configured using AlwaysOn. You can choose to offload the analytics workload to readable secondary to minimize impact on the primary replica as shown in the picture below.<\/li>\n<\/ul>\n<h1>\n<a href=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/4774.Real-time20Analytics_Minimizing20Columnstore20overhead.png\"><img loading=\"lazy\" decoding=\"async\" width=\"550\" height=\"222\" style=\"border-color:currentColor;margin-right:auto;margin-left:auto\" alt=\" \" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/4774.Real-time20Analytics_Minimizing20Columnstore20overhead.png\" srcset=\"\"><\/a>Analytics query performance<\/h1>\n<p>Running analytics on an operational schema, which is highly normalized, will not be as performant compared to say running it on the schema optimized for analytics (<a href=\"https:\/\/en.wikipedia.org\/wiki\/Star_schema\">Star schema<\/a>). However, using a columnstore index does speed up analytics query performance significantly to compensate for extra complexity (more joins) in the query.<\/p>\n<p>Microsoft Dynamics AX, currently in <a href=\"http:\/\/news.microsoft.com\/2015\/11\/19\/microsoft-dynamics-ax-delivers-the-power-of-the-cloud-to-businesses\/?wt.mc_id=WW_CE_DM_OO_BLOG_NONE\">public preview<\/a>, leverages SQL 2016 with real time operational analytics.<\/p>\n<h1>Summary<\/h1>\n<p>SQL Server 2016 supports real-time operational analytics both on disk-based and memory-optimized tables so that you can leverage it without any changes to your applications. With memory-optimized and columnstore combination, you get the best of OLTP performance and analytics query performance. <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/dn817827.aspx?wt.mc_id=WW_CE_DM_OO_BLOG_NONE\">Columnstore Indexes for Real-Time Operational Analytics<\/a> provides more detail about this solution.<\/p>\n<p><a href=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/01\/get-the-most-out-of-sql-server-2016?wt.mc_id=WW_CE_DM_OO_BLOG_NONE\">See the other posts in the SQL Server 2016 blogging series.<\/a><\/p>\n<\/p>\n<p><a href=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/DPI-Blog_RC_Button1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-14851\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/DPI-Blog_RC_Button1.png\" alt=\"Try SQL Server 2016 RC\" width=\"300\" height=\"57\" srcset=\"\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Operational workloads refer to the business transactions that are critical to running a business. For example, a retail store has a transactional system to create or modify new orders, and a credit card company tracks all charges made by vendors on behalf of its customers.<\/p>\n","protected":false},"author":1457,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[],"product":[5227,2403],"content-type":[2424],"topic":[2463,2475],"coauthors":[],"class_list":["post-14551","post","type-post","status-publish","format-standard","hentry","product-sql","product-sql-server-2016","content-type-best-practices","topic-data-warehousing","topic-oltp-database-management","review-flag-1593580427-503","review-flag-disco-1593580348-616","review-flag-lever-1593580264-545","review-flag-never-1593580314-843","review-flag-new-1593580247-437","review-flag-publi-1593580761-761"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Real-Time Operational Analytics Using In-Memory Technology - 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:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Real-Time Operational Analytics Using In-Memory Technology - Microsoft SQL Server Blog\" \/>\n<meta property=\"og:description\" content=\"Operational workloads refer to the business transactions that are critical to running a business. For example, a retail store has a transactional system to create or modify new orders, and a credit card company tracks all charges made by vendors on behalf of its customers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/\" \/>\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=\"2015-12-09T17:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-23T06:52:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/3618.OLTP20Workload.png\" \/>\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=\"3 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/\"},\"author\":[{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/author\/sql-server-team\/\",\"@type\":\"Person\",\"@name\":\"SQL Server Team\"}],\"headline\":\"Real-Time Operational Analytics Using In-Memory Technology\",\"datePublished\":\"2015-12-09T17:00:00+00:00\",\"dateModified\":\"2024-01-23T06:52:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/\"},\"wordCount\":869,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/3618.OLTP20Workload.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/\",\"name\":\"Real-Time Operational Analytics Using In-Memory Technology - Microsoft SQL Server Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/3618.OLTP20Workload.png\",\"datePublished\":\"2015-12-09T17:00:00+00:00\",\"dateModified\":\"2024-01-23T06:52:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#primaryimage\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/3618.OLTP20Workload.png\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/3618.OLTP20Workload.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Real-Time Operational Analytics Using In-Memory Technology\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#website\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/\",\"name\":\"Microsoft SQL Server Blog\",\"description\":\"Official News from Microsoft\u2019s Information Platform\",\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.microsoft.com\/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:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization\",\"name\":\"Microsoft SQL Server Blog\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"contentUrl\":\"https:\/\/www.microsoft.com\/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:\/\/www.microsoft.com\/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":"Real-Time Operational Analytics Using In-Memory Technology - 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:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/","og_locale":"en_US","og_type":"article","og_title":"Real-Time Operational Analytics Using In-Memory Technology - Microsoft SQL Server Blog","og_description":"Operational workloads refer to the business transactions that are critical to running a business. For example, a retail store has a transactional system to create or modify new orders, and a credit card company tracks all charges made by vendors on behalf of its customers.","og_url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/","og_site_name":"Microsoft SQL Server Blog","article_publisher":"http:\/\/www.facebook.com\/sqlserver","article_published_time":"2015-12-09T17:00:00+00:00","article_modified_time":"2024-01-23T06:52:18+00:00","og_image":[{"url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/3618.OLTP20Workload.png","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":"3 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#article","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/"},"author":[{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/author\/sql-server-team\/","@type":"Person","@name":"SQL Server Team"}],"headline":"Real-Time Operational Analytics Using In-Memory Technology","datePublished":"2015-12-09T17:00:00+00:00","dateModified":"2024-01-23T06:52:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/"},"wordCount":869,"commentCount":0,"publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/3618.OLTP20Workload.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/","url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/","name":"Real-Time Operational Analytics Using In-Memory Technology - Microsoft SQL Server Blog","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#primaryimage"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/3618.OLTP20Workload.png","datePublished":"2015-12-09T17:00:00+00:00","dateModified":"2024-01-23T06:52:18+00:00","breadcrumb":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#primaryimage","url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/3618.OLTP20Workload.png","contentUrl":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/03\/3618.OLTP20Workload.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2015\/12\/09\/real-time-operational-analytics-using-in-memory-technology\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/"},{"@type":"ListItem","position":2,"name":"Real-Time Operational Analytics Using In-Memory Technology"}]},{"@type":"WebSite","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#website","url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/","name":"Microsoft SQL Server Blog","description":"Official News from Microsoft\u2019s Information Platform","publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microsoft.com\/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:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization","name":"Microsoft SQL Server Blog","url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/www.microsoft.com\/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:\/\/www.microsoft.com\/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:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/posts\/14551","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/users\/1457"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/comments?post=14551"}],"version-history":[{"count":0,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/posts\/14551\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/media?parent=14551"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/post_tag?post=14551"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/product?post=14551"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/content-type?post=14551"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/topic?post=14551"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/coauthors?post=14551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}