{"id":21505,"date":"2017-12-13T09:00:15","date_gmt":"2017-12-13T17:00:15","guid":{"rendered":""},"modified":"2024-01-22T22:51:08","modified_gmt":"2024-01-23T06:51:08","slug":"bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/","title":{"rendered":"Bring clarity to complex data with graph databases on SQL Server 2017"},"content":{"rendered":"<p>SQL Server 2017, in addition to processing relational data, now fully integrates with graph database models, all on the same familiar system. This will bring clarity to the increasing amounts of data businesses generate every day.\n<\/p>\n<h2>What\u2019s the difference between graph and relational databases?<\/h2>\n<p>Relational databases, like SQL Server, use foreign keys to manage relationships between entities and tables. Foreign keys adequately query one-to-many relationships; however, as relationships between various data entities become more complex, queries also become more complex and performance may diminish as a result.<\/p>\n<p>In these cases, developers may opt for graph database models to manage complex relationships and enable operational agility. In a graph database, edges are heterogeneous in nature\u2014a single edge can be used to connect different type of nodes to each other. This is not easy to achieve using foreign keys in a relational database. For example, consider a social graph where a person (node) likes another person\u00a0(edge) or organization (node) or restaurant (node). Here the same \u2018likes\u2019 edge is used to connect three different types of nodes and entities to each other\u2014person to person; person to organization; and person to restaurant.<\/p>\n<h2>So, how do graph databases work?<\/h2>\n<p>Graph databases are comprised of a collection of nodes and edges. Nodes represent a given entity (a noun), while edges (a verb) represent the relationship between the two nodes they connect. For example, pitcher Randy Johnson (node) faces (edge) batter John Kruk (node).<\/p>\n<h2>When do you choose a graph database model over a relational model?<\/h2>\n<p>While graph and relational schema are capable of achieving the same ends, graph models make it easier to express certain queries. Since it&#8217;s easier to manage many-to-many relationships, graph models are better suited for applications where relationships between data entities are the focus. They&#8217;re also better for applications that need to traverse connected data sources to generate insights, such as applications with hierarchical data where the queries may involve traversing the hierarchies. Graph databases allow you to express traversal or navigation queries easily, using join-free pattern matching.<\/p>\n<h2>The T-SQL Graph extension offers the best of both worlds.<\/h2>\n<p>If you&#8217;ve already licensed SQL Server 2017, there&#8217;s no need to purchase a second system to manage more complex database needs. SQL Server 2017 fully integrates with Transact-SQL (T-SQL) to create and query graph objects. Maintain your existing SQL Server database and benefit from pairing graph capabilities with other SQL Server technologies like columnstore, HA, R services, and others. SQL graph database also supports all the security and compliance features available with SQL Server.<\/p>\n<p><a href=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/sql-server-downloads\">Download and try SQL Server 2017<\/a> on the platform of your choice today, and see for yourself.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SQL Server 2017, in addition to processing relational data, now fully integrates with graph database models, all on the same familiar system. This will bring clarity to the increasing amounts of data businesses generate every day.<\/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,2406],"content-type":[2424],"topic":[2451,2475],"coauthors":[2487],"class_list":["post-21505","post","type-post","status-publish","format-standard","hentry","product-sql","product-sql-server-2017","content-type-best-practices","topic-big-data","topic-oltp-database-management"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Bring clarity to complex data with graph databases on SQL Server 2017 - 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\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bring clarity to complex data with graph databases on SQL Server 2017 - Microsoft SQL Server Blog\" \/>\n<meta property=\"og:description\" content=\"SQL Server 2017, in addition to processing relational data, now fully integrates with graph database models, all on the same familiar system. This will bring clarity to the increasing amounts of data businesses generate every day.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/\" \/>\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=\"2017-12-13T17:00:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-23T06:51:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/08\/cropped-microsoft_logo_element.png\" \/>\n\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/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=\"2 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\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/\"},\"author\":[{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/author\/sql-server-team\/\",\"@type\":\"Person\",\"@name\":\"SQL Server Team\"}],\"headline\":\"Bring clarity to complex data with graph databases on SQL Server 2017\",\"datePublished\":\"2017-12-13T17:00:15+00:00\",\"dateModified\":\"2024-01-23T06:51:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/\"},\"wordCount\":452,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/\",\"name\":\"Bring clarity to complex data with graph databases on SQL Server 2017 - Microsoft SQL Server Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#website\"},\"datePublished\":\"2017-12-13T17:00:15+00:00\",\"dateModified\":\"2024-01-23T06:51:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bring clarity to complex data with graph databases on SQL Server 2017\"}]},{\"@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":"Bring clarity to complex data with graph databases on SQL Server 2017 - 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\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/","og_locale":"en_US","og_type":"article","og_title":"Bring clarity to complex data with graph databases on SQL Server 2017 - Microsoft SQL Server Blog","og_description":"SQL Server 2017, in addition to processing relational data, now fully integrates with graph database models, all on the same familiar system. This will bring clarity to the increasing amounts of data businesses generate every day.","og_url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/","og_site_name":"Microsoft SQL Server Blog","article_publisher":"http:\/\/www.facebook.com\/sqlserver","article_published_time":"2017-12-13T17:00:15+00:00","article_modified_time":"2024-01-23T06:51:08+00:00","og_image":[{"width":512,"height":512,"url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/08\/cropped-microsoft_logo_element.png","type":"image\/png"}],"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":"2 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/#article","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/"},"author":[{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/author\/sql-server-team\/","@type":"Person","@name":"SQL Server Team"}],"headline":"Bring clarity to complex data with graph databases on SQL Server 2017","datePublished":"2017-12-13T17:00:15+00:00","dateModified":"2024-01-23T06:51:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/"},"wordCount":452,"commentCount":0,"publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization"},"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/","url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/","name":"Bring clarity to complex data with graph databases on SQL Server 2017 - Microsoft SQL Server Blog","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#website"},"datePublished":"2017-12-13T17:00:15+00:00","dateModified":"2024-01-23T06:51:08+00:00","breadcrumb":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2017\/12\/13\/bring-clarity-to-complex-data-with-graph-databases-on-sql-server-2017\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/"},{"@type":"ListItem","position":2,"name":"Bring clarity to complex data with graph databases on SQL Server 2017"}]},{"@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\/21505","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=21505"}],"version-history":[{"count":0,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/posts\/21505\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/media?parent=21505"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/post_tag?post=21505"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/product?post=21505"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/content-type?post=21505"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/topic?post=21505"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/coauthors?post=21505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}