### SlideShare for iOS

by Linkedin Corporation

FREE - On the App Store

Loading…

Flash Player 9 (or above) is needed to view presentations.

We have detected that you do not have it on your computer. To install it, go here.

Graph databases are one of the leading drivers in the emerging, highly heterogeneous landscape of database management systems for non-relational data management and processing. The recent interest and ...

Graph databases are one of the leading drivers in the emerging, highly heterogeneous landscape of database management systems for non-relational data management and processing. The recent interest and success of graph databases arises mainly from the growing interest in social media analysis and the exploration and mining of relationships in social media data. However, with a graph-based model as a very flexible underlying data model, a graph database can serve a large variety of scenarios from different domains such as travel planning, supply chain management and package routing.

During the past months, many vendors have designed and implemented solutions to satisfy the need to efficiently store, manage and query graph data. However, the solutions are very diverse in terms of the supported graph data model, supported query languages, and APIs. With a growing number of vendors offering graph processing and graph management functionality, there is also an increased need to compare the solutions on a functional level as well as on a performance level with the help of benchmarks. Graph database benchmarking is a challenging task. Already existing graph database benchmarks are limited in their functionality and portability to different graph-based data models and different application domains. Existing benchmarks and the supported workloads are typically based on a proprietary query language and on a specific graph-based data model derived from the mathematical notion of a graph. The variety and lack of standardization with respect to the logical representation of graph data and the retrieval of graph data make it hard to define a portable graph database benchmark. In this talk, we present a proposal and design guideline for a graph database benchmark. Typically, a database benchmark consists of a synthetically generated data set of varying size and varying characteristics and a workload driver. In order to generate graph data sets, we present parameters from graph theory, which influence the characteristics of the generated graph data set. Following, the workload driver issues a set of queries against a well-defined interface of the graph database and gathers relevant performance numbers. We propose a set of performance measures to determine the response time behavior on different workloads and also initial suggestions for typical workloads in graph data scenarios. Our main objective of this session is to open the discussion on graph database benchmarking. We believe that there is a need for a common understanding of different workloads for graph processing from different domains and the definition of a common subset of core graph functionality in order to provide a general-purpose graph database benchmark. We encourage vendors to participate and to contribute with their domain-dependent knowledge and to define a graph database benchmark proposal.

- Total Views
- 3,371
- Views on SlideShare
- 3,370
- Embed Views

- Likes
- 0
- Downloads
- 50
- Comments
- 0

https://twitter.com | 1 |

Uploaded via SlideShare as Adobe PDF

© All Rights Reserved

- 1. Marcus Paradies Challenges in the Design of a Graph Database Benchmark FOSDEM‘12 – Graph Processing DevRoom© Prof. Dr.-Ing. Wolfgang Lehner |
- 2. > Outline Motivation Challenges Thoughts on Graph Data Generation Thoughts on Query Workload Summary and Outlook Discussion Marcus Paradies | FOSDEM 2012 | 1
- 3. > Motivation Graph databases are gaining momentum Enterprise corporations are getting interested How to compare the available graph database vendors? Main issue: Results from benchmarks are not comparable Lack of standardization in the data model and query language What are “typical“ graph operations? Marcus Paradies | FOSDEM 2012 | 2
- 4. > Challenges Marcus Paradies | FOSDEM 2012 | 3
- 5. > Challenge #1: Application Domain Graph data is not homogenous Graph data from different domains follows different patterns Examples: Social Network Analysis (SNA) Protein Interaction Analysis Recommendation Systems Supply Chain Management (Vehicle Routing, CRM) Fraud Detection in Financial Systems … Challenge: Find an application domain which represents a graph data pattern common in many different scenarios. Marcus Paradies | FOSDEM 2012 | 4
- 6. > Challenge #2: Graph Data Model What flavours of graph data models are commonly used? Marcus Paradies | FOSDEM 2012 | 5
- 7. > Challenge #2: Graph Data Model Directed Graph Marcus Paradies | FOSDEM 2012 | 6
- 8. > Challenge #2: Graph Data Model Directed Graph Undirected Graph Marcus Paradies | FOSDEM 2012 | 7
- 9. > Challenge #2: Graph Data Model Directed Graph Undirected Graph Mixed Graph Marcus Paradies | FOSDEM 2012 | 8
- 10. > Challenge #2: Graph Data Model Directed Graph Undirected Graph Mixed Graph Multi Graph Marcus Paradies | FOSDEM 2012 | 9
- 11. > Challenge #2: Graph Data Model (Plain) Property Directed Graph Graph Undirected Graph Mixed Graph Multi Graph Marcus Paradies | FOSDEM 2012 | 10
- 12. > Challenge #2: Graph Data Model (StructuredProperty Graph) (Plain) Property Directed Graph Graph Undirected Graph Mixed Graph Multi Graph Marcus Paradies | FOSDEM 2012 | 11
- 13. > Challenge #2: Graph Data Model (StructuredProperty Graph) (Plain) Property Directed Graph Graph Undirected Graph Mixed Graph Multi Graph Hyper Graph Marcus Paradies | FOSDEM 2012 | 12
- 14. > Challenge #2: Graph Data Model (StructuredProperty Graph) (Plain) Property Directed Graph Graph Undirected Graph Mixed Graph Multi Graph Hyper Graph Challenge: Find a graph data model suited for the majority of use cases from various domains. Marcus Paradies | FOSDEM 2012 | 13
- 15. > Challenge #3: Querying Graph Data Large variety in graph processing and manipulation languages Each graph database vendor implements own query languages/APIs Reason: No standardized graph query language available Marcus Paradies | FOSDEM 2012 | 14
- 16. > Challenge #3: Querying Graph Data Large variety in graph processing and manipulation languages Each graph database vendor implements own query languages/APIs Reason: No standardized graph query language available Challenge: Find a way to abstract from the zoo of available query languages. Marcus Paradies | FOSDEM 2012 | 15
- 17. > Challenge #4: Defining the Workload The workload to be defined is dependent from the underlying query/manipulation language Should complex (algorithmic) operations be part of a database benchmark? Which algorithms to pick? Social Network Analysis → Find communities Supply Chain Management → Find maximal flow Web of Data → Find pattern matches How are concurrent users represented? What about transactionality? Marcus Paradies | FOSDEM 2012 | 16
- 18. > Thoughts on Graph Data Generation Marcus Paradies | FOSDEM 2012 | 17
- 19. > Graph Data Generation - Patterns Understanding graph patterns (characteristics) is crucical for a good graph data generator What are distinguishing characteristics of graphs? How can we identify graph patterns on large graphs? Three main patterns [1]: Power law distributed Small diameters Community Effects ? ? = = Marcus Paradies | FOSDEM 2012 | 18
- 20. > Pattern 1 – Power law distributed source: [2] source: [2] Most real-world graph data sets follow a power law distribution Examples: Internet router graph Subsets of the WWW Citation Graphs Marcus Paradies | FOSDEM 2012 | 19
- 21. > Pattern 2 – Small Diameters Effective Diameter (eccentricity): Minimum number of hops, in which a fraction (e.g. 90%) of all connected pairs of nodes can reach each other Other measures exist as well, but are not applicable to disconnected graphs In most use cases, diameter is much smaller than the size of the graph Examples: 97% eccentricity of around 16 for path lengths in the WWW Average path length around 6 for Epinions social network source: [1] Marcus Paradies | FOSDEM 2012 | 20
- 22. > Pattern 3 – Community Effects Community: A set of nodes, where each node in the set is closer to all other nodes in the community than to nodes outside the community. Communities can be found in many real-world graphs, especially social networks and collaboration networks Clustering Coefficient C: A measure, which qualifies the „clumpiness“ of a graph Marcus Paradies | FOSDEM 2012 | 21
- 23. > Thoughts on Query Workload Marcus Paradies | FOSDEM 2012 | 22
- 24. > Query Workload - Operations Graph Manipulation Operations Add/Update/Remove Nodes from the Graph Add/Update/Remove Edges from the Graph Add/Update/Remove Edge attributes Add/Update/Remove Node attributes Graph Query Operations Retrieve selection of nodes from given filter expression Getting the neighbors of a set of nodes (possibly with edge filter constraints) Graph Traversals Based on basic query operations Exploration of neighborhood from a given set of start nodes Terminated by the number of steps and/or edge/node filter constraints Graph Analytical Operations Aggregation operations such as sum, avg, min, max Aggregations on node-level and on edge-level Marcus Paradies | FOSDEM 2012 | 23
- 25. > Query Workload - Measures Closely related to benchmark capabilities Measures from relational benchmarks apply such as Average query response time Transactions per second (throughput) Additional measures for graph traversals Traversals per second What about distributed scenarios? What about concurrent users? Marcus Paradies | FOSDEM 2012 | 24
- 26. > Summary and Outlook Graph data distribution highly important for graph database benchmark Application domains do have very specific graph characteristics A graph database benchmark has to provide abstract and high-level graph operation descriptions Feel free to contact me if you want to contribute: marcus.paradies@gmail.com Marcus Paradies | FOSDEM 2012 | 25
- 27. > Discussion Marcus Paradies | FOSDEM 2012 | 26
- 28. > Theses A benchmark based on social network data is nice, but might be not be that representative for large enterprise applications Algorithms should NOT be part of a graph database benchmark Only support basic operations such as simple lookups and path traversals The underlying graph data model should be a simple property graph A graph database has to scale in terms of data size as well as number of concurrent users .... Marcus Paradies | FOSDEM 2012 | 27
- 29. > References [1] Graph Mining: Laws, Generators, and Algorithms (2006) [2] http://konect.uni-koblenz.de/ [3] A Discussion on the Design of Graph Database Benchmarks (2010) Marcus Paradies | FOSDEM 2012 | 28

Full NameComment goes here.