{"id":81417,"date":"2020-06-30T10:00:56","date_gmt":"2020-06-30T17:00:56","guid":{"rendered":""},"modified":"2025-06-24T11:17:53","modified_gmt":"2025-06-24T18:17:53","slug":"hyperspace-indexing-subsystem-apache-spark-now-open-source","status":"publish","type":"post","link":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/","title":{"rendered":"Hyperspace, an indexing subsystem for Apache Spark\u2122, is now open source"},"content":{"rendered":"\n<p>For Microsoft&#8217;s internal teams and external customers, we store datasets that span from a few GBs to 100s of PBs in our data lake. The scope of analytics on these datasets ranges from traditional batch-style queries (e.g., OLAP) to explorative \u201dfinding the needle in a haystack\u201d type of queries (e.g., point-lookups, summarization).<\/p>\n\n\n\n<p>Resorting to linear scans of these large datasets with huge clusters for every simple query is prohibitively expensive and not the top choice for many of our customers, who are constantly exploring ways to reducing their operational costs \u2013 incurring unchecked expenses are their worst nightmares. Over the years, we have seen a huge demand for bringing indexing capabilities that come de facto in the traditional database systems world into <a href=\"http:\/\/spark.apache.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Apache Spark\u2122<\/a>. Today, we are making this possible by releasing an indexing subsystem for Apache Spark called <a href=\"https:\/\/github.com\/microsoft\/hyperspace\" target=\"_blank\" rel=\"noopener noreferrer\">Hyperspace<\/a> \u2013 the same technology that powers indexing within <a href=\"https:\/\/azure.microsoft.com\/en-us\/free\/synapse-analytics\/\" target=\"_blank\" rel=\"noopener noreferrer\">Azure Synapse Analytics<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/github.com\/microsoft\/hyperspace\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/06\/Hyperspace-slide-with-an-overview-of-project-features.png\" alt=\"Hyperspace slide with an overview of project features\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>At a high-level, Hyperspace offers users the ability to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Build indexes on your data (e.g., CSV, JSON, Parquet).<\/li>\n\n\n\n<li>Maintain the indexes through a multi-user concurrency model.<\/li>\n\n\n\n<li>Leverage these indexes automatically, within your Spark workloads, without any changes to your application code for query\/workload acceleration.<\/li>\n<\/ul>\n\n\n\n<p>When running test queries derived from industry-standard TPC benchmarks (Test-H and Test-DS) over 1 TB of Parquet data, we have seen Hyperspace deliver up to 11x acceleration in query performance for individual queries. We ran all benchmark derived queries using open source Apache Spark\u2122 2.4 running on a 7-node Azure E8 V3 cluster (7 executors, each executor having 8 cores and 47 GB memory) and a scale factor of 1000 (i.e., 1 TB data).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/06\/Hyperspace-chart-with-queries-derived-from-TPC-Benchmark.png\" alt=\"Hyperspace chart with queries derived from TPC Benchmark\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/06\/Hyperspace-chart-with-queries-derived-from-TPC-Benchmark-Test-DS-top-20.png\" alt=\"Hyperspace chart with queries derived from TPC Benchmark Test-DS top 20\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Overall, we have seen an approximate 2x and 1.8x acceleration in query performance time, respectively, all using commodity hardware.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2020\/06\/Chart-of-Hyperspace-Acceleration.png\" alt=\"hyperspace acceleration graph\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>To learn more about Hyperspace, check out our recent presentation at <a href=\"https:\/\/databricks.com\/session_na20\/hyperspace-an-indexing-subsystem-for-apache-spark\" target=\"_blank\" rel=\"noopener noreferrer\">Spark + AI Summit 2020<\/a> and stay tuned for more articles on this blog in the coming weeks.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"learn-more-and-explore-hyperspace\">Learn more and explore Hyperspace:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Check out the Hyperspace code on <a href=\"https:\/\/github.com\/microsoft\/hyperspace\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a>.<\/li>\n\n\n\n<li>Ready to try this out? Check out <a href=\"https:\/\/github.com\/microsoft\/hyperspace\/blob\/master\/README.md\" target=\"_blank\" rel=\"noopener noreferrer\">getting started<\/a> guidance.<\/li>\n\n\n\n<li>Feel like contributing? Start with the current outstanding <a style=\"background-color: #ffffff;font-size: 1.4rem\" href=\"https:\/\/github.com\/microsoft\/hyperspace\/issues\" target=\"_blank\" rel=\"noopener noreferrer\">issues<\/a><span style=\"font-size: 1.4rem\">.<\/span><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>For Microsoft&#8217;s internal teams and external customers, we store datasets that span from a few GBs to 100s of PBs in our data lake. The scope of analytics on these datasets ranges from traditional batch-style queries (e.g., OLAP) to explorative \u201dfinding the needle in a haystack\u201d type of queries (e.g., point-lookups, summarization).<\/p>\n","protected":false},"author":5562,"featured_media":95487,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"msxcm_post_with_no_image":false,"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[2272],"content-type":[346],"topic":[2238,2239,2241],"programming-languages":[],"coauthors":[747],"class_list":["post-81417","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-microsoft","content-type-news","topic-ai-machine-learning","topic-analytics","topic-cloud","review-flag-1593580428-734","review-flag-1593580419-521","review-flag-1-1593580432-963","review-flag-2-1593580437-411","review-flag-4-1593580448-609","review-flag-7-1593580463-151","review-flag-8-1593580468-572","review-flag-lever-1593580265-989"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hyperspace, an indexing subsystem for Apache Spark\u2122, is now open source | Microsoft Open Source Blog<\/title>\n<meta name=\"description\" content=\"Microsoft is releasing an indexing subsystem for Apache Spark called Hyperspace \u2013 the same technology that powers indexing within Azure Synapse Analytics.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hyperspace, an indexing subsystem for Apache Spark\u2122, is now open source | Microsoft Open Source Blog\" \/>\n<meta property=\"og:description\" content=\"Microsoft is releasing an indexing subsystem for Apache Spark called Hyperspace \u2013 the same technology that powers indexing within Azure Synapse Analytics.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Open Source Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-30T17:00:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-24T18:17:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1170\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Rahul Potharaju\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:site\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rahul Potharaju\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/\"},\"author\":[{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/author\/rahul-potharaju\/\",\"@type\":\"Person\",\"@name\":\"Rahul Potharaju\"}],\"headline\":\"Hyperspace, an indexing subsystem for Apache Spark\u2122, is now open source\",\"datePublished\":\"2020-06-30T17:00:56+00:00\",\"dateModified\":\"2025-06-24T18:17:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/\"},\"wordCount\":354,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp\",\"keywords\":[\"Microsoft\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/\",\"name\":\"Hyperspace, an indexing subsystem for Apache Spark\u2122, is now open source | Microsoft Open Source Blog\",\"isPartOf\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp\",\"datePublished\":\"2020-06-30T17:00:56+00:00\",\"dateModified\":\"2025-06-24T18:17:53+00:00\",\"description\":\"Microsoft is releasing an indexing subsystem for Apache Spark called Hyperspace \u2013 the same technology that powers indexing within Azure Synapse Analytics.\",\"breadcrumb\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#primaryimage\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp\",\"width\":1170,\"height\":640},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/opensource.microsoft.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hyperspace, an indexing subsystem for Apache Spark\u2122, is now open source\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#website\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"name\":\"Microsoft Open Source Blog\",\"description\":\"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability\",\"publisher\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#organization\",\"name\":\"Microsoft Open Source Blog\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"contentUrl\":\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Microsoft Open Source Blog\"},\"image\":{\"@id\":\"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/OpenAtMicrosoft\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hyperspace, an indexing subsystem for Apache Spark\u2122, is now open source | Microsoft Open Source Blog","description":"Microsoft is releasing an indexing subsystem for Apache Spark called Hyperspace \u2013 the same technology that powers indexing within Azure Synapse Analytics.","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:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/","og_locale":"en_US","og_type":"article","og_title":"Hyperspace, an indexing subsystem for Apache Spark\u2122, is now open source | Microsoft Open Source Blog","og_description":"Microsoft is releasing an indexing subsystem for Apache Spark called Hyperspace \u2013 the same technology that powers indexing within Azure Synapse Analytics.","og_url":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/","og_site_name":"Microsoft Open Source Blog","article_published_time":"2020-06-30T17:00:56+00:00","article_modified_time":"2025-06-24T18:17:53+00:00","og_image":[{"width":1170,"height":640,"url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.png","type":"image\/png"}],"author":"Rahul Potharaju","twitter_card":"summary_large_image","twitter_creator":"@OpenAtMicrosoft","twitter_site":"@OpenAtMicrosoft","twitter_misc":{"Written by":"Rahul Potharaju","Est. reading time":"1 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#article","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/"},"author":[{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/rahul-potharaju\/","@type":"Person","@name":"Rahul Potharaju"}],"headline":"Hyperspace, an indexing subsystem for Apache Spark\u2122, is now open source","datePublished":"2020-06-30T17:00:56+00:00","dateModified":"2025-06-24T18:17:53+00:00","mainEntityOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/"},"wordCount":354,"commentCount":0,"publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp","keywords":["Microsoft"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/","url":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/","name":"Hyperspace, an indexing subsystem for Apache Spark\u2122, is now open source | Microsoft Open Source Blog","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#primaryimage"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp","datePublished":"2020-06-30T17:00:56+00:00","dateModified":"2025-06-24T18:17:53+00:00","description":"Microsoft is releasing an indexing subsystem for Apache Spark called Hyperspace \u2013 the same technology that powers indexing within Azure Synapse Analytics.","breadcrumb":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#primaryimage","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/STB13_Julian_07.webp","width":1170,"height":640},{"@type":"BreadcrumbList","@id":"https:\/\/opensource.microsoft.com\/blog\/2020\/06\/30\/hyperspace-indexing-subsystem-apache-spark-now-open-source\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.microsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Hyperspace, an indexing subsystem for Apache Spark\u2122, is now open source"}]},{"@type":"WebSite","@id":"https:\/\/opensource.microsoft.com\/blog\/#website","url":"https:\/\/opensource.microsoft.com\/blog\/","name":"Microsoft Open Source Blog","description":"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability","publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/opensource.microsoft.com\/blog\/#organization","name":"Microsoft Open Source Blog","url":"https:\/\/opensource.microsoft.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Microsoft Open Source Blog"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/OpenAtMicrosoft"]}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Open Source Blog","distributor_original_site_url":"https:\/\/opensource.microsoft.com\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/81417","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/users\/5562"}],"replies":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=81417"}],"version-history":[{"count":1,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/81417\/revisions"}],"predecessor-version":[{"id":97661,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/81417\/revisions\/97661"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media\/95487"}],"wp:attachment":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=81417"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/post_tag?post=81417"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/content-type?post=81417"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/topic?post=81417"},{"taxonomy":"programming-languages","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/programming-languages?post=81417"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/coauthors?post=81417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}