dmm212 – sap hana graph processing

29
Public DMM212 – SAP HANA Graph Processing: Information and Demonstration

Upload: luc-vanrobays

Post on 22-Jan-2018

322 views

Category:

Data & Analytics


1 download

TRANSCRIPT

Public

DMM212 – SAP HANA Graph Processing: Information and Demonstration

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 2Public

Speakers

Bangalore, October 5 - 7

B Raghavendra Rao

Las Vegas, Sept 19 - 23

May P. Chen

Barcelona, Nov 8 - 10

Markus Fath

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 3Public

Disclaimer

The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP. Except for your obligation to protect confidential information, this presentation is not subject to your license agreement or any other service or subscription agreement with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or any related document, or to develop or release any functionality mentioned therein.

This presentation, or any related document and SAP's strategy and possible future developments, products and or platforms directions and functionality are all subject to change and may be changed by SAP at any time for any reason without notice. The information in this presentation is not a commitment, promise or legal obligation to deliver any material, code or functionality. This presentation is provided without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. This presentation is for informational purposes and may not be incorporated into a contract. SAP assumes no responsibility for errors or omissions in this presentation, except if such damages were caused by SAP’s intentional or gross negligence.

All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 4Public

Agenda

SAP HANA graph architecture overview Property graph data model

Graph processing in SAP HANA

Native HANA graph algorithms Neighborhood search (graph traversing)

Shortest path

Strongly connected components

Pattern matching

Graph tools and visualization Graph modeler

Graph viewer

Roadmap & use cases

Demo

Public

Architecture overviewProperty graph data model

Graph processing in SAP HANA

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 6Public

To represent and query large sets of highly connected data

No rigid schema requirements and flexible to build graph data on-the-fly

Allows efficient execution of typical graph operations

Simplifies application design and lower development costs

Graph representation & processing

?

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 7Public

The Property graph model

The Property graph modelThe Property graph model provides directed, attributed (vertices and edges) multi-relational graphs as the central data structure. (BOM, social-, chemical-, biological-, and other networks.)

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 8Public

Example: family tree

Vertex: MEMBERS

Edge : RELATIONSHIPS

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 9Public

SAP HANA graph is a core functionality

SAP HANA PlatformOn-premise | Cloud | Hybr idOn-premise | Cloud | Hybr id

Web server JavaScript

SAP Fiori UX

Graphic modeler

Data virtualization ELT and replication

Application services Integration services

Columnar OLTP+OLAP

Multicore/ parallelization

Advanced compression

Multi-tenancy

Multitier storage

Spatial Graph Predictive Search

Text analytics

DataQuality

Seriesdata

Functionlibraries

ALM

Processing services

Database services

Hadoop/Spark integration

Streaming (CEP)

Application lifecycle management

High availability/ disaster recovery

OpennessData modeling

Remote datasync

Admin/security

SAP HANA

DB ServerDB-oriented Logic

Text Mining

Predictive

SQL Scripts

R Integration

Business Rules

ExtendedApp Services(Web Server) Procedural App Logic

ODataJava Script

Unstructured Application Library

HTML

HANA core functionality In-Memory technology leveraging column store and hardware technologies Online querying with transactional support and query optimization (OLTP & OLAP) Out-of-box security

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 10Public

Transparent combination of graph processing with all HANA engines on business, unstructured and spatial data

Property graph model embedded in relational world (easy consumable with SQL)

Flexible graph workspace concept with metadata

Graph import / export support

Graphical analysis, visualization and interaction

Graph processing in SAP HANA

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 11Public

Interfaces & Capabilities

SQL and SQLScript as main graph interface

Modeler for native graph algorithms

Graph Viewer for graph algorithms and interaction

Graph Backend

Primary graph store (support for row / column tables, partitioning and more)

Secondary graph store (adjacency list for accelerated graph processing)

Graph Engine Runtime

Built-in graph algorithms

Pattern matching

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 12Public

Consuming graph

CREATE GRAPH WORKSPACE GREEK.FAMILY

EDGE TABLE GREEK.RELATIONSHIP

SOURCE COLUMN source

TARGET COLUMN target

KEY COLUMN key

VERTEX TABLE GREEK.MEMBERS

KEY COLUMN name;

Create Vertex and Edge Tables

With as many attributes as you want

CREATE COLUMN TABLE GREEK.MEMBERS (

name VARCHAR(100) PRIMARY KEY

type VARCHAR(100), residence VARCHAR(100),…);

CREATE COLUMN TABLE GREEK.RELATIONSHIP (

key INTEGER PRIMARY KEY,

source VARCHAR(100) NOT NULL

REFERENCES GREEK.MEMBERS (name)

ON UPDATE CASCADE ON DELETE CASCADE,

target VARCHAR(100) NOT NULL

REFERENCES GREEK.MEMBERS (name)

ON UPDATE CASCADE ON DELETE CASCADE

relationship VARCHAR(50), confidence REAL,…);

GREEK.FAMILY

RelationshipsMembers

Create Graph Workspace

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 13Public

SAP HANA graph security

Out-of-box security (role concept & privileges)

Graph workspace based on tables and / or views on native database tables

Required user group / role privileges on graph workspace objects

Master data can be updated online

Graph workspaces metadata – is the graph workspace valid or not / constraints and keys

Public

Native HANA graph algorithmsNeighborhood search

Shortest path

Strongly connected components

Pattern matching

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 15Public

Neigborhood search

Search for neighborhood

Input Parameters•Start vertices

•Min / max depth

•Start- / end-level (*)

•Vertex- / edge-filter (*)

Output•Primary vertex key of vertex table

•Search depth

* := optional parameter

Example:

SELECT * FROM GREEK.NEIGHBORHOODWITH PARAMETERS ( 'placeholder' = ('$startVertices$', [‘zeus‘]), 'placeholder' = ('$startLevel$',‘0') 'placeholder' = ('$endLevel$',‘2') 'placeholder' = ('$edgeFilter$',‘rel=parentOf'));

Reha Cronus

HeraZeusAtlas

Maia Danae ApolloHermes

Artemis Pleione

Leto

Name Depth

Atlas 1

Hemes 1

Danae 1

Apollo 1

Maia 2

Artemis 2

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 16Public

Shortest path

Single-Source Shortest Path • Provides shortest path from start

vertex to all reachable vertices in the graph

Input Parameters•Start vertex

•Edge weight column (*)

Output•Vertex key

•Calculated weight

•Shortest path start to end point

* := optional parameter

10.8

1

0.5 0.9

Example:

SELECT * FROM GREEK.SSSPWITH PARAMETERS ( 'placeholder' = ('$startVertex$', ‘zeus‘), 'placeholder' = ('$edgeWeightColumn$',‘confidence'));

Name Confidence Path

Athena 1 Zeus -> Athena

Hemes 1 Zeus -> Hermes

Atlas 0.8 Zeus -> Atlas

Maia 1.5 Zeus -> Maia

Athena

Hermes Atlas

Maia

Zeus

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 17Public

Strongly connected components

Search for strongly connected components

Input Parameters•Nothing required

Output•Primary key of vertex

•Component ID

* := optional parameter

Vertex Component

a 1

b 1

c 1

d 1

e 1

h 1

f 2

g 2

aa bb cc dd

ee f g hh

Example - Combine with SQL:

SELECT * FROM MY.SCC

WHERE component <= 2;

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 18Public

Pattern matching

Pattern Object

• Simple relational predicates on vertex and edge attributes

• ==,!=,<,>,<=,>=

• Logical connectives• AND

• Simple matching expressions • (a)-[b]->(c) with a and c of

type vertex and b edge

Projection on matched patterns

Returns projected attributes of matched subgraphs

Can be combined with SQL (filters, aggregation, union, …)

rel=parentof

name=Zeus

V1 V2

V1 V2

V3

rel=punish

Who has punished whom

Who has punished whom

Public

Graph tools & visualizationGraph modeler

Graph viewer

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 20Public

Graph modeler

Create Graph Algorithm

Execute Graph Algorithm

SELECT * FROM NYC.GET_SHORTEST_PATHS ORDER BY “weight“ WITH PARAMETERS ( 'placeholder' = ('$startVertices$', [‘zeus‘]), 'placeholder' = ('$endLevel$',‘2'));

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 21Public

Graph viewer

• Native HANA Web application

• Visible graph workspace selection

• Graph explorer • Shows attributes of graph and value

distribution (pie chart)

• Vertex and edge filter

• Graph visualization with SAPUI5 and D3.js• Color mapping: colorizes all nodes that have

specific attributes

• Grouping: group nodes together on an edge

• Graph interaction & algorithms• Neighborhood search with filter conditions

• Shortest path: finds all shortest from a single source or between two nodes

• Strongly connected components

• Pattern matching: search for graph patterns

Public

Roadmap & use cases

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 23Public

Property graph model with SQL and SQLScript interfaces

Graph node in calculation scenario

Graph algorithms:• Neighborhood search• Shortest path• Strongly connected components• Pattern matching

• Import / export graph workspace• Security based on roles and

privileges Graph tools & visualization

Custom graph algorithm support Standard graph language Demos, PoC’s & co-innovation

results

Integration with predictive, spatial & text

Graph partitioning & scalability Graph compression, indices Parallelization BFS (Breadth First

Search), DFS (Depth First Search) HANA Vora integration Additional interfaces and

components SQL optimizer & statistics

Today (Recent SPS12) Future DirectionPlanned Q4 2016

This is the current state of planning and may be changed by SAP at any time.

SAP HANA graph roadmap

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 24Public

SAP HANA real-time graph solutions

HANA Medical Insights builds up knowledge

graphs by extracting structured from unstructured

clinical data and combining it with additional

medical data sources. Doctors and researchers

can leverage this knowledge to derive information

specific to the situation they are in.An SAP cloud-based solution that provides

multi-tier visibility of supplier network. Buyers

and sellers can understand how organizations,

products, documents, sites, and events relate to

each other across the Ariba network, so that

they can mitigate risks of failure in their supplier

networks.

Partition independent graphs, calculate maximum distance from a node to the end of the

graph and loop detection.

End-to-end product traceability supports

tracing of all materials purchased, consumed,

manufactured, and distributed in the supply

and distribution network. SAP SuccessFactors LearnFit helps

employees stay competitive by connecting

them with other learners and personalized

learning beyond traditional course catalogs

to fit their learning goals and situation.

To consolidate from various systems

and associate them to enable “silo

searching” to “transverse searching”.

Associate person to person, person to

data.

Money laundering detection, stock trade,

national security, and armed conflict location and

event data project.

When use with a graph query that

includes some traversal operations, it is

possible to retrieve the full text search,

instead of only the results nodes.

Public

Demo

SAP HANA Rock Festival Demo

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 26Public

Related SAP TechEd sessions

Other TechEd session:

Other information:

For more information on SAP HANA Graph in SAP Community Network at: http://scn.sap.com/docs/DOC-74495

i

SAP HANA Graph Processing: Information and Demonstrationi

DMM212 – SAP HANA Graph Processing: Information and Demonstration

Thursday, Sept 22, 8:00AM – 9:00AM

Friday, Sept 23, 9:15AM – 10:15AM

DMM117 – SAP HANA Processing Services: Text, Spatial, Graph, Series, and Predictive

Wednesday, Sept 21,10:30AM – 12:30PM

Thursday, Sept 22, 10:30AM – 12:30PM

DMM212(L1)

SAP HANA Processing Services: Text, Spatial, Graph, Series, and Predictive

iDMM117(L2)

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 27Public

SAP TechEd Online

Continue your SAP TechEd education after the event!

Access replays of Keynotes Demo Jam SAP TechEd live interviews Select lecture sessions Hands-on sessions …

http://sapteched.com/online

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 28Public

Further informationSAP Public Web• scn.sap.com - What’s new in SAP HANA SPS12 – HANA Graph http://scn.sap.com/docs/DOC-74495

• SAP HANA Platform (Core): http://help.sap.com/hana_platform -> Graph

• SAP HANA Graph Reference Guide: http://help.sap.com/hana/SAP_HANA_Graph_Reference_en.pdf

• SAP HANA Graph Data Model: http://help.sap.com/saphelp_hanaplatform/helpdata/en/b7/bd8a7f157c4201910d40917f410237/frameset.htm

• Graph Modeling for XSA:• http://help.sap.com/hana/SAP_HANA_Modeling_Guide_for_SAP_HANA_XS_Advanced_Model_en.pdf• http://help.sap.com/saphelp_hanaplatform/helpdata/en/22/a479fcf53d4e60ad2cdafb6dcbb210/frameset.htm

SAP Education and Certification Opportunities• SAP HANA Academy video series on SAP HANA Graph processing:

https://www.youtube.com/playlist?list=PLkzo92owKnVwCuJeNPcC7J_v4eT5_s6-d

Watch SAP TechEd Online• www.sapteched.com/online

© 2016 SAP SE or an SAP affiliate company. All rights reserved. 29Public

Thanks for attending this session.

Please complete your session evaluation for DMM212

Contact information:

May P. ChenSAP HANA Product [email protected]

Feedback