Fast Focus: SQL Server Graph Database & Processing
Graph DB Support in SQL
Karen has 20+ years of data an data architecture experience on
large, multi-project programs.
She is a frequent speaker on data modeling, data-driven
methodologies and pattern data models.
She wants you to love your data.
CREATETABLE Person (ID INTEGER PRIMARY KEY, NameVARCHAR(100), Age INT)
CREATETABLE friends (StartDate date) AS EDGE;
-- Find friends of John
FROM Person Person1, Friends, Person Person2
AND Person1.Name = 'John';
• A new MATCH function is required to support graph style pattern
• For example, suppose in the graph example above, we want to find all my
friends who like a given restaurant.
• This can be done using the MATCH function and graph_search_pattern,
which make use of ASCII art style arrows (-->)
• Match is only inWHERE clause currently
• Example: People who like a restaurant
Pattern matching will be
supported using ASCII
art style arrows (-->)
The syntax for graph
search pattern provided
as input to MATCH
function would be as
Local or global temporary tables cannot be node or
Table types and table variables cannot be declared as
a node or edge table.
Node and edge tables cannot be created as system-
versioned temporal tables.
Node and edge tables cannot be memory optimized
Users cannot update the $from_id and $to_id
columns of an edge using UPDATE statement.
Cross database queries on graph objects are not
Collaboration and sharing
Friend of friend recommendations
Discover Unique relationships
• Dynamic networks can be challenging
• Dense connections
• Complex queries
Impact analysis and network planning
IT infrastructure management
• Highly interrelated elements
• Non-linear and non-hierarchial relationships
• Growing physical and virtual nodes
Fraud Detection & Forensics
Detecting and Stopping Fraud
Data scrutiny with data
• Complex Data Relationships
• Needs great real-time performance
• Evolving and dynamic targets
Your Master Data
is a Graph: AreYou
10Tips for Data Pros
1. Understand the use cases for graph technologies
2. Evaluate/profile your data requirements for suitability for
graph databases and/or graph processing
3. Understand the licensing/editions for commercial
4. ACID support varies across products.You’ll want to test
your use cases.
5. Your query data stories will guide your decisions
10+Tips for Architects
6. Test your current development tools for support
7. Test your database design/data modeling tools
8. Leverage your existing metadata/models
9. True hierarchies areVERY RARE in the real world.
10.Know the questions you have to ask about all the
11.Keep asking those questions and don’t stop at “but that’s