{"id":15102,"date":"2016-03-10T08:30:59","date_gmt":"2016-03-10T16:30:59","guid":{"rendered":"https:\/\/blogs.technet.microsoft.com\/dataplatforminsider\/?p=15102"},"modified":"2024-01-22T22:50:25","modified_gmt":"2024-01-23T06:50:25","slug":"mapping-the-universe-with-sql-server","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/","title":{"rendered":"Mapping the Universe with SQL Server"},"content":{"rendered":"<p><em>This blog post was co-authored by Joseph Sirosh, Corporate Vice President, and Rimma V. Nehme, Principal Software Engineer, at the Data Group at Microsoft.<\/em><\/p>\n<p>\u00a0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"Szalay quote\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Szalay-quote.png\" alt=\"Szalay quote\" width=\"610\" height=\"343\" border=\"0\" srcset=\"\"><em><span style=\"font-size: xx-small\">Figure 1: Visible objects of the Sloan Digital Sky Survey (SDSS) DR7 dataset.<\/span><\/em><\/p>\n<p>Over the last 15 years a database helped revolutionize an entire field of science. Astronomical discovery and sophisticated analyses of properties of the aggregate universe was turbocharged by a vast public mapping effort of the sky, called the Sloan Digital Sky Survey, whose data was served in a public database built with Microsoft SQL Server. This was the first in the field and opened up an entirely new window into the Universe.<\/p>\n<p align=\"right\"><img loading=\"lazy\" decoding=\"async\" style=\"float: right;padding-top: 0px;padding-left: 0px;margin: 3px 10px;padding-right: 0px;border-width: 0px\" title=\"The Fourth Paradigm\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/The-Fourth-Paradigm.png\" alt=\"The Fourth Paradigm\" width=\"213\" height=\"303\" align=\"right\" border=\"0\" srcset=\"\"><span style=\"font-size: xx-small\"><em>Figure 2: The Fourth Paradigm: Data-Intensive Scientific Discovery book dedicated to Jim Gray.<\/em><\/span><\/p>\n<p>Now scientists in every field, from astronomy to zoology, are recognizing that the rate of accumulation of data in their fields are greatly outstripping the rate of accumulation of interpretation, i.e. the rate at which the scientific community can assimilate data into an interpretive framework. And there\u2019s widespread recognition that powerful scientific discoveries lie hidden in such massive data. The Fourth Paradigm of scientific discovery, driven by novel techniques for analyzing massive data, is a driving force in science like never before.<\/p>\n<h2>Sloan Digital Sky Survey: The Cosmic Genome Project<\/h2>\n<p>It all started in the early 90\u2019s when Dr. Alex Szalay together with the late Dr. Jim Gray took on a daring endeavor to build what could be called the first \u201cDataScope\u201d \u2013 an efficient data intensive computing infrastructure for astronomers called the <a href=\"http:\/\/www.sdss.org\/\">Sloan Digital Sky Survey (SDSS)<\/a> using <a href=\"https:\/\/www.microsoft.com\/en-ca\/server-cloud\/products\/sql-server\/default.aspx?wt.mc_id=WW_CE_DM_OO_BLOG_NONE\">Microsoft SQL Server<\/a> as the back-end database.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"float: left;padding-top: 0px;padding-left: 0px;margin: 3px 10px;padding-right: 0px;border-width: 0px\" title=\"Super Computing\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Super-Computing.png\" alt=\"Super Computing\" width=\"360\" height=\"343\" align=\"left\" border=\"0\" srcset=\"\"><span style=\"font-size: xx-small\"><em>Figure 3: Jim Gray, Alex Szalay and other astronomers at Super Computing 2003<\/em><\/span><\/p>\n<p>SDSS had a bold goal \u2013 to create a map of the universe in a database for exploration by all. It is often referred to as the Cosmic Genome Project. A dedicated 2.5-m-diameter telescope in New Mexico used a 120-megapixel camera to image more than one-quarter of the entire night sky, 1.5 square degrees of sky at a time, about eight times the area of the full Moon, both inside and outside of the Milky Way, and helped create a three-dimensional (3D) map of millions of galaxies, quasars and stars.<\/p>\n<p>The SDSS maps sparked a revolution in the way astronomy is practiced. No longer did scientists have to wait months for access to a telescope to learn about the night sky; instead, entire research projects could be accomplished by querying the online database. The SDSS made its entire data set available through <a href=\"http:\/\/skyserver.sdss.org\/dr12\/en\/home.aspx\">SkyServer<\/a> database &#8211; an online portal for public use,\u00a0 and invited volunteer contributions to scienti\ufb01c research. Prior to SDSS, only the leading scientists and astronomers had telescopes and instruments to collect data for serious research, with most others largely excluded from direct and active engagement with astronomy. Now, with access to the visual data that SkyServer offers, anyone with Internet access could explore the universe with data just as the top scientists do.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"SDSSIV_MilkyWay\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/SDSSIV_MilkyWay.png\" alt=\"SDSSIV_MilkyWay\" width=\"360\" height=\"290\" border=\"0\" srcset=\"\"><span style=\"font-size: xx-small\"><em>Figure 4: SDSS-IV can view the whole Milky Way<\/em><\/span><\/p>\n<p>SkyServer&#8217;s architecture was fairly simple to start with: a front-end IIS web server accepted HTTP requests processed by JavaScript Active Server Pages (ASP). These scripts used Active Data Objects (ADO) to query the backend Microsoft SQL Server database. SQL Server returned record sets that the JavaScript formatted into pages. The website was about 40,000 lines of code and was originally built by two people as a spare-time activity.<\/p>\n<h2>Why Microsoft SQL Server?<\/h2>\n<p>While building applications to study the correlation properties of galaxies, Szalay and his team have discovered that many of the patterns in their statistical analysis involved tasks that were much better performed inside the database engine than outside, on flat files. The Microsoft SQL Server gave them high-speed sequential search of complex predicates using multiple CPUs, multiple disks and large main memories. It also had sophisticated indexing and data joining algorithms far outperforming hand-written programs against flat files. Many of the multi-day batch files were replaced with database queries that ran in minutes thanks to the sophisticated query optimizer.<\/p>\n<h2>Impact<\/h2>\n<p align=\"right\"><a href=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Sloan-Telescope_thumb.png\"><img loading=\"lazy\" decoding=\"async\" style=\"float: right;padding-top: 0px;padding-left: 0px;margin: 0px 10px;padding-right: 0px;border-width: 0px\" title=\"Sloan Telescope\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Sloan-Telescope_thumb.png\" alt=\"Sloan Telescope\" width=\"279\" height=\"360\" align=\"right\" border=\"0\" srcset=\"\"><\/a><br \/>\n<em><span style=\"font-size: xx-small\">Figure 5: Dr. Jim Gray in front of the Sloan telescope in Apache Point, NM<\/span><\/em><\/p>\n<p>The most recent version of the database has a 15TB queryable public dataset, with about 150TB additional raw and calibrated files. A recent scan of the logs showed more than 1.6 billion web hits in the past 14 years and more than four million distinct IP addresses accessing the site. The total number of professional astronomers worldwide is only about 15,000. Furthermore, the multiuser collaborative environment in SDSS called <a href=\"http:\/\/skyserver.sdss.org\/casjobs\/\">CasJobs<\/a> which allows users to launch extensive analyses has more than 6,820 registered users &#8211; almost half of the professional astronomy community.<\/p>\n<p>SDSS has been successful in generating new scienti\ufb01c discoveries, including the measurements of thousands of asteroids, maps of the complicated merger history of the outer Milky Way, and the \ufb01rst detection of the baryon acoustic peak &#8211; a measurement of how structure formed from ultra-low frequency standing sound waves in the early universe. These surveys have produced data to support 5,800 papers with more than 245,000 citations.\u00a0 This has made SDSS one of the highest impact projects in the field of astronomy.<\/p>\n<h2>SkyServer data<\/h2>\n<p>The amount of astronomical data in SkyServer is truly unprecedented. When the SDSS began in 1998, astronomers had data for less than 200,000 galaxies. Within five years after SDSS began, SkyServer had data on 200 million galaxies in the database. Today, the SDSS data exceeds 150 terabytes, covering more than 220 million galaxies and 260 million stars. The images alone include 2.5 trillion pixels of original raw data. SkyServer allows users to search for stars at a given position in the sky, or they can search for galaxies brighter than a certain limit. Users can also enter queries to the database in SQL directly, which allows more \ufb02exible and sophisticated searches.<\/p>\n<p>Examples of queries users can ask in SkyServer:<\/p>\n<ul>\n<li><em>What resources are in this part of the sky?<\/em><\/li>\n<li><em>What is the common area of these surveys?<\/em><\/li>\n<li><em>Is this point in the survey?<\/em><\/li>\n<li><em>Give me all objects in this region<\/em><\/li>\n<li><em>Give me all \u201cgood\u201d objects (exclude \u201cbad\u201d areas)<\/em><\/li>\n<li><em>Give me the cumulative counts over areas<\/em><\/li>\n<li><em>Compute fast spherical transforms of densities<\/em><\/li>\n<li><em>Interpolate sparsely sampled functions (extinction maps, dust temperature, \u2026)<\/em><\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"SkyServer\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/SkyServer.png\" alt=\"SkyServer\" width=\"285\" height=\"360\" border=\"0\" srcset=\"\"><em><span style=\"font-size: xx-small\">Figure 6: SkyServer portal<\/span><\/em><\/p>\n<h2>Galaxy Zoo<\/h2>\n<p>Another project that SDSS data access has enabled is a \u201ccitizen science\u201d website, called <a href=\"http:\/\/www.galaxyzoo.org\/\">Galaxy Zoo<\/a>, where Internet volunteers have classified galaxies using SDSS images. Typically, astronomers used to classify galaxies by eye. If you have 200 million galaxies, on average at three per minute, classification would take 600 million minutes or 1142 years of 24 hours per day, seven days per week. Galaxy Zoo was the first astronomy crowdsourcing portal which allowed private citizens to look at data by eye, and contribute classifications to scientists in a much shorter time.<\/p>\n<p align=\"right\"><img loading=\"lazy\" decoding=\"async\" style=\"float: right;padding-top: 0px;padding-left: 0px;margin: 3px 10px;padding-right: 0px;border-width: 0px\" title=\"Hannys Voorwerp\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Hannys-Voorwerp.png\" alt=\"Hannys Voorwerp\" width=\"277\" height=\"360\" align=\"right\" border=\"0\" srcset=\"\"><em><span style=\"font-size: xx-small\">Figure 7: Hanny&#8217;s Voorwerp. The mass (shown here in green) is a new cosmic object discovered by a Dutch school teacher, an astronomy novice, while using Galaxy Zoo.<\/span><\/em><\/p>\n<p>There have been a number of scientific discoveries using Galaxy Zoo including determination of the relation between the morphology of galaxies and their environment and the discovery by a Dutch school teacher of Hanny\u2019s Voorwerp \u2013 a very rare type of astronomical object called a quasar ionization echo. These discoveries would not have been possible without the participation of thousands of Galaxy Zoo volunteers &#8211; between them, they have visually classi\ufb01ed over 40 million galaxies to date.<\/p>\n<h2>From SkyServer to SciServer: Big Data infrastructure for science<\/h2>\n<p>A new effort called <a href=\"http:\/\/www.sciserver.org\/\">SciServer<\/a>, a descendant from SkyServer, aims to go beyond astronomy and build a long-term, flexible ecosystem for scientists to provide access to the enormous data sets from observations and simulation to enable collaborative research. SciServer aims to meet the challenges of Big Data in scientific world. By building a common infrastructure, the goal is to create data access and analysis tools useful to all areas of science. Led by Alex Szalay, the work on SciServer will deliver significant benefits to the scientific community by extending the infrastructure developed for SDSS astronomy data to many other areas of science.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"SciServer\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/SciServer.png\" alt=\"SciServer\" width=\"360\" height=\"250\" border=\"0\" srcset=\"\"><em><span style=\"font-size: xx-small\">Figure 8: SciServer: A collaborative research environment for large-scale data-driven science.<\/span><\/em><\/p>\n<p>The approach in designing SciServer is the same as in the SkyServer: bring the analysis to the data. This means that scientists can search and analyze Big Data without downloading terabytes or petabytes of data, resulting in much faster processing times. Bringing analysis to data also makes it much easier to compare and combine datasets allowing researchers to discover new and surprising connections between data and make experiments more reproducible.<\/p>\n<p>To help ease the burden on researchers, the team developed <a href=\"http:\/\/scitest09.pha.jhu.edu\/scidrive\/\">SciDrive<\/a>, a cloud data storage system for scientific data that allows scientists to upload and share data using a Dropbox-like interface. The interface automatically reads the data into a database, and one can search online and cross-correlate with other data sources. SciDrive tries to address the \u201clong tail\u201d of a huge number of small data sets that scientists have. The goal is to try bring many small, seemingly unrelated data to a single place and see if new value emerges. People can simply drag and drop (and share) their data without any metadata required.<\/p>\n<h2>In the heart of it all is SQL Server<\/h2>\n<p>SDSS team in collaboration with Jim Gray took on the enormous task of putting all of the astronomy data into SQL Server database, preserving as much provenance as possible, and making the data as accessible and query-able as possible.<\/p>\n<h2>Database logical design<\/h2>\n<p align=\"right\"><img loading=\"lazy\" decoding=\"async\" style=\"float: right;padding-top: 0px;padding-left: 0px;margin: 3px 10px;padding-right: 0px;border-width: 0px\" title=\"Dr. Alex Szalay\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Dr.-Alex-Szalay.png\" alt=\"Dr. Alex Szalay\" width=\"189\" height=\"236\" align=\"right\" border=\"0\" srcset=\"\"><em><span style=\"font-size: xx-small\">Figure 9: Dr. Alex Szalay<\/span><\/em><\/p>\n<p>The processed image data were stored in databases. The logical database design consisted of <em>photographic<\/em> and <em>spectrographic<\/em> objects. They were organized into a pair of snowflake schemas. Sub-setting views and many indices gave convenient and fast access to the conventional subsets (such as stars and galaxies). Procedures and indices were defined to make spatial lookups even more convenient and faster.<\/p>\n<h2>Database physical design<\/h2>\n<p>SkyServer initially took a simple approach to database design (see Figure 11 below) and it worked right from the beginning. The design counted on the SQL storage engine and the query optimizer to make all the intelligent decisions about data layout and data access. As Alex Szalay put it: \u201cGreat query optimizer made all the difference. Even \u2018the worst\u2019 query plans were actually quite good!\u201d<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"Schema\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Schema.png\" alt=\"Schema\" width=\"610\" height=\"393\" border=\"0\" srcset=\"\"><em><span style=\"font-size: xx-small\">Figure 11: The photoObj table at left is the center of one star schema describing photographic objects. The specObj table at right is the center of a star schema describing spectrograms and the extracted spectral lines. The photoObj and specObj tables are joined by objectId. Not shown are the dataConstants table that names the photoObj flags and tables that support web access and data loading.<\/span><\/em><\/p>\n<h2>\u201cIndexing the Sky\u201d<\/h2>\n<p>To speed up the access, the base tables were heavily indexed (these indices also benefited view access). In addition to the indices, the database design includes a fairly complete set of foreign key declarations to insure that every profile has an object; every object is within a valid field, and so on. The design also insisted that all fields were non-null.\u00a0 These integrity constraints were invaluable tools in detecting errors during loading and they aided tools that automatically navigated the databases.<\/p>\n<p>Beyond the file group striping (to automatically get the sum of the disk bandwidths without any special user effort), SkyServer used, for the most part, all of the SQL Server default values; there was not much special tuning. This is the hallmark of SQL Server \u2013 the system aims to have the out-of-the box performance to be great, and the SkyServer project has been a true testimonial to that goal.<\/p>\n<h2>Spatial data access<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"HTM\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/HTM.png\" alt=\"HTM\" width=\"610\" height=\"286\" border=\"0\" srcset=\"\"><em><span style=\"font-size: xx-small\">Figure 12: Hierarchical triangular mesh<\/span><\/em><\/p>\n<p><em>&#8220;Spatial was special.\u201d<\/em> Astronomers are particularly interested in executing spatial queries to obtain galactic clustering and large-scale structure of the universe. The common theme in SDSS experience was that it was possible to embed spatial concepts in a relational framework in a very simple manner. To make spatial area queries run quickly, SDSS team integrated the <em>hierarchical triangular mesh (HTM)<\/em> code with the SQL Server, which became a new \u201cspatial access method\u201d in the engine. HTM is a method to subdivide the surface of a sphere into spherical triangles of similar, but not identical, shapes and sizes. It is basically a quad-tree that is particularly good at supporting searches at different resolutions, from arc seconds to hemispheres. The HTM library was an external stored procedure wrapped in a table-valued stored procedure spHTM_Cover(&lt;area&gt;).<\/p>\n<p>So all the users had to do was to simply invoke the procedure call similar to this:\u00a0 select * from spHTM_Cover(\u2018Circle J2000 12 5.5 60.2 1\u2019) which would return the table with four rows, each row defining the start and end of a 12-deep HTM triangle like below.<\/p>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"187\">HTMIDstart<\/td>\n<td valign=\"top\" width=\"191\">HTMIDend<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"187\">3,3,2,0,0,1,0,0,1,3,2,2,2,0<\/td>\n<td valign=\"top\" width=\"191\">3,3,2,0,0,1,0,0,1,3,2,2,2,1<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"187\">3,3,2,0,0,1,0,0,1,3,2,2,2,2<\/td>\n<td valign=\"top\" width=\"191\">3,3,2,0,0,1,0,0,1,3,2,2,3,0<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"187\">3,3,2,0,0,1,0,0,1,3,2,3,0,0<\/td>\n<td valign=\"top\" width=\"191\">3,3,2,0,0,1,0,0,1,3,2,3,1,0<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"187\">3,3,2,0,0,1,0,0,1,3,2,3,3,1<\/td>\n<td valign=\"top\" width=\"191\">3,3,2,0,0,1,0,0,1,3,3,0,0,0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Another optimization technique used by SkyServer was the zoning idea (segmenting space into zone buckets and then segmenting zones by an offset). The main idea behind zoning was to try to push the logic entirely into SQL (the zone code was all native to SQL), which allowed the query optimizer to do a very efficient job at filtering the objects.\u00a0 In particular, the zone design gave a three-fold speedup for the table-valued functions.<\/p>\n<h2>CLR support<\/h2>\n<p>integration of .NET common language runtime (CLR) with SQL Server in 2005 enabled astronomers to implement user code that runs inside the database server process. CLR was in particular a very important feature to SDSS as it gave astronomers the ability to write astronomy-specific logic in the form of user-defined functions, aggregates and stored procedures to build critical science functionality and run the compiled code in the database. As Alex put it, \u201cSupport for object-oriented types made a dramatic change for SkyServer.\u201d<\/p>\n<h2>SQL queries<\/h2>\n<p>Astronomers wanted a tool that would be able to quickly answer questions like: <em>\u201cfind asteroid candidates\u201d<\/em> or \u201cfind other objects like this one\u201d, which originally gave the motive to build the SQL-based backend. Indeed, right from the beginning Jim Gray asked Alex Szalay to define <a href=\"http:\/\/www.sdss.jhu.edu\/SQL\/SQLQueries.html\">20 typical queries<\/a> astronomers might want to ask and then together they designed the SkyServer database to answer those queries. The anecdote is that the conversation went as follows:<\/p>\n<p><span style=\"background-color: #cccccc\"><strong>Jim:<\/strong> What are the 20 questions you want to ask?<br \/>\n<strong>Alex:<\/strong> Astronomers want to ask anything! Not just 20 queries.<br \/>\n<strong>Jim:<\/strong> Ok, start with 5 queries.<br \/>\n<span style=\"color: #0000ff\"><span style=\"color: #4f81bd\">[it took Alex 30 minutes to write them all down]<\/span><br \/>\n<\/span><strong>Jim:<\/strong> Ok, add another 5 queries.<br \/>\n<span style=\"color: #4f81bd\">[it took Alex 1 hour to write them all down]<\/span><br \/>\n<strong>Jim:<\/strong> Ok, now add another 5 queries.<br \/>\n<span style=\"color: #4f81bd\">[Alex gave up and went home to think about them]<\/span><br \/>\n\u2026<br \/>\n<strong>Alex (said later):<\/strong> In 1.5 hours, Jim taught me a lot of humility!<br \/>\n\u2026<br \/>\n<strong>Alex (said later):<\/strong> It also taught us the importance of long-tail distribution and how to prioritize.<\/span><\/p>\n<p>The queries corresponded to typical tasks astronomers would do. Translating the queries into SQL required a good understanding of astronomy, a good understanding of SQL, and a good understanding of the databases. As Alex put it: \u201cWe were surprised and pleased to discover that all 20 queries had fairly simple SQL equivalents.\u201d Below is one of the query examples used in SkyServer to detect asteroids:<\/p>\n<p><strong>Q: Provide a list of moving objects consistent with an asteroid.<\/strong><\/p>\n<pre class=\"prettyprint\"> select\tobjID,  \t\t\t\t\t       -- return object ID\t\n \tsqrt( power(rowv,2) + power(colv, 2) ) as velocity, -\u2013 velocity\n\tdbo.fGetUrlExpId(objID) as Url\t\t       -- url of image to examine it.\n into  ##results\n from\tPhotoObj  \t\t\t\t\t       -- check each object.\n where (power(rowv,2) + power(colv, 2)) between 50 and 1000\t-- square of velocity \n   and rowv &gt;= 0 and colv &gt;=0\t\t\t\t       -- negative values indicate error<\/pre>\n<p>This is a sequential scan of the PhotoObj table to evaluate the predicate on each of the objects. It finds asteroid candidates. Here is a picture of one of such objects:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"Asteroid Candidate\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Asteroid-Candidate.png\" alt=\"Asteroid Candidate\" width=\"206\" height=\"105\" border=\"0\" srcset=\"\"><\/p>\n<p>Above query returns \u2018slow moving\u2019 objects. To find fast moving objects one can write a slightly different query which looks for streaks in the sky that line up. These streaks are not close enough to be identified as a single object.<\/p>\n<pre class=\"prettyprint\">SELECT r.objID as rId, g.objId as gId,   \n                 dbo.fGetUrlExpEq(g.ra, g.dec) as url \nFROM PhotoObj r, PhotoObj g\nWHERE  r.run = g.run and r.camcol=g.camcol _    and abs(g.field-r.field)&lt;2  -- nearby\n       -- the red selection criteria\n       and ((power(r.q_r,2) + power(r.u_r,2)) &gt; 0.111111 )\n       and r.fiberMag_r between 6 and 22 \nand r.fiberMag_r &lt; r.fiberMag_g \nand r.fiberMag_r &lt; r.fiberMag_i\n       and r.parentID=0 and r.fiberMag_r &lt; r.fiberMag_u      \nand r.fiberMag_r &lt; r.fiberMag_z\n       -- the green selection criteria\n       and ((power(g.q_g,2) + power(g.u_g,2)) &gt; 0.111111 )\n       and g.fiberMag_g between 6 and 22 and g.fiberMag_g &lt; g.fiberMag_r\nand g.fiberMag_g &lt; g.fiberMag_i\n       and g.fiberMag_g &lt; g.fiberMag_u and g.fiberMag_g &lt; g.fiberMag_z\n       and g.parentID=0 \n       -- the matchup of the pair\n       and sqrt(power(r.cx -g.cx,2)+ power(r.cy-g.cy,2)+power(r.cz-g.cz,2))*(10800\/PI())&lt; 4.0\n       and abs(r.fiberMag_r-g.fiberMag_g)&lt; 2.0_\n \nAnd you can also add a third query\n\nselect  top 10 ra, dec, (rowv*rowv + colv*colv ) as velocityVector, *\nfrom PhotoObj\nwhere \n-- object SATURATED | BRIGHT | BLENDED and object DEBLENDED_AS_MOVING\n(flags &amp; (\n       cast(0x0000000000040000 as bigint) |  \n    cast(0x0000000000000002 as bigint) | \n    cast(0x0000000000000008 as bigint) ) ) = 0 \nAND (flags &amp; cast(0x0000000100000000 as bigint)) &gt; 0 \n-- PSF magnitude \/ psfCount r  r range between 14.5 and 21.5\nAND type = 6\nAND (psfMag_r &gt; 14.5)\nand (psfMag_r &lt; 21.5)\n-- veolocity vector larger than 0.05 deg\/day and smaller than 0.5 deg\/day.\nAND (rowv*rowv + colv*colv &gt; 0.0025)\nAND (rowv*rowv + colv*colv &lt; 0.25)\nAnd dec &gt; -1.25 \nAND dec &lt; 1.25\n-- Limit to specific part of the Stripe-82 region\nAND (ra &gt; 300 or ra &lt; 60)\norder by (rowv*rowv + colv*colv ) desc\n<\/pre>\n<p>Here is a picture of one of such \u2018faster moving\u2019 objects:<\/p>\n<p><a href=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Fast-Moving-Objects_thumb.png\"><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"Fast Moving Objects\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Fast-Moving-Objects_thumb.png\" alt=\"Fast Moving Objects\" width=\"250\" height=\"112\" border=\"0\" srcset=\"\"><\/a><\/p>\n<p>When asked about T-SQL, one of the astronomers said that it was \u2018almost like English\u2019 to them, and they could easily understand what was going on. Another astronomer put it: \u201cSQL can serve as a \u2018helpdesk\u2019 \u2013 if somebody has a problem, another person can answer the question when query is sent to them.\u201d A graphical query plan that\u2019s viewable before submitting an MS-SQL query provided details on which query steps would take the largest fraction of execution time and\u2014in most cases\u2014 gave users all the information necessary to improve query performance.<\/p>\n<h2>Hardware configuration<\/h2>\n<p>The configuration for multiple release support in SDSS is shown in Figure 12 below. DR12 (the latest release) DB servers have the following hardware configuration today:<\/p>\n<ul>\n<li>Total data size: 12 TB<\/li>\n<li>Number of filegroups: Two (Primary has 8 files, Secondary has one file, see Figure 13)<\/li>\n<li>Servers: Four identical nodes with one copy of DB on each<\/li>\n<li>System manufacturer: Supermicro<\/li>\n<li>System type: x64-based PC<\/li>\n<li>Processor(s): Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz (2 processors)<\/li>\n<li>Logical cores: 32<\/li>\n<li>Physical CPUs: 2<\/li>\n<li>Total physical memory: 128 GB<\/li>\n<li>HDD size: 3.0 TB<\/li>\n<li>Total HDDs: 24<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"HardwareConfig\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/HardwareConfig.png\" alt=\"HardwareConfig\" width=\"610\" height=\"422\" border=\"0\" srcset=\"\"><em><span style=\"font-size: xx-small\">Figure 13: DR12 Hardware configuration at JHU for SDSS Servers.<\/span><\/em><\/p>\n<p>In the production cluster, there are three to four DB servers per release, so that the public and collaboration users can be adequately supported, and the queries can be load-balanced on different boxes. Quick and long queries are pointed to separate servers.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"padding-top: 0px;padding-left: 0px;padding-right: 0px;border-width: 0px\" title=\"Database Properties\" src=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Database-Properties.png\" alt=\"Database Properties\" width=\"610\" height=\"273\" border=\"0\" srcset=\"\"><em><span style=\"font-size: xx-small\">Figure 14: DR12 database properties<\/span><\/em><\/p>\n<h2>Conclusion<\/h2>\n<p>\u201cWhen we started working on SDSS, we had fun, and we were hoping people will use it. Working with SQL Server was fun, but astronomy is also fun\u201d &#8211; said Alex Szalay. Science is increasingly driven by data (big and small), combined with changing sociology \u2013 surveys today are analyzed by individuals from all over the world, not just by a few experts. The move from hypothesis-driven to data-driven science is a reality, and the SQL Server-powered SDSS is the first true \u201ctelescope\u201d for data that has made the vision of a \u2018DataScope\u2019 a reality.<\/p>\n<p>\u00a0<\/p>\n<p>Joseph &amp; Rimma<br \/>\nFollow Joseph on twitter <a href=\"https:\/\/twitter.com\/josephsirosh\">@josephsirosh<\/a>, and Rimma at <a href=\"https:\/\/twitter.com\/rimmanehme\">@rimmanehme.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This blog post was co-authored by Joseph Sirosh, Corporate Vice President, and Rimma V. Nehme, Principal Software Engineer, at the Data Group at Microsoft. \u00a0 Figure 1: Visible objects of the Sloan Digital Sky Survey (SDSS) DR7 dataset. Over the last 15 years a database helped revolutionize an entire field of science.<\/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":[],"content-type":[2445],"topic":[],"coauthors":[2487],"class_list":["post-15102","post","type-post","status-publish","format-standard","hentry","content-type-thought-leadership"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mapping the Universe with SQL Server - 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\/2016\/03\/10\/mapping-the-universe-with-sql-server\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mapping the Universe with SQL Server - Microsoft SQL Server Blog\" \/>\n<meta property=\"og:description\" content=\"This blog post was co-authored by Joseph Sirosh, Corporate Vice President, and Rimma V. Nehme, Principal Software Engineer, at the Data Group at Microsoft. \u00a0 Figure 1: Visible objects of the Sloan Digital Sky Survey (SDSS) DR7 dataset. Over the last 15 years a database helped revolutionize an entire field of science.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/\" \/>\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=\"2016-03-10T16:30:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-23T06:50:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Szalay-quote.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=\"13 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\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/\"},\"author\":[{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/author\/sql-server-team\/\",\"@type\":\"Person\",\"@name\":\"SQL Server Team\"}],\"headline\":\"Mapping the Universe with SQL Server\",\"datePublished\":\"2016-03-10T16:30:59+00:00\",\"dateModified\":\"2024-01-23T06:50:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/\"},\"wordCount\":2935,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Szalay-quote.png\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/\",\"name\":\"Mapping the Universe with SQL Server - 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\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Szalay-quote.png\",\"datePublished\":\"2016-03-10T16:30:59+00:00\",\"dateModified\":\"2024-01-23T06:50:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#primaryimage\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Szalay-quote.png\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Szalay-quote.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mapping the Universe with SQL Server\"}]},{\"@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":"Mapping the Universe with SQL Server - 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\/2016\/03\/10\/mapping-the-universe-with-sql-server\/","og_locale":"en_US","og_type":"article","og_title":"Mapping the Universe with SQL Server - Microsoft SQL Server Blog","og_description":"This blog post was co-authored by Joseph Sirosh, Corporate Vice President, and Rimma V. Nehme, Principal Software Engineer, at the Data Group at Microsoft. \u00a0 Figure 1: Visible objects of the Sloan Digital Sky Survey (SDSS) DR7 dataset. Over the last 15 years a database helped revolutionize an entire field of science.","og_url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/","og_site_name":"Microsoft SQL Server Blog","article_publisher":"http:\/\/www.facebook.com\/sqlserver","article_published_time":"2016-03-10T16:30:59+00:00","article_modified_time":"2024-01-23T06:50:25+00:00","og_image":[{"url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Szalay-quote.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":"13 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#article","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/"},"author":[{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/author\/sql-server-team\/","@type":"Person","@name":"SQL Server Team"}],"headline":"Mapping the Universe with SQL Server","datePublished":"2016-03-10T16:30:59+00:00","dateModified":"2024-01-23T06:50:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/"},"wordCount":2935,"commentCount":4,"publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Szalay-quote.png","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/","url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/","name":"Mapping the Universe with SQL Server - 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\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#primaryimage"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Szalay-quote.png","datePublished":"2016-03-10T16:30:59+00:00","dateModified":"2024-01-23T06:50:25+00:00","breadcrumb":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#primaryimage","url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Szalay-quote.png","contentUrl":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2016\/03\/Szalay-quote.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2016\/03\/10\/mapping-the-universe-with-sql-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/"},{"@type":"ListItem","position":2,"name":"Mapping the Universe with SQL Server"}]},{"@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\/15102","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=15102"}],"version-history":[{"count":0,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/posts\/15102\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/media?parent=15102"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/post_tag?post=15102"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/product?post=15102"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/content-type?post=15102"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/topic?post=15102"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/coauthors?post=15102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}