Incontro del 23/05/2018
Nowadays graph visualization and analysis is a fundamental tool for developers, analysts, business executives, and really anyone who needs to understand his data in order to extract information from it and see all the present interactions. Unfortunately, most graph visualization tools do not have the ability to integrate with a relational database. Arcade Analytics is a graph visualization tool that enables users to have more control over their data: it sits on top of the user's database and allows the users to query data and show it in a graph. One of the most attractive features of Arcade Analytics is that it allows users to query data from a relational database and visualize the relational database content as a graph. Arcade's RDBMS connector allows users to perform a graph analysis over your RDBMS without any migration, in this way you can visually inspect relationships and connections within your RDBMS and treat your data as a graph.
Speaker: Gabriele Ponzi
3. G.Ponzi> whoami
Senior developer at Arcade Analytics
MSc in Computer Science
Academic and work experience in Databases, Big Data and NoSQL
world, distributed data handling, information extraction and
visualisation
Passionate developer always been in love with cutting edge
technologies
4. Agenda
Goal: From relational to graph
Why and when perform analysis over a graph
Use cases good for graph analysis
Model Translation
From ER Model to Graph Model: mapping strategies
Demo
5. Goal: RDBMS as a graph
turn upside down your plain old RDBMS
explore relations as a graph
6. Why?
Joins are hard to write
Joins are for developers
Graph model is very close to the plain old normalized ER-model
Visual navigation is for human beings
Can perform Graph Algorithms on partial loaded data!
8. Costs of importing into a graph database
Write custom process to export from RDBMS and import into a graph
Hard to keep in sync
work on OLD data
Time consuming
should wait for sync or import
Cost $$$ on maintenance
13. Graph: reference model
Property Graph Model
● Vertices
○ set of outgoing edges
○ set of incoming edges
○ collection of properties (key-value map)
● Edges
○ outgoing tail vertex
○ incoming head vertex
○ label that denotes the type of relationship
between its two vertices
○ collection of properties (key-value map)
14. Graph model crash course
Model pairwise relations between objects
Objects: “Nodes”, “Vertices”
Relations: “Edges”, “Arcs”, “Links”
31. Mapping strategies
Arcade provides two different strategies, each with a specific impact
on the mapping between the two domains:
naive strategy
naive-aggregate strategy
32. Mapping: naive strategy
Basic approach: E-R Model directly translated into a coherent Graph Model as
follows:
● Entity Vertex Type
● Relationship Edge Type
Pros:
● Fast
● Few mapping rules needed
Cons:
● Model overheads
39. Other useful model alterations
Aggregation of 1 or more
tables into a single Vertex
Type
40. Other useful model alterations
Aggregation of 1 or more
tables into a single Vertex
Type
Single table splitting into
multiple Vertex TypesOR
41. Other useful model alterations
Aggregation of 1 or more
tables into a single Vertex
Type
Single table splitting into
multiple Vertex TypesOR
Aggregation of 1 or more
Relationships into a single
Edge Type
Single Relationship splitting
into multiple Edge TypesOR
42. Other useful model alterations
Aggregation of 1 or more
tables into a single Vertex
Type
Single table splitting into
multiple Vertex TypesOR
Aggregation of 1 or more
Relationships into a single
Edge Type
Single Relationship splitting
into multiple Edge TypesOR
New Vertex or Edge Type definition could be useful too