gdm 2011 talk
Post on 21-Oct-2014
3.397 views
DESCRIPTION
GDM 2011 keynote slidesTRANSCRIPT
![Page 1: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/1.jpg)
Horton: online query execution on large distributed graphs
Sameh ElniketyMicrosoft Research
![Page 2: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/2.jpg)
People•Team
• Interns– Mohamed Sarwat (UMN), Jiaqing Du (EPFL)
![Page 3: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/3.jpg)
Large Graphs Are Important•Large graphs appear in many application domains
– Examples: social networks, knowledge representation, …
Friendship Network Internet Map Protein Interactions Food Web[Moody’01] [lumeta.com] [genomebiology.com] [foodwebs.org]
![Page 4: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/4.jpg)
Example : Social Network•Scale
– LinkedIn» 70 million users
– Facebook» 500 million users» 65 Billion photos
•Queries– Find Alice’s friends– Find Alice’s photos with friends
•Rich graph– Types, attributes
Hillary
Bob Alice
Chris David
FranceEd George
Hillary
Bob Alice
Chris David
FranceEd George
Photo1
Photo2
Photo3
Photo4Photo5 Photo6
Photo8
Photo7
![Page 5: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/5.jpg)
Objective: Management & Querying•Manage and query large graphs online
– Today» Expensive hardware (limited)» Cluster of machines (ad-hoc)
– Tomorrow » Growth area
•Analogy: provide system support» Analogy: DBMS manages application data
![Page 6: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/6.jpg)
Key Design Decisions• Interactive queries
– Graph stored in random access memory
•Graph too large for one machine– Distributed problem– Partitioning: slice graph into pieces– Replication: for fault tolerance
•Long time to build graph– Support updates
![Page 7: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/7.jpg)
Three Research Problems1. How to partition the graph
– Static and dynamic techniques» E.g., Evolving set partitioning
2.How to query the graph– Data model & query language– Execution engine – Query optimizations
3. How to update the graph– Multi-version concurrency control
» E.g., Generalized Snapshot Isolation
![Page 8: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/8.jpg)
Concurrency Control• Generalized Snapshot Isolation – GSI• Replicas agree
– On which update transactions commit– On their commit order
• Example (bank database)– T1: set balance = $1000– T2: set balance = $2000– Replica1: see T1 then T2 balance = $2000– Replica2: see T2 then T1 balance = $1000
![Page 9: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/9.jpg)
Replication
Replica 2
Replica 1
Replica 3
SingleGraph Server
Load Balancer
![Page 10: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/10.jpg)
Read Tx
Replica 2
Replica 1
Replica 3
Load Balancer
T
![Page 11: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/11.jpg)
Update Tx
Replica 2
Replica 1
Replica 3
Load Balancer
Twsws
![Page 12: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/12.jpg)
Tx B Replication MW (global ordering)
Tx A
A B C
Replication Middleware
Tx A
Tx B
durabilityOFF
Replica 2
durabilityOFF
Replica 1
A B C
durabilityA B C
A B C
A B C
A B C
A B C
Tx CReplica 3
A B CTx C
durabilityOFF
![Page 13: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/13.jpg)
Partitioning – Key Ideas1. Objective
– Maximize temporal and spatial locality
2. Static– Linear time
» Evolving-set partitioning– Streaming algorithm
» During loading
3. Dynamic– Incremental
» Affinity propagation
![Page 14: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/14.jpg)
Three Research Problems1. How to partition the graph
– Static and dynamic techniques» E.g., Evolving set partitioning
2.How to query the graph– Data model & query language– Execution engine – Query optimizations
3. How to update the graph– Multi-version concurrency control
» E.g., Generalized Snapshot Isolation
![Page 15: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/15.jpg)
Data Model•Node
– ID, type, attributes
•Edge– Connects two nodes– Direction, type, attributes
Hillary
Bob Alice
Chris David
FranceEd George
Hillary
Bob Alice
Chris David
FranceEd George
Photo1
Photo2
Photo3
Photo4Photo5 Photo6
Photo8
Photo7
Manages BobAlice
BobAlice
Manages
Managed-by
App
Horton
![Page 16: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/16.jpg)
Query Language •Trade-off
– Expressiveness vs. efficiency
•Regular language reachability– Query is a regular expression
» Sequence of node and edge predicates– Example
» Alice’s photos» Photo, tags, Alice» Node: type=photo , edge: type=tags , node: type=person,
name=Alice» Result: matching paths
![Page 17: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/17.jpg)
Query Language - Operators• Projection
» Alice’s photos» Photo, tags, Alice» Node: type=photo , edge: type=tags , node: type=person,
name=Alice» SELECT photo
FROM photo, tags, Alice
•OR» (Photo | video), tags, Alice
•Kleene star » Alice org chart» Alice, (manages, person)*
![Page 18: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/18.jpg)
Example App: CodeBook - Graph
![Page 19: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/19.jpg)
1. Person, FileOwner>, TFSFile, FileOwner<, Person
2. Person, DiscussionOwner>, Discussion, DiscussionOwner<, Person
3. Person, WorkItemOwner>, TFSWorkItem, WorkItemOwner< ,Person
4. Person, Manages<, Person, Manages>, Person
5. Person, WorkItemOwner>, TFSWorkItem, Mentions>, TFSFile, Mentions>, TFSWorkItem, WorkItemOwner<, Person
6. Person, WorkItemOwner>, TFSWorkItem, Mentions>, TFSFile, FileOwner<, Person
7. Person, FileOwner>, TFSFile, Mentions>, TFSWorkItem, Mentions>, TFSFile, FileOwner<, Person
Example App: CodeBook - Queries
![Page 20: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/20.jpg)
Query Language - Future Extensions•From: path
» Sequence of predicates
•To: sub-graph» Graph pattern
•Sub-graph isomorphism
Friend
Tags AlicePhoto
Tags AlicePhoto Bob
Lives-in
Tags Alice
City
Photo
Bob
![Page 21: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/21.jpg)
Talk Outline•Graph query language•Graph query execution engine•Graph query optimizer•Initial experimental results•Demo
![Page 22: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/22.jpg)
Execution Engine1.Build a FSM from input query2.Optimize FSM3.Executes FSM using distributed BFS
![Page 23: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/23.jpg)
Alice, Tags, Photo
Breadth First Search
Answer Paths:Alice, Tags, Photo1Alice, Tags, Photo8
S2S0 S1 S3
Alice Tags PhotoCentralized Query Execution
Hillary
Bob Alice
Chris David
FranceEd George
Photo1
Photo2
Photo3
Photo4Photo5 Photo6
Photo8
Photo7
![Page 24: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/24.jpg)
Convert Query To FSM
Send FSM to needed Partitions
. . .
Partition 1 Partition 2
Query Execution
Asynchronous Communication
Partition N
Streaming
Query
Results
Asynchronous Communication
Query Execution
Query Execution
Asynchronous Communication
Distributed Execution Engine
![Page 25: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/25.jpg)
Distributed Query Execution
Hillary
Bob Alice
Chris David
FranceEd George
Photo1
Photo2
Photo3
Photo4Photo5 Photo6
Photo8
Photo7
Partition 2
Partition 1
Alice, Tags, Photo, Tags, Hillary
![Page 26: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/26.jpg)
Alice, Tags, Photo, Tags, Hillary
S2
S0
S1
S3
Alice
Tags
Photo
Distributed Query Execution
Hillary
Bob Alice
Chris David
FranceEd George
Photo1
Photo2
Photo3
Photo4Photo5 Photo6
Photo8
Photo7
S4
S5
Tags
Hillary
Alice
Photo1 Photo8
Step 1
Step 2
Step 3
Partition 1
Partition 2Hillary
Partition 1Partition 2 FSM
![Page 27: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/27.jpg)
Query Execution Time without Optimization Execution Time with Optimization Result size
Person, activated >,TFSWorkItemRevision, Links >, WebURL
7 sec
remote edges = 4643messages = 33
230 msec (R to L)
remote edges = 7messages = 7
4
Person, Manages >,Person, Closed >,TFSWorkItemRevision
36 sec
remote edges = 72969messages = 45
700 msec (R to L)
remote edges = 41messages = 24
37
Person, Manages >,Person 134398185, Committer >,TFSCheckIn
32 sec
remote edges = 73045messages = 35
390 msec (split at 2, 0-2 R to L, 2-4 L to R)
remote edges = 107messages = 6
126
Person, Manages >,Person, Committer >,TFSCheckIn 671112371
1 min
remote edges = 73045messages = 35
200 msec (R to L)
remote edges = 107messages = 6
1
Graph Query Optimization
![Page 28: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/28.jpg)
Graph Query Optimization
• Input– Graph statistics + query plan
•Output– Optimized query plan (execution sequence)
•Action– Enumerate execution plans– Evaluate their costs using graph statistics– Find the plan with minimum cost
![Page 29: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/29.jpg)
Graph Query Optimization Techniques
1. Predicate ordering2. Derived edges3. Fragment reuse
![Page 30: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/30.jpg)
Find Mike’s photo that is also tagged by at least one of his friends
Mike, Tagged, Photo, Tagged, Person, FriendOf, Mike
MoeJohn
Tim
Bob
Mike
Photo1
Photo2Photo3
Photo4Photo6
Photo7Photo8
TaggedTagged
Tagged
FriendOfFriendOf
Tagged
Tagged Tagged
Tagged
Tagged
Execute left to right
Execute right to left
Predicate Ordering
Different predicate orders can result in different execution costs.
![Page 31: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/31.jpg)
Mike, Tagged, Photo, Tagged, Person, FriendOf, Mike
MoeJohn
Tim
Bob
Mike
Photo1
Photo2Photo3
Photo4Photo6
Photo7Photo8
TaggedTagged
Tagged
FriendOfFriendOf
Tagged
Tagged Tagged
Tagged
Tagged
Execute left to right
Predicate OrderingFind Mike’s photo that is also tagged by at least one of his friends
![Page 32: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/32.jpg)
Mike, Tagged, Photo, Tagged, Person, FriendOf, Mike
MoeJohn
Tim
Bob
Mike
Photo1
Photo2Photo3
Photo4Photo6
Photo7Photo8
TaggedTagged
Tagged
FriendOfFriendOf
Tagged
Tagged Tagged
Tagged
Tagged
Execute left to right
Predicate OrderingFind Mike’s photo that is also tagged by at least one of his friends
![Page 33: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/33.jpg)
Mike, Tagged, Photo, Tagged, Person, FriendOf, Mike
MoeJohn
Tim
Bob
Mike
Photo1
Photo2Photo3
Photo4Photo6
Photo7Photo8
TaggedTagged
Tagged
FriendOfFriendOf
Tagged
Tagged Tagged
Tagged
Tagged
Execute left to right
Predicate OrderingFind Mike’s photo that is also tagged by at least one of his friends
![Page 34: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/34.jpg)
Mike, Tagged, Photo, Tagged, Person, FriendOf, Mike
MoeJohn
Tim
Bob
Mike
Photo1
Photo2Photo3
Photo4Photo6
Photo7Photo8
TaggedTagged
Tagged
FriendOfFriendOf
Tagged
Tagged Tagged
Tagged
Tagged
Total cost = 14
Execute left to right
Predicate OrderingFind Mike’s photo that is also tagged by at least one of his friends
![Page 35: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/35.jpg)
Mike, Tagged, Photo, Tagged, Person, FriendOf, MikeExecute left to right
MoeJohn
Tim
Bob
Mike
Photo1
Photo2Photo3
Photo4Photo6
Photo7Photo8
TaggedTagged
Tagged
FriendOfFriendOf
Tagged
Tagged Tagged
Tagged
Tagged
Total cost = 14
Execute right to leftTotal cost = 7
Different predicate orders can result in different execution costs.
Predicate OrderingFind Mike’s photo that is also tagged by at least one of his friends
![Page 36: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/36.jpg)
How to Decide Predicate Ordering?
• Enumerate execution sequences of predicates• Estimate their costs using graph statistics• Find the sequence with minimum cost
![Page 37: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/37.jpg)
Graph Statistics
Left to rightMike, Tagged, Photo, Tagged, Person, FriendOf, Mike
EstimatedCost = ???
Cost Estimation using Graph Statistics
FriendOf TaggedPerson 1.2 2.2Photo N/A 1.6
MoeJohn
Tim
Bob
Mike
Photo1
Photo2Photo3
Photo4Photo6
Photo7Photo8
TaggedTagged
Tagged
FriendOfFriendOf
Tagged
Tagged Tagged
Tagged
TaggedNode type #nodesPerson 5Photo 7
![Page 38: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/38.jpg)
Left to rightMike, Tagged, Photo, Tagged, Person, FriendOf, Mike
EstimatedCost = 1 [find Mike]
Cost Estimation using Graph StatisticsMoe
John
Tim
Bob
Mike
Photo1
Photo2Photo3
Photo4Photo6
Photo7Photo8
TaggedTagged
Tagged
FriendOfFriendOf
Tagged
Tagged Tagged
Tagged
Tagged
Graph Statistics
FriendOf Tagged
Person 1.2 2.2
Photo N/A 1.6
Node type #nodes
Person 5
Photo 7
![Page 39: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/39.jpg)
Left to rightMike, Tagged, Photo, Tagged, Person, FriendOf, Mike
EstimatedCost = 1 [find Mike]+ (1* 2.2) [find Mike, Tagged, Photo]
Cost Estimation using Graph StatisticsMoe
John
Tim
Bob
Mike
Photo1
Photo2Photo3
Photo4Photo6
Photo7Photo8
TaggedTagged
Tagged
FriendOfFriendOf
Tagged
Tagged Tagged
Tagged
Tagged
Graph Statistics
FriendOf Tagged
Person 1.2 2.2
Photo N/A 1.6
Node type #nodes
Person 5
Photo 7
![Page 40: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/40.jpg)
Left to rightMike, Tagged, Photo, Tagged, Person, FriendOf, Mike
EstimatedCost = 1 [find Mike]+ (1* 2.2) [find Mike, Tagged, Photo]
+ (2.2 * 1.6) [find Mike, Tagged, Photo, Tagged, Person]+ (2.2 * 1.6 * 1.2) [find Mike, Tagged, Photo, Tagged, Person, FriendOf, Mike]
= 11
Cost Estimation using Graph StatisticsMoe
John
Tim
Bob
Mike
Photo1
Photo2Photo3
Photo4Photo6
Photo7Photo8
TaggedTagged
Tagged
FriendOfFriendOf
Tagged
Tagged Tagged
Tagged
Tagged
Graph Statistics
FriendOf Tagged
Person 1.2 2.2
Photo N/A 1.6
Node type #nodes
Person 5
Photo 7
![Page 41: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/41.jpg)
Plan1Mike, Tagged, Photo, Tagged, Person, FriendOf, MikePlan2Mike, FriendOf, Person, Tagged, Photo, Tagged, MikePlan3(Mike, FriendOf, Person) ⋈ (Person, Tagged, Photo, Tagged, Mike)Plan4(Mike, FriendOf, Person, Tagged, Photo) ⋈ (Photo, Tagged, Mike)
.
.
.
.
.
Plan EnumerationFind Mike’s photo that is also tagged by at least one of his friends
![Page 42: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/42.jpg)
Mike, Tagged, Photo, Tagged, Person, FriendOf, Mike
Moe John
Tim
Bob
Mike
Photo1
Photo2Photo3
Photo4Photo6
Photo7
Photo8
TaggedTagged
Tagged
FriendOfFriendOf
Tagged
TaggedTagged
TaggedFriends-photo-tag
Mike, Tagged, Photo, Friends-photo-tag, Mike Cost = 5
Cost = 7
Derived Edges
![Page 43: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/43.jpg)
Query3Mike, Tagged, Photo, Tagged, Person, FriendOf, Mike
Query1Mike, Tagged, Photo
Query2Person, FriendOf, Mike
Query Fragment Reuse
![Page 44: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/44.jpg)
Query3Mike, Tagged, Photo, Tagged, Person, FriendOf, Mike
Query1Mike, Tagged, Photo
Query2Person, FriendOf, Mike
Execute Query3 based on cached results of Query1 and Query2:
[Query1], Tagged, Person, FriendOf, Mike
[Query2], Tagged, Photo, Tagged, Mike
[Query1] ⋈ [Photo, Tagged, Person] ⋈ [Query2]
Query Fragment Reuse
![Page 45: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/45.jpg)
• Predicate ordering• Derived edges• Reuse of query fragments
Summary of Query Optimization
![Page 46: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/46.jpg)
Graph• Codebook application• 1 Million nodes • 10 million edges
Machines• 7 machines • Intel Core 2 Duo 2.26 GHz , 4 GB ram• Graph partitioned on 6 machines
Experimental Evaluation
![Page 47: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/47.jpg)
Initial ResultsQuery Execution Time without Optimization Execution Time with Optimization Result size
Person, activated >,TFSWorkItemRevision, Links >, WebURL
7 sec
remote edges = 4643messages = 33
230 msec (R to L)
remote edges = 7messages = 7
4
Person, Manages >,Person, Closed >,TFSWorkItemRevision
36 sec
remote edges = 72969messages = 45
700 msec (R to L)
remote edges = 41messages = 24
37
Person, Manages >,Person 134398185, Committer >,TFSCheckIn
32 sec
remote edges = 73045messages = 35
390 msec (split at 2, 0-2 R to L, 2-4 L to R)
remote edges = 107messages = 6
126
Person, Manages >,Person, Committer >,TFSCheckIn 671112371
1 min
remote edges = 73045messages = 35
200 msec (R to L)
remote edges = 107messages = 6
1
![Page 48: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/48.jpg)
Summary•Graph query language
– Regular language expression
•Graph query execution engine– Distributed breadth first-search
• Graph query optimizer– Predicate ordering, derived edges, query fragment reuse
•Implementation– Initial experimental results– Demo
![Page 49: GDM 2011 Talk](https://reader038.vdocuments.us/reader038/viewer/2022102804/5445e7c9b1af9fca0b8b45a4/html5/thumbnails/49.jpg)
Questions?.