SlideShare a Scribd company logo
1 of 51
Download to read offline
AURELIUS 
THINKAURELIUS.COM 
Titan:db 
Graphs at Scale 
#TitanDB 
Matthias Broecheler 
@mbroecheler 
December 2nd, MMXIV
software is eating 
the world
>;N; >LCP?H 
software is eating 
the world
Tabular 
Relational
Tabular 
Relational 
Flexibility 
Handling 
NoSQL
Tabular 
Relational 
Flexibility 
Handling 
Data Model 
Query Language 
NoSQL
Tabular 
Relational 
NoSQL 
Graph 
Flexibility 
Handling 
Data Model 
Query Language 
Simplicity 
Flexibility 
Handling 
Data Model 
Query Language
productid: 52235 
name: cup 
price: 12.55 
userid: matt 
email: matt@ 
password: 12345 
User 
Product
User 
Product 
userid 
email 
password 
ma. 
ma.@ 
12345 
john 
john@ 
qwerty 
billy 
billy@ 
abcde 
produc=d 
name 
price 
52235 
cup 
12.55 
42215 
spoon 
7.22 
24529 
knife 
5.32
productid: 52235 
name: cup 
price: 12.55 
userid: matt 
email: matt@ 
password: 12345 
User 
Product 
buy 
time: 9/5/14
User 
Product 
userid 
email 
password 
ma. 
ma.@ 
12345 
john 
john@ 
qwerty 
billy 
billy@ 
abcde 
produc=d 
name 
price 
52235 
cup 
12.55 
42215 
spoon 
7.22 
24529 
knife 
5.32 
userid 
produc=d 
=me 
ma. 
52235 
9/5/14 
billy 
42215 
8/7/14 
billy 
42215 
8/7/14 
Buy
7B;N >C> -;NN <OSg 
g.V.has(‘email’,’matt@’).out(‘buy’).valueMap!
7B;N >C> -;NN <OSg 
SELECT Product.* ! 
FROM User! 
INNER JOIN Buy ! 
!ON User.userid = Buy.userid! 
INNER JOIN Product ! 
!ON Buy.productid = Product.productid! 
WHERE User.email = ‘matt@’ !
SELECT TOP (5) [t14].[ProductName] 
FROM (SELECT COUNT(*) AS [value], 
[t13].[ProductName] 
FROM [customers] AS [t0] 
CROSS APPLY (SELECT [t9].[ProductName] 
FROM [orders] AS [t1] 
CROSS JOIN [order details] AS [t2] 
INNER JOIN [products] AS [t3] 
ON [t3].[ProductID] = [t2].[ProductID] 
CROSS JOIN [order details] AS [t4] 
INNER JOIN [orders] AS [t5] 
ON [t5].[OrderID] = [t4].[OrderID] 
LEFT JOIN [customers] AS [t6] 
ON [t6].[CustomerID] = [t5].[CustomerID] 
CROSS JOIN ([orders] AS [t7] 
CROSS JOIN [order details] AS [t8] 
INNER JOIN [products] AS [t9] 
ON [t9].[ProductID] = [t8].[ProductID]) 
WHERE NOT EXISTS(SELECT NULL AS [EMPTY] 
FROM [orders] AS [t10] 
CROSS JOIN [order details] AS [t11] 
INNER JOIN [products] AS [t12] 
ON [t12].[ProductID] = [t11].[ProductID] 
WHERE [t9].[ProductID] = [t12].[ProductID] 
AND [t10].[CustomerID] = [t0].[CustomerID] 
AND [t11].[OrderID] = [t10].[OrderID]) 
AND [t6].[CustomerID] <> [t0].[CustomerID] 
AND [t1].[CustomerID] = [t0].[CustomerID] 
AND [t2].[OrderID] = [t1].[OrderID] 
AND [t4].[ProductID] = [t3].[ProductID] 
AND [t7].[CustomerID] = [t6].[CustomerID] 
AND [t8].[OrderID] = [t7].[OrderID]) AS [t13] 
WHERE [t0].[CustomerID] = N'ALFKI' 
GROUP BY [t13].[ProductName]) AS [t14] 
ORDER BY [t14].[value] DESC
g.V.has('customerId’,cid).as('customer') 
.out('orderedProduct’).as('products') 
.in('orderedProduct').except('customer') 
.out('orderedProduct’).except('products') 
.productName.groupCount.cap. 
.map{it.sort{-it.value}}.next()[0..<5] 
h.p://sql2gremlin.com/
TinkerPop 3 
coming soon 
Graph 
Server 
Graph 
Algorithms 
Object-Graph 
Mapper 
Traversal 
Language 
Dataflow 
Processing 
Generic 
Graph API 
http://www.tinkerpop.com/docs/3.0.0.M6/
label: demigod 
name: Hercules 
label: god 
name: Neptune 
age: 4500 
brothermother 
label: god 
name: Jupiter 
label: monster 
name: Cerberus 
father 
father 
brother 
battled 
pet 
time:12 
label: god 
name: Pluto 
age: 4000 
label: human 
name: Alcmene 
age: 45 
label: titan 
name: Saturn 
age: 10000 
label: monster 
name: Hydra 
battled 
time: 2
AURELIUS 
THINKAURELIUS.COM 
Titan:db 
Architecture & Internals 
titandb.io
Architecture Analogy 
MyISAM
Flexible Persistence 
Partitionability 
ConsistencyAvailability
Graph Schema 
! Labels & Keys 
! Vertex Property Cardinality 
! Single, Set, List 
! Edge Multiplicity 
! Multi, Simple, Many2One, One2Many, 
One2One 
! Constraints & Consistency
I. Navigate Memory
Sequential Data Access
Vertex Representation 
5 
Property 
Property 
Out-Edge 
In-Edge 
Out-Edge 
In-Edge 
In-Edge 
LIQ CH>C=?M 
@IL @;MN 
P?LN?R =?HNLC= 
KO?LC?M 
<SN? IL>?L MILNCHA 
=?FF t 
=IFOGH q 
P;FO? 
LIQ 
E?S
Vertex-Centric Index 
! Create a vertex-centric index per edge label 
or property key to optimize for retrieval 
patterns 
! Through Titan’s management API 
! Supports multiple indexes 
name: Hercules 
surname: Mighty 
label: user 
time:24 
bought 
title: “Muscle building for beginners” 
label: product 
[bought, time, DESC]
battled 
battled 
battled 
time: 3 
time: 5 
v 
time: 1 
fatherfought 
fought 
mother 
battled 
time: 9 
v!
battled 
battled 
battled 
time: 3 
time: 5 
v 
time: 1 
mother 
father 
battled 
time: 9 
v.outE()!
battled 
battled 
battled 
time: 3 
time: 5 
v 
time: 1 
battled 
time: 9 
v.outE(‘battled’)!
v 
battled 
battled 
time: 1 
time: 3 
v.outE(‘battled’)! 
.has(‘time’,lt,5)! 
.inV!
Faster Querying 
! Multi-Query 
! Bulk querying reduces latency 
! Currently manual 
! Order in vertex-centric 
query 
! Adjacency-constraint 
! Faster edge retrievals 
" Titan Query Optimizer
Graph Index 
! Composite internal index 
! Can be unique 
! Label specific index 
! Multiple external indexes 
label: user 
name: Hercules 
surname: Mighty 
time:24 
bought 
label: product 
title: “Muscle building for beginners”
g.E.has(‘location’,WITHIN, 
Geoshape.circle(38,24,50)! 
Full text & Geo 
Search
Token Ring 
(BOP) 
Graph Partitioning 
- assigns ids to map 
vertices into “optimal” 
token range 
- Maintains virtual 
partitions 
Vertical Partitioning = divide communities
Vertex Partitioning 
Each partition contains one 
“part” of a partitioned vertex 
Horizontal Partitioning = split super vertices
Combined Partitioning
label: demigod 
name: Hercules 
label: god 
name: Neptune 
age: 4500 
brothermother 
label: god 
name: Jupiter 
label: monster 
name: Cerberus 
father 
father 
brother 
battled 
pet 
time:12 
label: god 
name: Pluto 
age: 4000 
label: human 
name: Alcmene 
age: 45 
label: titan 
name: Saturn 
age: 10000 
label: monster 
name: Hydra 
battled 
time: 2 
OLTP
label: demigod 
name: Hercules 
label: god 
name: Neptune 
age: 4500 
brothermother 
label: god 
name: Jupiter 
label: monster 
name: Cerberus 
father 
father 
brother 
battled 
pet 
time:12 
label: god 
name: Pluto 
age: 4000 
label: human 
name: Alcmene 
age: 45 
label: titan 
name: Saturn 
age: 10000 
label: monster 
name: Hydra 
battled 
time: 2 
OLAP
Faunus Work Flow 
g.V.out .out .count() 
hdfs://user/ubuntu/ 
output/job-0/ 
output/job-1/ 
output/job-2/ { graph* 
sideeffect* 
Compressed HDFS Graphs 
! stored in sequence files 
! variable length encoding 
! prefix compression
Degree Distribution 
GitHub Network 
g.V.sideEffect{ 
it.degree = it.out(‘follows’).count() 
}.degree.groupCount
Degree Distribution 
P(k) ~ k-γ 
γ = 2.2
Complete Architecture 
! 
Users & Apps 
Processing 
Event 
OLTP 
OLAP 
Q 
Continuous 
Computing 
Interactive 
Query 
Batch 
Query 
(ETL)
Use Cases
http://arli.us/magazinaluiza
Security 
Fraud 
http://arli.us/cisco-sec1
http://arli.us/edu-planet-scale 
© Sean York @ Pearson Education
http://arli.us/musicgraphintro 
Music Graph 
Knowledge Graph
http://bit.ly/ 
WPTitanSEAGraph
7B?H NI OM? 'L;JB $;N;<;M?Mg 
Map+ 
NoSQL 
K 
V 
V 
V 
V 
Persistence 
Tabular 
Data-driven 
Graph
7B?H NI OM? 'L;JB $;N;<;M?Mg 
Map+ 
NoSQL 
K 
V 
V 
V 
V 
Persistence 
Tabular 
Data-driven 
Graph 
Complexity
AURELIUS 
THINKAURELIUS.COM 
@AURELIUSGRAPHS 
aureliusgraphs@googlegroups.com

More Related Content

What's hot

Data Binding In Depth
Data Binding In DepthData Binding In Depth
Data Binding In DepthEyal Vardi
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use CasesMax De Marzi
 
Offline First Apps With Couchbase Mobile and Xamarin
Offline First Apps With Couchbase Mobile and XamarinOffline First Apps With Couchbase Mobile and Xamarin
Offline First Apps With Couchbase Mobile and XamarinMartin Esmann
 
Agile Data Engineering: Introduction to Data Vault 2.0 (2018)
Agile Data Engineering: Introduction to Data Vault 2.0 (2018)Agile Data Engineering: Introduction to Data Vault 2.0 (2018)
Agile Data Engineering: Introduction to Data Vault 2.0 (2018)Kent Graziano
 
N1QL workshop: Indexing & Query turning.
N1QL workshop: Indexing & Query turning.N1QL workshop: Indexing & Query turning.
N1QL workshop: Indexing & Query turning.Keshav Murthy
 
OrientDB: Unlock the Value of Document Data Relationships
OrientDB: Unlock the Value of Document Data RelationshipsOrientDB: Unlock the Value of Document Data Relationships
OrientDB: Unlock the Value of Document Data RelationshipsFabrizio Fortino
 
(OTW13) Agile Data Warehousing: Introduction to Data Vault Modeling
(OTW13) Agile Data Warehousing: Introduction to Data Vault Modeling(OTW13) Agile Data Warehousing: Introduction to Data Vault Modeling
(OTW13) Agile Data Warehousing: Introduction to Data Vault ModelingKent Graziano
 
Joins and Other MongoDB 3.2 Aggregation Enhancements
Joins and Other MongoDB 3.2 Aggregation EnhancementsJoins and Other MongoDB 3.2 Aggregation Enhancements
Joins and Other MongoDB 3.2 Aggregation EnhancementsAndrew Morgan
 
Key note big data analytics ecosystem strategy
Key note   big data analytics ecosystem strategyKey note   big data analytics ecosystem strategy
Key note big data analytics ecosystem strategyIBM Sverige
 
Making Sense of Schema on Read
Making Sense of Schema on ReadMaking Sense of Schema on Read
Making Sense of Schema on ReadKent Graziano
 
Webinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with TableauWebinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with TableauMongoDB
 
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...NoSQLmatters
 
Democratizing Data at Airbnb
Democratizing Data at AirbnbDemocratizing Data at Airbnb
Democratizing Data at AirbnbNeo4j
 
MongoDB World 2016: Keynote
MongoDB World 2016: KeynoteMongoDB World 2016: Keynote
MongoDB World 2016: KeynoteMongoDB
 
Using OBIEE and Data Vault to Virtualize Your BI Environment: An Agile Approach
Using OBIEE and Data Vault to Virtualize Your BI Environment: An Agile ApproachUsing OBIEE and Data Vault to Virtualize Your BI Environment: An Agile Approach
Using OBIEE and Data Vault to Virtualize Your BI Environment: An Agile ApproachKent Graziano
 
Hybrid solutions – combining in memory solutions with SSD - Christos Erotocritou
Hybrid solutions – combining in memory solutions with SSD - Christos ErotocritouHybrid solutions – combining in memory solutions with SSD - Christos Erotocritou
Hybrid solutions – combining in memory solutions with SSD - Christos ErotocritouJAXLondon_Conference
 
OrientDB & Node.js Overview - JS.Everywhere() KW
OrientDB & Node.js Overview - JS.Everywhere() KWOrientDB & Node.js Overview - JS.Everywhere() KW
OrientDB & Node.js Overview - JS.Everywhere() KWgmccarvell
 

What's hot (20)

Big query
Big queryBig query
Big query
 
Data Binding In Depth
Data Binding In DepthData Binding In Depth
Data Binding In Depth
 
Redshift VS BigQuery
Redshift VS BigQueryRedshift VS BigQuery
Redshift VS BigQuery
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use Cases
 
Offline First Apps With Couchbase Mobile and Xamarin
Offline First Apps With Couchbase Mobile and XamarinOffline First Apps With Couchbase Mobile and Xamarin
Offline First Apps With Couchbase Mobile and Xamarin
 
Visual Data Vault
Visual Data VaultVisual Data Vault
Visual Data Vault
 
Agile Data Engineering: Introduction to Data Vault 2.0 (2018)
Agile Data Engineering: Introduction to Data Vault 2.0 (2018)Agile Data Engineering: Introduction to Data Vault 2.0 (2018)
Agile Data Engineering: Introduction to Data Vault 2.0 (2018)
 
N1QL workshop: Indexing & Query turning.
N1QL workshop: Indexing & Query turning.N1QL workshop: Indexing & Query turning.
N1QL workshop: Indexing & Query turning.
 
OrientDB: Unlock the Value of Document Data Relationships
OrientDB: Unlock the Value of Document Data RelationshipsOrientDB: Unlock the Value of Document Data Relationships
OrientDB: Unlock the Value of Document Data Relationships
 
(OTW13) Agile Data Warehousing: Introduction to Data Vault Modeling
(OTW13) Agile Data Warehousing: Introduction to Data Vault Modeling(OTW13) Agile Data Warehousing: Introduction to Data Vault Modeling
(OTW13) Agile Data Warehousing: Introduction to Data Vault Modeling
 
Joins and Other MongoDB 3.2 Aggregation Enhancements
Joins and Other MongoDB 3.2 Aggregation EnhancementsJoins and Other MongoDB 3.2 Aggregation Enhancements
Joins and Other MongoDB 3.2 Aggregation Enhancements
 
Key note big data analytics ecosystem strategy
Key note   big data analytics ecosystem strategyKey note   big data analytics ecosystem strategy
Key note big data analytics ecosystem strategy
 
Making Sense of Schema on Read
Making Sense of Schema on ReadMaking Sense of Schema on Read
Making Sense of Schema on Read
 
Webinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with TableauWebinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
Webinar: Introducing the MongoDB Connector for BI 2.0 with Tableau
 
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...
Michael Hackstein - Polyglot Persistence & Multi-Model NoSQL Databases - NoSQ...
 
Democratizing Data at Airbnb
Democratizing Data at AirbnbDemocratizing Data at Airbnb
Democratizing Data at Airbnb
 
MongoDB World 2016: Keynote
MongoDB World 2016: KeynoteMongoDB World 2016: Keynote
MongoDB World 2016: Keynote
 
Using OBIEE and Data Vault to Virtualize Your BI Environment: An Agile Approach
Using OBIEE and Data Vault to Virtualize Your BI Environment: An Agile ApproachUsing OBIEE and Data Vault to Virtualize Your BI Environment: An Agile Approach
Using OBIEE and Data Vault to Virtualize Your BI Environment: An Agile Approach
 
Hybrid solutions – combining in memory solutions with SSD - Christos Erotocritou
Hybrid solutions – combining in memory solutions with SSD - Christos ErotocritouHybrid solutions – combining in memory solutions with SSD - Christos Erotocritou
Hybrid solutions – combining in memory solutions with SSD - Christos Erotocritou
 
OrientDB & Node.js Overview - JS.Everywhere() KW
OrientDB & Node.js Overview - JS.Everywhere() KWOrientDB & Node.js Overview - JS.Everywhere() KW
OrientDB & Node.js Overview - JS.Everywhere() KW
 

Viewers also liked

Neo, Titan & Cassandra
Neo, Titan & CassandraNeo, Titan & Cassandra
Neo, Titan & Cassandrajohnrjenson
 
Intro to Graph Databases Using Tinkerpop, TitanDB, and Gremlin
Intro to Graph Databases Using Tinkerpop, TitanDB, and GremlinIntro to Graph Databases Using Tinkerpop, TitanDB, and Gremlin
Intro to Graph Databases Using Tinkerpop, TitanDB, and GremlinCaleb Jones
 
Titan: Big Graph Data with Cassandra
Titan: Big Graph Data with CassandraTitan: Big Graph Data with Cassandra
Titan: Big Graph Data with CassandraMatthias Broecheler
 
Titan: The Rise of Big Graph Data
Titan: The Rise of Big Graph DataTitan: The Rise of Big Graph Data
Titan: The Rise of Big Graph DataMarko Rodriguez
 
Graph databases: Tinkerpop and Titan DB
Graph databases: Tinkerpop and Titan DBGraph databases: Tinkerpop and Titan DB
Graph databases: Tinkerpop and Titan DBMohamed Taher Alrefaie
 
Graph Processing with Apache TinkerPop
Graph Processing with Apache TinkerPopGraph Processing with Apache TinkerPop
Graph Processing with Apache TinkerPopJason Plurad
 
DataStax: Titan 1.0: Scalable real time and analytic graph queries
DataStax: Titan 1.0: Scalable real time and analytic graph queriesDataStax: Titan 1.0: Scalable real time and analytic graph queries
DataStax: Titan 1.0: Scalable real time and analytic graph queriesDataStax Academy
 
Gremlin: A Graph-Based Programming Language
Gremlin: A Graph-Based Programming LanguageGremlin: A Graph-Based Programming Language
Gremlin: A Graph-Based Programming LanguageMarko Rodriguez
 
Introduction to TitanDB
Introduction to TitanDB Introduction to TitanDB
Introduction to TitanDB Knoldus Inc.
 
Graphs are everywhere! Distributed graph computing with Spark GraphX
Graphs are everywhere! Distributed graph computing with Spark GraphXGraphs are everywhere! Distributed graph computing with Spark GraphX
Graphs are everywhere! Distributed graph computing with Spark GraphXAndrea Iacono
 
The Gremlin Graph Traversal Language
The Gremlin Graph Traversal LanguageThe Gremlin Graph Traversal Language
The Gremlin Graph Traversal LanguageMarko Rodriguez
 
An overview of Neo4j Internals
An overview of Neo4j InternalsAn overview of Neo4j Internals
An overview of Neo4j InternalsTobias Lindaaker
 
Graph Computing @ Strangeloop 2013
Graph Computing @ Strangeloop 2013Graph Computing @ Strangeloop 2013
Graph Computing @ Strangeloop 2013Matthias Broecheler
 
Cassandra Summit 2014: TitanDB - Scaling Relationship Data and Analysis with ...
Cassandra Summit 2014: TitanDB - Scaling Relationship Data and Analysis with ...Cassandra Summit 2014: TitanDB - Scaling Relationship Data and Analysis with ...
Cassandra Summit 2014: TitanDB - Scaling Relationship Data and Analysis with ...DataStax Academy
 
Corso base di Tecnologie WEB - una visione d'insieme
Corso base di Tecnologie WEB - una visione d'insiemeCorso base di Tecnologie WEB - una visione d'insieme
Corso base di Tecnologie WEB - una visione d'insiemeStudiabo
 
Addressing performance issues in titan+cassandra
Addressing performance issues in titan+cassandraAddressing performance issues in titan+cassandra
Addressing performance issues in titan+cassandraNakul Jeirath
 
I linguaggi di programmazione e il mondo open-source
I linguaggi di programmazione e il mondo open-sourceI linguaggi di programmazione e il mondo open-source
I linguaggi di programmazione e il mondo open-sourceBergamo Linux Users Group
 
Apache Cassandra for Timeseries- and Graph-Data
Apache Cassandra for Timeseries- and Graph-DataApache Cassandra for Timeseries- and Graph-Data
Apache Cassandra for Timeseries- and Graph-DataGuido Schmutz
 
Data stax webinar cassandra and titandb insights into datastax graph strategy...
Data stax webinar cassandra and titandb insights into datastax graph strategy...Data stax webinar cassandra and titandb insights into datastax graph strategy...
Data stax webinar cassandra and titandb insights into datastax graph strategy...DataStax
 

Viewers also liked (20)

Neo, Titan & Cassandra
Neo, Titan & CassandraNeo, Titan & Cassandra
Neo, Titan & Cassandra
 
Intro to Graph Databases Using Tinkerpop, TitanDB, and Gremlin
Intro to Graph Databases Using Tinkerpop, TitanDB, and GremlinIntro to Graph Databases Using Tinkerpop, TitanDB, and Gremlin
Intro to Graph Databases Using Tinkerpop, TitanDB, and Gremlin
 
Titan: Big Graph Data with Cassandra
Titan: Big Graph Data with CassandraTitan: Big Graph Data with Cassandra
Titan: Big Graph Data with Cassandra
 
Titan: The Rise of Big Graph Data
Titan: The Rise of Big Graph DataTitan: The Rise of Big Graph Data
Titan: The Rise of Big Graph Data
 
Graph databases: Tinkerpop and Titan DB
Graph databases: Tinkerpop and Titan DBGraph databases: Tinkerpop and Titan DB
Graph databases: Tinkerpop and Titan DB
 
Graph Processing with Apache TinkerPop
Graph Processing with Apache TinkerPopGraph Processing with Apache TinkerPop
Graph Processing with Apache TinkerPop
 
DataStax: Titan 1.0: Scalable real time and analytic graph queries
DataStax: Titan 1.0: Scalable real time and analytic graph queriesDataStax: Titan 1.0: Scalable real time and analytic graph queries
DataStax: Titan 1.0: Scalable real time and analytic graph queries
 
Gremlin: A Graph-Based Programming Language
Gremlin: A Graph-Based Programming LanguageGremlin: A Graph-Based Programming Language
Gremlin: A Graph-Based Programming Language
 
Introduction to TitanDB
Introduction to TitanDB Introduction to TitanDB
Introduction to TitanDB
 
Graphs are everywhere! Distributed graph computing with Spark GraphX
Graphs are everywhere! Distributed graph computing with Spark GraphXGraphs are everywhere! Distributed graph computing with Spark GraphX
Graphs are everywhere! Distributed graph computing with Spark GraphX
 
The Gremlin Graph Traversal Language
The Gremlin Graph Traversal LanguageThe Gremlin Graph Traversal Language
The Gremlin Graph Traversal Language
 
An overview of Neo4j Internals
An overview of Neo4j InternalsAn overview of Neo4j Internals
An overview of Neo4j Internals
 
Graph Computing @ Strangeloop 2013
Graph Computing @ Strangeloop 2013Graph Computing @ Strangeloop 2013
Graph Computing @ Strangeloop 2013
 
Cassandra Summit 2014: TitanDB - Scaling Relationship Data and Analysis with ...
Cassandra Summit 2014: TitanDB - Scaling Relationship Data and Analysis with ...Cassandra Summit 2014: TitanDB - Scaling Relationship Data and Analysis with ...
Cassandra Summit 2014: TitanDB - Scaling Relationship Data and Analysis with ...
 
Corso base di Tecnologie WEB - una visione d'insieme
Corso base di Tecnologie WEB - una visione d'insiemeCorso base di Tecnologie WEB - una visione d'insieme
Corso base di Tecnologie WEB - una visione d'insieme
 
Addressing performance issues in titan+cassandra
Addressing performance issues in titan+cassandraAddressing performance issues in titan+cassandra
Addressing performance issues in titan+cassandra
 
The Path Forward
The Path ForwardThe Path Forward
The Path Forward
 
I linguaggi di programmazione e il mondo open-source
I linguaggi di programmazione e il mondo open-sourceI linguaggi di programmazione e il mondo open-source
I linguaggi di programmazione e il mondo open-source
 
Apache Cassandra for Timeseries- and Graph-Data
Apache Cassandra for Timeseries- and Graph-DataApache Cassandra for Timeseries- and Graph-Data
Apache Cassandra for Timeseries- and Graph-Data
 
Data stax webinar cassandra and titandb insights into datastax graph strategy...
Data stax webinar cassandra and titandb insights into datastax graph strategy...Data stax webinar cassandra and titandb insights into datastax graph strategy...
Data stax webinar cassandra and titandb insights into datastax graph strategy...
 

Similar to Titan: Scaling Graphs and TinkerPop3

Polyglot ClickHouse -- ClickHouse SF Meetup Sept 10
Polyglot ClickHouse -- ClickHouse SF Meetup Sept 10Polyglot ClickHouse -- ClickHouse SF Meetup Sept 10
Polyglot ClickHouse -- ClickHouse SF Meetup Sept 10Altinity Ltd
 
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLBit...
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLBit...Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLBit...
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLBit...Cathrine Wilhelmsen
 
IBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter Analysis
IBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter AnalysisIBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter Analysis
IBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter AnalysisTorsten Steinbach
 
Cassandra Tutorial
Cassandra TutorialCassandra Tutorial
Cassandra Tutorialmubarakss
 
Patterns for key-value stores
Patterns for key-value storesPatterns for key-value stores
Patterns for key-value storesOle-Martin Mørk
 
Molecule Scala meta-DSL for Datomic
Molecule Scala meta-DSL for DatomicMolecule Scala meta-DSL for Datomic
Molecule Scala meta-DSL for DatomicMarc Grue
 
SQL Database Design & Querying
SQL Database Design & QueryingSQL Database Design & Querying
SQL Database Design & QueryingCobain Schofield
 
Pragmatic Patterns (and Pitfalls) for Event Streaming in Brownfield Environme...
Pragmatic Patterns (and Pitfalls) for Event Streaming in Brownfield Environme...Pragmatic Patterns (and Pitfalls) for Event Streaming in Brownfield Environme...
Pragmatic Patterns (and Pitfalls) for Event Streaming in Brownfield Environme...HostedbyConfluent
 
Types Working for You, Not Against You
Types Working for You, Not Against YouTypes Working for You, Not Against You
Types Working for You, Not Against YouC4Media
 
A Little Graph Theory for the Busy Developer - Jim Webber @ GraphConnect Chic...
A Little Graph Theory for the Busy Developer - Jim Webber @ GraphConnect Chic...A Little Graph Theory for the Busy Developer - Jim Webber @ GraphConnect Chic...
A Little Graph Theory for the Busy Developer - Jim Webber @ GraphConnect Chic...Neo4j
 
A Few of My Favorite (Python) Things
A Few of My Favorite (Python) ThingsA Few of My Favorite (Python) Things
A Few of My Favorite (Python) ThingsMichael Pirnat
 
OakTable World 2015 - Using XMLType content with the Oracle In-Memory Column...
OakTable World 2015  - Using XMLType content with the Oracle In-Memory Column...OakTable World 2015  - Using XMLType content with the Oracle In-Memory Column...
OakTable World 2015 - Using XMLType content with the Oracle In-Memory Column...Marco Gralike
 
Cobrix – a COBOL Data Source for Spark
Cobrix – a COBOL Data Source for SparkCobrix – a COBOL Data Source for Spark
Cobrix – a COBOL Data Source for SparkDataWorks Summit
 
Postgres indexes: how to make them work for your application
Postgres indexes: how to make them work for your applicationPostgres indexes: how to make them work for your application
Postgres indexes: how to make them work for your applicationBartosz Sypytkowski
 
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLSat...
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLSat...Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLSat...
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLSat...Cathrine Wilhelmsen
 
It's Not You. It's Your Data Model.
It's Not You. It's Your Data Model.It's Not You. It's Your Data Model.
It's Not You. It's Your Data Model.Alex Powers
 
JavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdfJavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdfAnton Arhipov
 
Design Patterns for Building 360-degree Views with HBase and Kiji
Design Patterns for Building 360-degree Views with HBase and KijiDesign Patterns for Building 360-degree Views with HBase and Kiji
Design Patterns for Building 360-degree Views with HBase and KijiHBaseCon
 

Similar to Titan: Scaling Graphs and TinkerPop3 (20)

Polyglot ClickHouse -- ClickHouse SF Meetup Sept 10
Polyglot ClickHouse -- ClickHouse SF Meetup Sept 10Polyglot ClickHouse -- ClickHouse SF Meetup Sept 10
Polyglot ClickHouse -- ClickHouse SF Meetup Sept 10
 
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLBit...
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLBit...Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLBit...
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLBit...
 
IBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter Analysis
IBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter AnalysisIBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter Analysis
IBM Insight 2015 - 1824 - Using Bluemix and dashDB for Twitter Analysis
 
Cassandra Tutorial
Cassandra TutorialCassandra Tutorial
Cassandra Tutorial
 
Patterns for key-value stores
Patterns for key-value storesPatterns for key-value stores
Patterns for key-value stores
 
Molecule Scala meta-DSL for Datomic
Molecule Scala meta-DSL for DatomicMolecule Scala meta-DSL for Datomic
Molecule Scala meta-DSL for Datomic
 
SQL Database Design & Querying
SQL Database Design & QueryingSQL Database Design & Querying
SQL Database Design & Querying
 
Pragmatic Patterns (and Pitfalls) for Event Streaming in Brownfield Environme...
Pragmatic Patterns (and Pitfalls) for Event Streaming in Brownfield Environme...Pragmatic Patterns (and Pitfalls) for Event Streaming in Brownfield Environme...
Pragmatic Patterns (and Pitfalls) for Event Streaming in Brownfield Environme...
 
Types Working for You, Not Against You
Types Working for You, Not Against YouTypes Working for You, Not Against You
Types Working for You, Not Against You
 
A Little Graph Theory for the Busy Developer - Jim Webber @ GraphConnect Chic...
A Little Graph Theory for the Busy Developer - Jim Webber @ GraphConnect Chic...A Little Graph Theory for the Busy Developer - Jim Webber @ GraphConnect Chic...
A Little Graph Theory for the Busy Developer - Jim Webber @ GraphConnect Chic...
 
A Few of My Favorite (Python) Things
A Few of My Favorite (Python) ThingsA Few of My Favorite (Python) Things
A Few of My Favorite (Python) Things
 
OakTable World 2015 - Using XMLType content with the Oracle In-Memory Column...
OakTable World 2015  - Using XMLType content with the Oracle In-Memory Column...OakTable World 2015  - Using XMLType content with the Oracle In-Memory Column...
OakTable World 2015 - Using XMLType content with the Oracle In-Memory Column...
 
What the C?
What the C?What the C?
What the C?
 
Cobrix – a COBOL Data Source for Spark
Cobrix – a COBOL Data Source for SparkCobrix – a COBOL Data Source for Spark
Cobrix – a COBOL Data Source for Spark
 
Postgres indexes: how to make them work for your application
Postgres indexes: how to make them work for your applicationPostgres indexes: how to make them work for your application
Postgres indexes: how to make them work for your application
 
League of Graphs
League of GraphsLeague of Graphs
League of Graphs
 
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLSat...
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLSat...Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLSat...
Tools and Tips: From Accidental to Efficient Data Warehouse Developer (SQLSat...
 
It's Not You. It's Your Data Model.
It's Not You. It's Your Data Model.It's Not You. It's Your Data Model.
It's Not You. It's Your Data Model.
 
JavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdfJavaZone 2022 - Building Kotlin DSL.pdf
JavaZone 2022 - Building Kotlin DSL.pdf
 
Design Patterns for Building 360-degree Views with HBase and Kiji
Design Patterns for Building 360-degree Views with HBase and KijiDesign Patterns for Building 360-degree Views with HBase and Kiji
Design Patterns for Building 360-degree Views with HBase and Kiji
 

More from Matthias Broecheler

Titan - Graph Computing with Cassandra
Titan - Graph Computing with CassandraTitan - Graph Computing with Cassandra
Titan - Graph Computing with CassandraMatthias Broecheler
 
Adding Value through graph analysis using Titan and Faunus
Adding Value through graph analysis using Titan and FaunusAdding Value through graph analysis using Titan and Faunus
Adding Value through graph analysis using Titan and FaunusMatthias Broecheler
 
PMatch: Probabilistic Subgraph Matching on Huge Social Networks
PMatch: Probabilistic Subgraph Matching on Huge Social NetworksPMatch: Probabilistic Subgraph Matching on Huge Social Networks
PMatch: Probabilistic Subgraph Matching on Huge Social NetworksMatthias Broecheler
 
Budget-Match: Cost Effective Subgraph Matching on Large Networks
Budget-Match: Cost Effective Subgraph Matching on Large NetworksBudget-Match: Cost Effective Subgraph Matching on Large Networks
Budget-Match: Cost Effective Subgraph Matching on Large NetworksMatthias Broecheler
 
Computing Marginal in CCMRFs - NIPS 2010
Computing Marginal in CCMRFs - NIPS 2010Computing Marginal in CCMRFs - NIPS 2010
Computing Marginal in CCMRFs - NIPS 2010Matthias Broecheler
 
A Scalable Framework for Modeling Competitive Diffusion in Social Networks
A Scalable Framework for Modeling Competitive Diffusion in Social NetworksA Scalable Framework for Modeling Competitive Diffusion in Social Networks
A Scalable Framework for Modeling Competitive Diffusion in Social NetworksMatthias Broecheler
 
COSI: Cloud Oriented Subgraph Identification in Massive Social Networks
COSI: Cloud Oriented Subgraph Identification in Massive Social NetworksCOSI: Cloud Oriented Subgraph Identification in Massive Social Networks
COSI: Cloud Oriented Subgraph Identification in Massive Social NetworksMatthias Broecheler
 

More from Matthias Broecheler (12)

Titan @ Gitpro Conference 2014
Titan @ Gitpro Conference 2014Titan @ Gitpro Conference 2014
Titan @ Gitpro Conference 2014
 
Titan NYC Meetup March 2014
Titan NYC Meetup March 2014Titan NYC Meetup March 2014
Titan NYC Meetup March 2014
 
Titan - Graph Computing with Cassandra
Titan - Graph Computing with CassandraTitan - Graph Computing with Cassandra
Titan - Graph Computing with Cassandra
 
Data Day Texas 2013
Data Day Texas 2013Data Day Texas 2013
Data Day Texas 2013
 
Adding Value through graph analysis using Titan and Faunus
Adding Value through graph analysis using Titan and FaunusAdding Value through graph analysis using Titan and Faunus
Adding Value through graph analysis using Titan and Faunus
 
Big Graph Data
Big Graph DataBig Graph Data
Big Graph Data
 
PMatch: Probabilistic Subgraph Matching on Huge Social Networks
PMatch: Probabilistic Subgraph Matching on Huge Social NetworksPMatch: Probabilistic Subgraph Matching on Huge Social Networks
PMatch: Probabilistic Subgraph Matching on Huge Social Networks
 
Budget-Match: Cost Effective Subgraph Matching on Large Networks
Budget-Match: Cost Effective Subgraph Matching on Large NetworksBudget-Match: Cost Effective Subgraph Matching on Large Networks
Budget-Match: Cost Effective Subgraph Matching on Large Networks
 
Probabilistic Soft Logic
Probabilistic Soft LogicProbabilistic Soft Logic
Probabilistic Soft Logic
 
Computing Marginal in CCMRFs - NIPS 2010
Computing Marginal in CCMRFs - NIPS 2010Computing Marginal in CCMRFs - NIPS 2010
Computing Marginal in CCMRFs - NIPS 2010
 
A Scalable Framework for Modeling Competitive Diffusion in Social Networks
A Scalable Framework for Modeling Competitive Diffusion in Social NetworksA Scalable Framework for Modeling Competitive Diffusion in Social Networks
A Scalable Framework for Modeling Competitive Diffusion in Social Networks
 
COSI: Cloud Oriented Subgraph Identification in Massive Social Networks
COSI: Cloud Oriented Subgraph Identification in Massive Social NetworksCOSI: Cloud Oriented Subgraph Identification in Massive Social Networks
COSI: Cloud Oriented Subgraph Identification in Massive Social Networks
 

Recently uploaded

What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 

Recently uploaded (20)

What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 

Titan: Scaling Graphs and TinkerPop3

  • 1. AURELIUS THINKAURELIUS.COM Titan:db Graphs at Scale #TitanDB Matthias Broecheler @mbroecheler December 2nd, MMXIV
  • 2. software is eating the world
  • 3. >;N; >LCP?H software is eating the world
  • 6. Tabular Relational Flexibility Handling Data Model Query Language NoSQL
  • 7. Tabular Relational NoSQL Graph Flexibility Handling Data Model Query Language Simplicity Flexibility Handling Data Model Query Language
  • 8. productid: 52235 name: cup price: 12.55 userid: matt email: matt@ password: 12345 User Product
  • 9. User Product userid email password ma. ma.@ 12345 john john@ qwerty billy billy@ abcde produc=d name price 52235 cup 12.55 42215 spoon 7.22 24529 knife 5.32
  • 10. productid: 52235 name: cup price: 12.55 userid: matt email: matt@ password: 12345 User Product buy time: 9/5/14
  • 11. User Product userid email password ma. ma.@ 12345 john john@ qwerty billy billy@ abcde produc=d name price 52235 cup 12.55 42215 spoon 7.22 24529 knife 5.32 userid produc=d =me ma. 52235 9/5/14 billy 42215 8/7/14 billy 42215 8/7/14 Buy
  • 12.
  • 13. 7B;N >C> -;NN <OSg g.V.has(‘email’,’matt@’).out(‘buy’).valueMap!
  • 14. 7B;N >C> -;NN <OSg SELECT Product.* ! FROM User! INNER JOIN Buy ! !ON User.userid = Buy.userid! INNER JOIN Product ! !ON Buy.productid = Product.productid! WHERE User.email = ‘matt@’ !
  • 15. SELECT TOP (5) [t14].[ProductName] FROM (SELECT COUNT(*) AS [value], [t13].[ProductName] FROM [customers] AS [t0] CROSS APPLY (SELECT [t9].[ProductName] FROM [orders] AS [t1] CROSS JOIN [order details] AS [t2] INNER JOIN [products] AS [t3] ON [t3].[ProductID] = [t2].[ProductID] CROSS JOIN [order details] AS [t4] INNER JOIN [orders] AS [t5] ON [t5].[OrderID] = [t4].[OrderID] LEFT JOIN [customers] AS [t6] ON [t6].[CustomerID] = [t5].[CustomerID] CROSS JOIN ([orders] AS [t7] CROSS JOIN [order details] AS [t8] INNER JOIN [products] AS [t9] ON [t9].[ProductID] = [t8].[ProductID]) WHERE NOT EXISTS(SELECT NULL AS [EMPTY] FROM [orders] AS [t10] CROSS JOIN [order details] AS [t11] INNER JOIN [products] AS [t12] ON [t12].[ProductID] = [t11].[ProductID] WHERE [t9].[ProductID] = [t12].[ProductID] AND [t10].[CustomerID] = [t0].[CustomerID] AND [t11].[OrderID] = [t10].[OrderID]) AND [t6].[CustomerID] <> [t0].[CustomerID] AND [t1].[CustomerID] = [t0].[CustomerID] AND [t2].[OrderID] = [t1].[OrderID] AND [t4].[ProductID] = [t3].[ProductID] AND [t7].[CustomerID] = [t6].[CustomerID] AND [t8].[OrderID] = [t7].[OrderID]) AS [t13] WHERE [t0].[CustomerID] = N'ALFKI' GROUP BY [t13].[ProductName]) AS [t14] ORDER BY [t14].[value] DESC
  • 16. g.V.has('customerId’,cid).as('customer') .out('orderedProduct’).as('products') .in('orderedProduct').except('customer') .out('orderedProduct’).except('products') .productName.groupCount.cap. .map{it.sort{-it.value}}.next()[0..<5] h.p://sql2gremlin.com/
  • 17. TinkerPop 3 coming soon Graph Server Graph Algorithms Object-Graph Mapper Traversal Language Dataflow Processing Generic Graph API http://www.tinkerpop.com/docs/3.0.0.M6/
  • 18. label: demigod name: Hercules label: god name: Neptune age: 4500 brothermother label: god name: Jupiter label: monster name: Cerberus father father brother battled pet time:12 label: god name: Pluto age: 4000 label: human name: Alcmene age: 45 label: titan name: Saturn age: 10000 label: monster name: Hydra battled time: 2
  • 19. AURELIUS THINKAURELIUS.COM Titan:db Architecture & Internals titandb.io
  • 21. Flexible Persistence Partitionability ConsistencyAvailability
  • 22. Graph Schema ! Labels & Keys ! Vertex Property Cardinality ! Single, Set, List ! Edge Multiplicity ! Multi, Simple, Many2One, One2Many, One2One ! Constraints & Consistency
  • 25. Vertex Representation 5 Property Property Out-Edge In-Edge Out-Edge In-Edge In-Edge LIQ CH>C=?M @IL @;MN P?LN?R =?HNLC= KO?LC?M <SN? IL>?L MILNCHA =?FF t =IFOGH q P;FO? LIQ E?S
  • 26. Vertex-Centric Index ! Create a vertex-centric index per edge label or property key to optimize for retrieval patterns ! Through Titan’s management API ! Supports multiple indexes name: Hercules surname: Mighty label: user time:24 bought title: “Muscle building for beginners” label: product [bought, time, DESC]
  • 27. battled battled battled time: 3 time: 5 v time: 1 fatherfought fought mother battled time: 9 v!
  • 28. battled battled battled time: 3 time: 5 v time: 1 mother father battled time: 9 v.outE()!
  • 29. battled battled battled time: 3 time: 5 v time: 1 battled time: 9 v.outE(‘battled’)!
  • 30. v battled battled time: 1 time: 3 v.outE(‘battled’)! .has(‘time’,lt,5)! .inV!
  • 31. Faster Querying ! Multi-Query ! Bulk querying reduces latency ! Currently manual ! Order in vertex-centric query ! Adjacency-constraint ! Faster edge retrievals " Titan Query Optimizer
  • 32. Graph Index ! Composite internal index ! Can be unique ! Label specific index ! Multiple external indexes label: user name: Hercules surname: Mighty time:24 bought label: product title: “Muscle building for beginners”
  • 34. Token Ring (BOP) Graph Partitioning - assigns ids to map vertices into “optimal” token range - Maintains virtual partitions Vertical Partitioning = divide communities
  • 35. Vertex Partitioning Each partition contains one “part” of a partitioned vertex Horizontal Partitioning = split super vertices
  • 37. label: demigod name: Hercules label: god name: Neptune age: 4500 brothermother label: god name: Jupiter label: monster name: Cerberus father father brother battled pet time:12 label: god name: Pluto age: 4000 label: human name: Alcmene age: 45 label: titan name: Saturn age: 10000 label: monster name: Hydra battled time: 2 OLTP
  • 38. label: demigod name: Hercules label: god name: Neptune age: 4500 brothermother label: god name: Jupiter label: monster name: Cerberus father father brother battled pet time:12 label: god name: Pluto age: 4000 label: human name: Alcmene age: 45 label: titan name: Saturn age: 10000 label: monster name: Hydra battled time: 2 OLAP
  • 39. Faunus Work Flow g.V.out .out .count() hdfs://user/ubuntu/ output/job-0/ output/job-1/ output/job-2/ { graph* sideeffect* Compressed HDFS Graphs ! stored in sequence files ! variable length encoding ! prefix compression
  • 40. Degree Distribution GitHub Network g.V.sideEffect{ it.degree = it.out(‘follows’).count() }.degree.groupCount
  • 41. Degree Distribution P(k) ~ k-γ γ = 2.2
  • 42. Complete Architecture ! Users & Apps Processing Event OLTP OLAP Q Continuous Computing Interactive Query Batch Query (ETL)
  • 46. http://arli.us/edu-planet-scale © Sean York @ Pearson Education
  • 49. 7B?H NI OM? 'L;JB $;N;<;M?Mg Map+ NoSQL K V V V V Persistence Tabular Data-driven Graph
  • 50. 7B?H NI OM? 'L;JB $;N;<;M?Mg Map+ NoSQL K V V V V Persistence Tabular Data-driven Graph Complexity
  • 51. AURELIUS THINKAURELIUS.COM @AURELIUSGRAPHS aureliusgraphs@googlegroups.com