SlideShare a Scribd company logo
Graph Databases
Analyzing Relationships at Scale
#DDTX13

Matthias Broecheler, CTO
@mbroecheler               AURELIUS
March XXX, MMXIII          THINKAURELIUS.COM
THE BRAIN
EMERGENCE
name: Neptune
   name: Alcmene
                         type: god
       type: human
                         age: 4500
       age: 45



                                                            Property
Vertex

         name: Saturn
   name: Jupiter
   name: Hercules
      name: Hydra
         type: titan
    type: god
       type: demigod
       type: monster
         age: 10000




                         name: Pluto
     name: Cerberus
                         type: god
       type: monster
                         age: 4000




                                                            Graph
name: Neptune
                  name: Alcmene
                                     type: god
                      type: human
                                     age: 4500
                      age: 45


Edge
                          brother
                         mother


       name: Saturn
                 name: Jupiter
                  name: Hercules
      name: Hydra
       type: titan
                  type: god
                      type: demigod
       type: monster
       age: 10000


                father
                       father
                       battled
                                                                           time: 2
                                                          battled
                          brother
                                                        time:12
                                                                                          Edge
                                                                                        Property
                                     name: Pluto
                    name: Cerberus
                                     type: god
                      type: monster
                                     age: 4000
   Edge
   Label                                       pet



                                                                                       Graph
name: Neptune
                  name: Alcmene
                              type: god
                      type: human
                              age: 4500
                      age: 45




                   brother
                         mother


name: Saturn
                 name: Jupiter
                  name: Hercules
     name: Hydra
type: titan
                  type: god
                      type: demigod
      type: monster
age: 10000


         father
                       father
                       battled
                                                                    time: 2
                                                   battled
                   brother
                                                 time:12


                              name: Pluto
                    name: Cerberus
                              type: god
                      type: monster
                              age: 4000


                                        pet



                                                                                Path
name: Neptune
                  name: Alcmene
                              type: god
                      type: human
                              age: 4500
                      age: 45




                   brother
                         mother


name: Saturn
                 name: Jupiter
                  name: Hercules
      name: Hydra
type: titan
                  type: god
                      type: demigod
       type: monster
age: 10000


         father
                       father
                       battled
                                                                    time: 2
                                                   battled
                   brother
                                                 time:12


                              name: Pluto
                    name: Cerberus
                              type: god
                      type: monster
                              age: 4000


                                        pet



                                                                                Degree
name: Neptune
                  name: Alcmene
                              type: god
                      type: human
                              age: 4500
                      age: 45




                   brother
                         mother


name: Saturn
                 name: Jupiter
                  name: Hercules
       name: Hydra
type: titan
                  type: god
                      type: demigod
        type: monster
age: 10000


         father
                       father
                       battled
                                                                    time: 2
                                                   battled
                   brother
                                                 time:12


                              name: Pluto
                    name: Cerberus
                              type: god
                      type: monster
                              age: 4000


                                        pet


                                                                                Shortest
                                                                                 Paths
name: Neptune
                  name: Alcmene
                              type: god
                      type: human
                              age: 4500
                      age: 45




                   brother
                         mother


name: Saturn
                 name: Jupiter
                  name: Hercules
   name: Hydra
type: titan
                  type: god
                      type: demigod
    type: monster
age: 10000


         father
                       father
                       battled
                                                                    time: 2
                                                   battled
                   brother
                                                 time:12


                              name: Pluto
                    name: Cerberus
                              type: god
                      type: monster
                              age: 4000


                                        pet



                                                                           Centrality
Tinkerpop Graph Stack
                  Graph
                  Server


                  Graph
                Algorithms


               Object-Graph
                 Mapper


                Traversal
                Language


                 Dataflow
                Processing


                 Generic
                Graph API
name: Neptune
                  name: Alcmene
                              type: god
                      type: human
                              age: 4500
                      age: 45




                   brother
                         mother


name: Saturn
                 name: Jupiter
                  name: Hercules
   name: Hydra
type: titan
                  type: god
                      type: demigod
    type: monster
age: 10000


         father
                       father
                       battled
                                                                    time: 2
                                                   battled
                   brother
                                                 time:12


                              name: Pluto
                    name: Cerberus
                              type: god
                      type: monster
                              age: 4000


                                        pet



                                        g.V!
                                        g.E!
name: Neptune
                       name: Alcmene
                                     type: god
                           type: human
                                     age: 4500
                           age: 45




                          brother
                         mother


       name: Saturn
                 name: Jupiter
                       name: Hercules
   name: Hydra
       type: titan
                  type: god
                           type: demigod
    type: monster
       age: 10000

                                                                     v
          battled
                father
                       father
                                                                                time: 2
                                                          battled
                          brother
                                                        time:12


                                     name: Pluto
                         name: Cerberus
                                     type: god
                           type: monster
                                     age: 4000


                                               pet



v = g.V(‘name’,’Hercules’)!
name: Neptune
                       name: Alcmene
                                     type: god
                           type: human
                                     age: 4500
                           age: 45




                          brother
                         mother


       name: Saturn
                 name: Jupiter
                       name: Hercules
   name: Hydra
       type: titan
                  type: god
                           type: demigod
    type: monster
       age: 10000

                                                                     v
          battled
                father
                       father
                                                                                time: 2
                                                          battled
                          brother
                                                        time:12


                                     name: Pluto
                         name: Cerberus
                                     type: god
                           type: monster
                                     age: 4000


                                               pet



v.out(‘father’,’mother’)!
name: Neptune
                       name: Alcmene
                                     type: god
                           type: human
                                     age: 4500
                           age: 45




                          brother
                         mother


       name: Saturn
                 name: Jupiter
                       name: Hercules
   name: Hydra
       type: titan
                  type: god
                           type: demigod
    type: monster
       age: 10000

                                                                     v
          battled
                father
                       father
                                                                                time: 2
                                                          battled
                          brother
                                                        time:12


                                     name: Pluto
                         name: Cerberus
                                     type: god
                           type: monster
                                     age: 4000


                                               pet



v.out(‘father’).out(‘brother’).name!
name: Neptune
                       name: Alcmene
                                     type: god
                           type: human
                                     age: 4500
                           age: 45




                          brother
                         mother


       name: Saturn
                 name: Jupiter
                       name: Hercules
   name: Hydra
       type: titan
                  type: god
                           type: demigod
    type: monster
       age: 10000

                                                                     v
          battled
                father
                       father
                                                                                time: 2
                                                          battled
                          brother
                                                        time:12


                                     name: Pluto
                         name: Cerberus
                                     type: god
                           type: monster
                                     age: 4000


                                               pet



v.outE(‘battled’).has(‘time’,T.gt,5).inV.name!
name: Neptune
                       name: Alcmene
                                     type: god
                           type: human
                                     age: 4500
                           age: 45




                          brother
                         mother


       name: Saturn
                 name: Jupiter
                       name: Hercules
   name: Hydra
       type: titan
                  type: god
                           type: demigod
    type: monster
       age: 10000

                                                                     v
          battled
                father
                       father
                                                                                time: 2
                                                          battled
                          brother
                                                        time:12


                                     name: Pluto
                         name: Cerberus
                                     type: god
                           type: monster
                                     age: 4000


                                               pet



v.out(‘father’).out(‘brother’)!
.has(‘age’,T.lt,4200).name!
name: Neptune
                  name: Alcmene
                                     type: god
                      type: human
                                     age: 4500
                      age: 45




                          brother
                         mother


       name: Saturn
                 name: Jupiter
                  name: Hercules
   name: Hydra
       type: titan
                  type: god
                      type: demigod
    type: monster
       age: 10000


                father
                       father
                       battled
                                                                           time: 2
                                                          battled
                          brother
                                                        time:12


                                     name: Pluto
                    name: Cerberus
                                     type: god
                      type: monster
                                     age: 4000


                                               pet



g.query().has(‘age’,T.gt,4200).vertices()!
name: Neptune
                  name: Alcmene
                                     type: god
                      type: human
                                     age: 4500
                      age: 45




                          brother
                         mother


       name: Saturn
                 name: Jupiter
                  name: Hercules
   name: Hydra
       type: titan
                  type: god
                      type: demigod
    type: monster
       age: 10000


                father
                       father
                       battled
                                                                           time: 2
                                                          battled
                          brother
                                                        time:12


                                     name: Pluto
                    name: Cerberus
                                     type: god
                      type: monster
                                     age: 4000


                                               pet



g.query().has(‘time’,T.lt,5).edges()!
name: Neptune
                  name: Alcmene
                                     type: god
                      type: human
                                     age: 4500
                      age: 45




                          brother
                         mother


       name: Saturn
                 name: Jupiter
                  name: Hercules
   name: Hydra
       type: titan
                  type: god
                      type: demigod
    type: monster
       age: 10000


                father
                       father
                       battled
                                                                           time: 2
                                                          battled
                          brother
                                                        time:12


                                     name: Pluto
                    name: Cerberus
                                     type: god
                      type: monster
                                     age: 4000


                                               pet



saturn.as('x').in('father')!
.loop('x'){it.loops < 3}.next()!
name: Neptune
                  name: Alcmene
                                     type: god
                      type: human
                                     age: 4500
                      age: 45




                          brother
                         mother


       name: Saturn
                 name: Jupiter
                  name: Hercules
   name: Hydra
       type: titan
                  type: god
                      type: demigod
    type: monster
       age: 10000


                father
                       father
                       battled
                                                                           time: 2
                                                          battled
                          brother
                                                        time:12


                                     name: Pluto
                    name: Cerberus
                                     type: god
                      type: monster
                                     age: 4000


                                               pet

g.V.sideEffect{

 !it.rank = it.both.both.both.count()

}!
Speed of Traversal/Process
     The Graph Landscape




Illustration only, not to scale
                                         Size of Graph
Apache 2

            Aurelius Graph Cluster
          TITAN                                 FAUNUS                               FULGORA




                                Map/Reduce
                                                                          Load

                                 Bulk Load




                                 Analysis results
                                 back into Titan


    Stores a massive-scale                    Batch processing of large           Runs global graph algorithms
property graph allowing real-                   graphs with Hadoop
                  on large, compressed,
 time traversals and updates
                                                          in-memory graphs
Titan Features
  Numerous Concurrent Users
  Many Short Transactions
    read/write
  Real-time Traversals (OLTP)
  High Availability
  Dynamic Scalability
  Variable Consistency Model
    ACID or eventual consistency
  Real-time Big Graph Data
Storage Backends
               Partitionability




Consistency
                       Availability
$ ./titan-0.2.0/bin/gremlin.sh!
  ! ! !,,,/!
         (o o)!
-----oOOo-(_)-oOOo-----!
gremlin> g = TitanFactory.open('/tmp/titan')!
==>titangraph[local:/tmp/titan]!
gremlin> v = g.V(‘name’,’Hercules’)!
==>v[4]!
gremlin> v.out(‘father’).out(‘brother’).name!
Vertex-Centric Indices
  Sort and index edges per
   vertex by primary key
    Primary key can be composite
  Enables efficient focused
   traversals
    Only retrieve edges that matter
  Uses push down predicates for
   quick, index-driven retrieval
battled
         battled
        battled
 time: 1
        time: 3
        time: 5



       mother
                       battled
                            v
                  v.query()!
                                     time: 9



  father
        fought
         fought
battled
         battled
        battled
 time: 1
        time: 3
        time: 5



       mother
                       battled
                            v
                  v.query()!
                                     time: 9
                                                 .direction(OUT)!

  father
battled
    battled
        battled
 time: 1
   time: 3
        time: 5




                                battled
                       v
                  v.query()!
                                time: 9
                                            .direction(OUT)!
                                            .labels(‘battled’)!
battled
    battled
 time: 1
   time: 3




                       v
   v.query()!
                             .direction(OUT)!
                             .labels(‘battled’)!
                             .has(‘time,T.lt,5)!
Titan Server

         REST
                                            REXPRO




$ wget http://s3.thinkaurelius.com/downloads/titan/titan-cassandra-0.3.0.zip!
$ unzip titan-cassandra-0.3.0.zip!
$ cd titan-cassandra-0.3.0!
$ sudo bin/titan.sh config/titan-server-rexster.xml config/titan-server-
cassandra.properties!
Graph Indexing
  Vertex and Edge indexing
  Pluggable index provider
    ElasticSearch
    Lucene
  Full-text search
  Numeric range search
  Geographic search
name: Neptune
                 name: Alcmene
                              age: 4500
                     type: human
                              title: God of the              age: 45
                              earth and ocean




                   brother
                       mother

                              name: Jupiter
name: Saturn
                 age: 4800
                     name: Hercules
            name: Hydra
type: titan
                  title: God of the              title: Divine hero
        type: monster
age: 10000
                   heaven and skies


         father
                       father
                       battled
                                                               time: 2
                                                  battled
     locaion: [37.7,23.9]
                   brother
           time:12
                                      location: [39,22]

                              name: Pluto
                                                             name: Cerberus
                              age: 4000
                                                             title: Ugly beast of the
                              title: God of the
                                                             underworld
                              underworld

                                         pet
name: Neptune
                 name: Alcmene
                                    age: 4500
                     type: human
                                    title: God of the              age: 45
                                    earth and ocean




                         brother
                       mother

                                    name: Jupiter
      name: Saturn
                 age: 4800
                     name: Hercules
            name: Hydra
      type: titan
                  title: God of the              title: Divine hero
        type: monster
      age: 10000
                   heaven and skies


               father
                       father
                       battled
                                                                     time: 2
                                                        battled
     locaion: [37.7,23.9]
                         brother
           time:12
                                            location: [39,22]

                                    name: Pluto
                                                                   name: Cerberus
                                    age: 4000
                                                                   title: Ugly beast of the
                                    title: God of the
                                                                   underworld
                                    underworld

                                               pet




g.query().has(‘title’,Txt.CONTAINS,’god’).vertices()!
name: Neptune
                 name: Alcmene
                              age: 4500
                     type: human
                              title: God of the              age: 45
                              earth and ocean




                   brother
                       mother

                              name: Jupiter
name: Saturn
                 age: 4800
                     name: Hercules
            name: Hydra
type: titan
                  title: God of the              title: Divine hero
        type: monster
age: 10000
                   heaven and skies


         father
                       father
                       battled
                                                               time: 2
                                                  battled
     locaion: [37.7,23.9]
                   brother
           time:12
                                      location: [39,22]

                              name: Pluto
                                                             name: Cerberus
                              age: 4000
                                                             title: Ugly beast of the
                              title: God of the
                                                             underworld
                              underworld

                                         pet



g.query().has(‘age’,GREATER_THAN,4500)

.has(‘title’,CONTAINS,’god’).vertices()!
name: Neptune
                 name: Alcmene
                              age: 4500
                     type: human
                              title: God of the              age: 45
                              earth and ocean




                   brother
                       mother

                              name: Jupiter
name: Saturn
                 age: 4800
                     name: Hercules
            name: Hydra
type: titan
                  title: God of the              title: Divine hero
        type: monster
age: 10000
                   heaven and skies


         father
                       father
                       battled
                                                               time: 2
                                                  battled
     locaion: [37.7,23.9]
                   brother
           time:12
                                      location: [39,22]

                              name: Pluto
                                                             name: Cerberus
                              age: 4000
                                                             title: Ugly beast of the
                              title: God of the
                                                             underworld
                              underworld

                                         pet




        g.query().has(‘location’,WITHIN,

       Geoshape.circle(38,24,50).edges()!
Faunus Features
  Hadoop-based Graph
   Computing Framework
  Graph Analytics
  Breadth-first Traversals
  Global Graph Computations
  Batch Big Graph Data
Faunus Architecture




         g._()!
Faunus Work Flow

g.V.out                        .out                   .count()




                                  hdfs://user/ubuntu/
                                      output/job-0/
                                      output/job-1/       graph*
                                      output/job-2/   {   sideeffect*
Compressed HDFS Graphs
  stored in sequence files
  variable length encoding
  prefix compression
Faunus Setup


$ bin/gremlin.sh !

         ,,,/!
         (o o)!
-----oOOo-(_)-oOOo-----!
gremlin> g = FaunusFactory.open('bin/titan-hbase.properties')!
==>faunusgraph[titanhbaseinputformat]!
gremlin> g.getProperties()!
==>faunus.graph.input.format=com.thinkaurelius.faunus.formats.titan.hbase.TitanHBaseInputFormat
==>faunus.graph.output.format=org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat!
==>faunus.sideeffect.output.format=org.apache.hadoop.mapreduce.lib.output.TextOutputFormat!
==>faunus.output.location=dbpedia!
==>faunus.output.location.overwrite=true!
gremlin> g._() !
12/11/09 15:17:45 INFO mapreduce.FaunusCompiler: Compiled to 1 MapReduce job(s)!
12/11/09 15:17:45 INFO mapreduce.FaunusCompiler: Executing job 1 out of 1:
MapSequence[com.thinkaurelius.faunus.mapreduce.transform.IdentityMap.Map]!
12/11/09 15:17:50 INFO mapred.JobClient: Running job: job_201211081058_0003!
Build a Knowledge Graph
  Based on DBPedia
    Graph version of Wikipedia
    ~290 million edges (~1B triples)
1.  Bulk load RDF into Faunus
    6 m1.xlarge
2.  Convert to property graph
3.  Bulk load into Titan
    3 m1.xlarge with Cassandra
4.  OLTP+OLAP
    Total Time: ~ 2 hours
Graph OLTP

gremlin> g = TitanFactory.open('bin/cassandra.local')   !
==>titangraph[cassandrathrift:10.176.213.110]!

gremlin> g.V('name','Random_walker_algorithm').both.name!
==>Random_walk!
==>Segmentation_(image_processing)!
==>Graph_(mathematics)!
==>Laplacian_matrix!
==>Graph!
==>Laplacian_matrix!
==>Electrical_network!
==>Resistor!
==>Electrical_resistance_and_conductance!
==>Ground_(electricity)!
==>Direct_current!
==>Voltage_source!
==>Precomputation!
==>Category:Computer_vision!
==>Random_Walker_(Computer_Vision)!
==>List_of_algorithms!
==>Segmentation_(image_processing)!
==>Watershed_(image_processing)!
==>Random_walker_(computer_vision)!
==>Random_Walker_(computer_vision)!
Graph OLAP

gremlin> g.V('name','Learning').out.out.out.out[0..10].name !
==>Latium!
==>Roman_Kingdom!
==>Roman_Republic!
==>Roman_Empire!
==>Middle_Ages!
==>Early_modern_Europe!
==>Armenian_Kingdom_of_Cilicia!
==>Lingua_franca!
==>Vatican_City!
==>Vulgar_Latin!
==>Romance_languages!
Complex Problem


1.  Identify Entities
2.  Identify Relationships
3.  Apply Graph Analysis
Apache 2

            Aurelius Graph Cluster
          TITAN                                 FAUNUS                               FULGORA




                                Map/Reduce
                                                                          Load

                                 Bulk Load




                                 Analysis results
      aureliusgraphs@googlegroups.com
                                 back into Titan


    Stores a massive-scale                    Batch processing of large           Runs global graph algorithms
property graph allowing real-                   graphs with Hadoop
                  on large, compressed,
 time traversals and updates
                                                          in-memory graphs
TINKERPOP.COM
Thanks!


   Vadas Gintautas
    Marko Rodriguez
   @vadasg
            @twarko


   Stephen Mallette
   Daniel LaRocque
   @spmallette

                           AURELIUS
                           THINKAURELIUS.COM
We are Hiring



   AURELIUS
  THINKAURELIUS.COM
   @AURELIUSGRAPHS

More Related Content

Viewers also liked

Legacy to industry leader: a modernization case study
Legacy to industry leader: a modernization case studyLegacy to industry leader: a modernization case study
Legacy to industry leader: a modernization case study
OSSCube
 
Talend for the Enterprise
Talend for the EnterpriseTalend for the Enterprise
Talend for the Enterprise
OSSCube
 
Titan NYC Meetup March 2014
Titan NYC Meetup March 2014Titan NYC Meetup March 2014
Titan NYC Meetup March 2014
Matthias Broecheler
 
GRAPH 101- GETTING STARTED WITH TITAN AND CASSANDRA
GRAPH 101- GETTING STARTED WITH TITAN AND CASSANDRAGRAPH 101- GETTING STARTED WITH TITAN AND CASSANDRA
GRAPH 101- GETTING STARTED WITH TITAN AND CASSANDRAShaunak Das
 
Using MySQL Fabric for High Availability and Scaling Out
Using MySQL Fabric for High Availability and Scaling OutUsing MySQL Fabric for High Availability and Scaling Out
Using MySQL Fabric for High Availability and Scaling Out
OSSCube
 
Titan - Graph Computing with Cassandra
Titan - Graph Computing with CassandraTitan - Graph Computing with Cassandra
Titan - Graph Computing with Cassandra
Matthias Broecheler
 
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
DataStax Academy
 
Cassandra Community Webinar | Cassandra 2.0 - Better, Faster, Stronger
Cassandra Community Webinar | Cassandra 2.0 - Better, Faster, StrongerCassandra Community Webinar | Cassandra 2.0 - Better, Faster, Stronger
Cassandra Community Webinar | Cassandra 2.0 - Better, Faster, Stronger
DataStax
 
Cassandra Community Webinar | Introduction to Apache Cassandra 1.2
Cassandra Community Webinar | Introduction to Apache Cassandra 1.2Cassandra Community Webinar | Introduction to Apache Cassandra 1.2
Cassandra Community Webinar | Introduction to Apache Cassandra 1.2
DataStax
 
Titan and Cassandra at WellAware
Titan and Cassandra at WellAwareTitan and Cassandra at WellAware
Titan and Cassandra at WellAware
twilmes
 
Discovering User's Topics of Interest in Recommender Systems
Discovering User's Topics of Interest in Recommender SystemsDiscovering User's Topics of Interest in Recommender Systems
Discovering User's Topics of Interest in Recommender Systems
Gabriel Moreira
 
TinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBsTinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBs
Joshua Shinavier
 
Webinar: Five Ways a Technology Refresh Strategy Can Help Make Your Digital T...
Webinar: Five Ways a Technology Refresh Strategy Can Help Make Your Digital T...Webinar: Five Ways a Technology Refresh Strategy Can Help Make Your Digital T...
Webinar: Five Ways a Technology Refresh Strategy Can Help Make Your Digital T...
OSSCube
 
C*ollege Credit: CEP Distribtued Processing on Cassandra with Storm
C*ollege Credit: CEP Distribtued Processing on Cassandra with StormC*ollege Credit: CEP Distribtued Processing on Cassandra with Storm
C*ollege Credit: CEP Distribtued Processing on Cassandra with Storm
DataStax
 
Graph Computing @ Strangeloop 2013
Graph Computing @ Strangeloop 2013Graph Computing @ Strangeloop 2013
Graph Computing @ Strangeloop 2013
Matthias Broecheler
 
C*ollege Credit: Creating Your First App in Java with Cassandra
C*ollege Credit: Creating Your First App in Java with CassandraC*ollege Credit: Creating Your First App in Java with Cassandra
C*ollege Credit: Creating Your First App in Java with CassandraDataStax
 
Accelerate Your Digital Transformation Journey with Pimcore
Accelerate Your Digital Transformation Journey with PimcoreAccelerate Your Digital Transformation Journey with Pimcore
Accelerate Your Digital Transformation Journey with Pimcore
OSSCube
 
Titan @ Gitpro Conference 2014
Titan @ Gitpro Conference 2014Titan @ Gitpro Conference 2014
Titan @ Gitpro Conference 2014
Matthias Broecheler
 
Cassandra Community Webinar: Apache Cassandra Internals
Cassandra Community Webinar: Apache Cassandra InternalsCassandra Community Webinar: Apache Cassandra Internals
Cassandra Community Webinar: Apache Cassandra Internals
DataStax
 
Cassandra Community Webinar: Back to Basics with CQL3
Cassandra Community Webinar: Back to Basics with CQL3Cassandra Community Webinar: Back to Basics with CQL3
Cassandra Community Webinar: Back to Basics with CQL3
DataStax
 

Viewers also liked (20)

Legacy to industry leader: a modernization case study
Legacy to industry leader: a modernization case studyLegacy to industry leader: a modernization case study
Legacy to industry leader: a modernization case study
 
Talend for the Enterprise
Talend for the EnterpriseTalend for the Enterprise
Talend for the Enterprise
 
Titan NYC Meetup March 2014
Titan NYC Meetup March 2014Titan NYC Meetup March 2014
Titan NYC Meetup March 2014
 
GRAPH 101- GETTING STARTED WITH TITAN AND CASSANDRA
GRAPH 101- GETTING STARTED WITH TITAN AND CASSANDRAGRAPH 101- GETTING STARTED WITH TITAN AND CASSANDRA
GRAPH 101- GETTING STARTED WITH TITAN AND CASSANDRA
 
Using MySQL Fabric for High Availability and Scaling Out
Using MySQL Fabric for High Availability and Scaling OutUsing MySQL Fabric for High Availability and Scaling Out
Using MySQL Fabric for High Availability and Scaling Out
 
Titan - Graph Computing with Cassandra
Titan - Graph Computing with CassandraTitan - Graph Computing with Cassandra
Titan - Graph Computing with Cassandra
 
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
 
Cassandra Community Webinar | Cassandra 2.0 - Better, Faster, Stronger
Cassandra Community Webinar | Cassandra 2.0 - Better, Faster, StrongerCassandra Community Webinar | Cassandra 2.0 - Better, Faster, Stronger
Cassandra Community Webinar | Cassandra 2.0 - Better, Faster, Stronger
 
Cassandra Community Webinar | Introduction to Apache Cassandra 1.2
Cassandra Community Webinar | Introduction to Apache Cassandra 1.2Cassandra Community Webinar | Introduction to Apache Cassandra 1.2
Cassandra Community Webinar | Introduction to Apache Cassandra 1.2
 
Titan and Cassandra at WellAware
Titan and Cassandra at WellAwareTitan and Cassandra at WellAware
Titan and Cassandra at WellAware
 
Discovering User's Topics of Interest in Recommender Systems
Discovering User's Topics of Interest in Recommender SystemsDiscovering User's Topics of Interest in Recommender Systems
Discovering User's Topics of Interest in Recommender Systems
 
TinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBsTinkerPop: a story of graphs, DBs, and graph DBs
TinkerPop: a story of graphs, DBs, and graph DBs
 
Webinar: Five Ways a Technology Refresh Strategy Can Help Make Your Digital T...
Webinar: Five Ways a Technology Refresh Strategy Can Help Make Your Digital T...Webinar: Five Ways a Technology Refresh Strategy Can Help Make Your Digital T...
Webinar: Five Ways a Technology Refresh Strategy Can Help Make Your Digital T...
 
C*ollege Credit: CEP Distribtued Processing on Cassandra with Storm
C*ollege Credit: CEP Distribtued Processing on Cassandra with StormC*ollege Credit: CEP Distribtued Processing on Cassandra with Storm
C*ollege Credit: CEP Distribtued Processing on Cassandra with Storm
 
Graph Computing @ Strangeloop 2013
Graph Computing @ Strangeloop 2013Graph Computing @ Strangeloop 2013
Graph Computing @ Strangeloop 2013
 
C*ollege Credit: Creating Your First App in Java with Cassandra
C*ollege Credit: Creating Your First App in Java with CassandraC*ollege Credit: Creating Your First App in Java with Cassandra
C*ollege Credit: Creating Your First App in Java with Cassandra
 
Accelerate Your Digital Transformation Journey with Pimcore
Accelerate Your Digital Transformation Journey with PimcoreAccelerate Your Digital Transformation Journey with Pimcore
Accelerate Your Digital Transformation Journey with Pimcore
 
Titan @ Gitpro Conference 2014
Titan @ Gitpro Conference 2014Titan @ Gitpro Conference 2014
Titan @ Gitpro Conference 2014
 
Cassandra Community Webinar: Apache Cassandra Internals
Cassandra Community Webinar: Apache Cassandra InternalsCassandra Community Webinar: Apache Cassandra Internals
Cassandra Community Webinar: Apache Cassandra Internals
 
Cassandra Community Webinar: Back to Basics with CQL3
Cassandra Community Webinar: Back to Basics with CQL3Cassandra Community Webinar: Back to Basics with CQL3
Cassandra Community Webinar: Back to Basics with CQL3
 

More from Matthias Broecheler

Titan: Scaling Graphs and TinkerPop3
Titan: Scaling Graphs and TinkerPop3Titan: Scaling Graphs and TinkerPop3
Titan: Scaling Graphs and TinkerPop3
Matthias Broecheler
 
Big Graph Data
Big Graph DataBig Graph Data
Big Graph Data
Matthias Broecheler
 
Titan: Big Graph Data with Cassandra
Titan: Big Graph Data with CassandraTitan: Big Graph Data with Cassandra
Titan: Big Graph Data with Cassandra
Matthias 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 Networks
Matthias 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
 
Probabilistic Soft Logic
Probabilistic Soft LogicProbabilistic Soft Logic
Probabilistic Soft Logic
Matthias Broecheler
 
Computing Marginal in CCMRFs - NIPS 2010
Computing Marginal in CCMRFs - NIPS 2010Computing Marginal in CCMRFs - NIPS 2010
Computing Marginal in CCMRFs - NIPS 2010
Matthias 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 Networks
Matthias Broecheler
 

More from Matthias Broecheler (9)

Titan: Scaling Graphs and TinkerPop3
Titan: Scaling Graphs and TinkerPop3Titan: Scaling Graphs and TinkerPop3
Titan: Scaling Graphs and TinkerPop3
 
Big Graph Data
Big Graph DataBig Graph Data
Big Graph Data
 
Titan: Big Graph Data with Cassandra
Titan: Big Graph Data with CassandraTitan: Big Graph Data with Cassandra
Titan: Big Graph Data with Cassandra
 
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

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 

Recently uploaded (20)

Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 

Data Day Texas 2013

  • 1. Graph Databases Analyzing Relationships at Scale #DDTX13 Matthias Broecheler, CTO @mbroecheler AURELIUS March XXX, MMXIII THINKAURELIUS.COM
  • 3.
  • 5. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 Property Vertex name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 name: Pluto name: Cerberus type: god type: monster age: 4000 Graph
  • 6. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 Edge brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 father father battled time: 2 battled brother time:12 Edge Property name: Pluto name: Cerberus type: god type: monster age: 4000 Edge Label pet Graph
  • 7. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 father father battled time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet Path
  • 8. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 father father battled time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet Degree
  • 9. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 father father battled time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet Shortest Paths
  • 10. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 father father battled time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet Centrality
  • 11. Tinkerpop Graph Stack Graph Server Graph Algorithms Object-Graph Mapper Traversal Language Dataflow Processing Generic Graph API
  • 12. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 father father battled time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet g.V! g.E!
  • 13. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 v battled father father time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet v = g.V(‘name’,’Hercules’)!
  • 14. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 v battled father father time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet v.out(‘father’,’mother’)!
  • 15. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 v battled father father time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet v.out(‘father’).out(‘brother’).name!
  • 16. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 v battled father father time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet v.outE(‘battled’).has(‘time’,T.gt,5).inV.name!
  • 17. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 v battled father father time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet v.out(‘father’).out(‘brother’)! .has(‘age’,T.lt,4200).name!
  • 18. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 father father battled time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet g.query().has(‘age’,T.gt,4200).vertices()!
  • 19. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 father father battled time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet g.query().has(‘time’,T.lt,5).edges()!
  • 20. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 father father battled time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet saturn.as('x').in('father')! .loop('x'){it.loops < 3}.next()!
  • 21. name: Neptune name: Alcmene type: god type: human age: 4500 age: 45 brother mother name: Saturn name: Jupiter name: Hercules name: Hydra type: titan type: god type: demigod type: monster age: 10000 father father battled time: 2 battled brother time:12 name: Pluto name: Cerberus type: god type: monster age: 4000 pet g.V.sideEffect{
 !it.rank = it.both.both.both.count()
 }!
  • 22. Speed of Traversal/Process The Graph Landscape Illustration only, not to scale Size of Graph
  • 23. Apache 2 Aurelius Graph Cluster TITAN FAUNUS FULGORA Map/Reduce Load Bulk Load Analysis results back into Titan Stores a massive-scale Batch processing of large Runs global graph algorithms property graph allowing real- graphs with Hadoop on large, compressed, time traversals and updates in-memory graphs
  • 24. Titan Features   Numerous Concurrent Users   Many Short Transactions   read/write   Real-time Traversals (OLTP)   High Availability   Dynamic Scalability   Variable Consistency Model   ACID or eventual consistency   Real-time Big Graph Data
  • 25. Storage Backends Partitionability Consistency Availability
  • 26. $ ./titan-0.2.0/bin/gremlin.sh! ! ! !,,,/! (o o)! -----oOOo-(_)-oOOo-----! gremlin> g = TitanFactory.open('/tmp/titan')! ==>titangraph[local:/tmp/titan]! gremlin> v = g.V(‘name’,’Hercules’)! ==>v[4]! gremlin> v.out(‘father’).out(‘brother’).name!
  • 27. Vertex-Centric Indices   Sort and index edges per vertex by primary key   Primary key can be composite   Enables efficient focused traversals   Only retrieve edges that matter   Uses push down predicates for quick, index-driven retrieval
  • 28. battled battled battled time: 1 time: 3 time: 5 mother battled v v.query()! time: 9 father fought fought
  • 29. battled battled battled time: 1 time: 3 time: 5 mother battled v v.query()! time: 9 .direction(OUT)! father
  • 30. battled battled battled time: 1 time: 3 time: 5 battled v v.query()! time: 9 .direction(OUT)! .labels(‘battled’)!
  • 31. battled battled time: 1 time: 3 v v.query()! .direction(OUT)! .labels(‘battled’)! .has(‘time,T.lt,5)!
  • 32. Titan Server REST REXPRO $ wget http://s3.thinkaurelius.com/downloads/titan/titan-cassandra-0.3.0.zip! $ unzip titan-cassandra-0.3.0.zip! $ cd titan-cassandra-0.3.0! $ sudo bin/titan.sh config/titan-server-rexster.xml config/titan-server- cassandra.properties!
  • 33. Graph Indexing   Vertex and Edge indexing   Pluggable index provider   ElasticSearch   Lucene   Full-text search   Numeric range search   Geographic search
  • 34. name: Neptune name: Alcmene age: 4500 type: human title: God of the age: 45 earth and ocean brother mother name: Jupiter name: Saturn age: 4800 name: Hercules name: Hydra type: titan title: God of the title: Divine hero type: monster age: 10000 heaven and skies father father battled time: 2 battled locaion: [37.7,23.9] brother time:12 location: [39,22] name: Pluto name: Cerberus age: 4000 title: Ugly beast of the title: God of the underworld underworld pet
  • 35. name: Neptune name: Alcmene age: 4500 type: human title: God of the age: 45 earth and ocean brother mother name: Jupiter name: Saturn age: 4800 name: Hercules name: Hydra type: titan title: God of the title: Divine hero type: monster age: 10000 heaven and skies father father battled time: 2 battled locaion: [37.7,23.9] brother time:12 location: [39,22] name: Pluto name: Cerberus age: 4000 title: Ugly beast of the title: God of the underworld underworld pet g.query().has(‘title’,Txt.CONTAINS,’god’).vertices()!
  • 36. name: Neptune name: Alcmene age: 4500 type: human title: God of the age: 45 earth and ocean brother mother name: Jupiter name: Saturn age: 4800 name: Hercules name: Hydra type: titan title: God of the title: Divine hero type: monster age: 10000 heaven and skies father father battled time: 2 battled locaion: [37.7,23.9] brother time:12 location: [39,22] name: Pluto name: Cerberus age: 4000 title: Ugly beast of the title: God of the underworld underworld pet g.query().has(‘age’,GREATER_THAN,4500)
 .has(‘title’,CONTAINS,’god’).vertices()!
  • 37. name: Neptune name: Alcmene age: 4500 type: human title: God of the age: 45 earth and ocean brother mother name: Jupiter name: Saturn age: 4800 name: Hercules name: Hydra type: titan title: God of the title: Divine hero type: monster age: 10000 heaven and skies father father battled time: 2 battled locaion: [37.7,23.9] brother time:12 location: [39,22] name: Pluto name: Cerberus age: 4000 title: Ugly beast of the title: God of the underworld underworld pet g.query().has(‘location’,WITHIN,
 Geoshape.circle(38,24,50).edges()!
  • 38. Faunus Features   Hadoop-based Graph Computing Framework   Graph Analytics   Breadth-first Traversals   Global Graph Computations   Batch Big Graph Data
  • 40. Faunus Work Flow g.V.out .out .count() hdfs://user/ubuntu/ output/job-0/ output/job-1/ graph* output/job-2/ { sideeffect* Compressed HDFS Graphs   stored in sequence files   variable length encoding   prefix compression
  • 41. Faunus Setup $ bin/gremlin.sh ! ,,,/! (o o)! -----oOOo-(_)-oOOo-----! gremlin> g = FaunusFactory.open('bin/titan-hbase.properties')! ==>faunusgraph[titanhbaseinputformat]! gremlin> g.getProperties()! ==>faunus.graph.input.format=com.thinkaurelius.faunus.formats.titan.hbase.TitanHBaseInputFormat ==>faunus.graph.output.format=org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat! ==>faunus.sideeffect.output.format=org.apache.hadoop.mapreduce.lib.output.TextOutputFormat! ==>faunus.output.location=dbpedia! ==>faunus.output.location.overwrite=true! gremlin> g._() ! 12/11/09 15:17:45 INFO mapreduce.FaunusCompiler: Compiled to 1 MapReduce job(s)! 12/11/09 15:17:45 INFO mapreduce.FaunusCompiler: Executing job 1 out of 1: MapSequence[com.thinkaurelius.faunus.mapreduce.transform.IdentityMap.Map]! 12/11/09 15:17:50 INFO mapred.JobClient: Running job: job_201211081058_0003!
  • 42. Build a Knowledge Graph   Based on DBPedia   Graph version of Wikipedia   ~290 million edges (~1B triples) 1.  Bulk load RDF into Faunus   6 m1.xlarge 2.  Convert to property graph 3.  Bulk load into Titan   3 m1.xlarge with Cassandra 4.  OLTP+OLAP   Total Time: ~ 2 hours
  • 43. Graph OLTP gremlin> g = TitanFactory.open('bin/cassandra.local') ! ==>titangraph[cassandrathrift:10.176.213.110]! gremlin> g.V('name','Random_walker_algorithm').both.name! ==>Random_walk! ==>Segmentation_(image_processing)! ==>Graph_(mathematics)! ==>Laplacian_matrix! ==>Graph! ==>Laplacian_matrix! ==>Electrical_network! ==>Resistor! ==>Electrical_resistance_and_conductance! ==>Ground_(electricity)! ==>Direct_current! ==>Voltage_source! ==>Precomputation! ==>Category:Computer_vision! ==>Random_Walker_(Computer_Vision)! ==>List_of_algorithms! ==>Segmentation_(image_processing)! ==>Watershed_(image_processing)! ==>Random_walker_(computer_vision)! ==>Random_Walker_(computer_vision)!
  • 44. Graph OLAP gremlin> g.V('name','Learning').out.out.out.out[0..10].name ! ==>Latium! ==>Roman_Kingdom! ==>Roman_Republic! ==>Roman_Empire! ==>Middle_Ages! ==>Early_modern_Europe! ==>Armenian_Kingdom_of_Cilicia! ==>Lingua_franca! ==>Vatican_City! ==>Vulgar_Latin! ==>Romance_languages!
  • 45.
  • 46.
  • 47.
  • 48. Complex Problem 1.  Identify Entities 2.  Identify Relationships 3.  Apply Graph Analysis
  • 49. Apache 2 Aurelius Graph Cluster TITAN FAUNUS FULGORA Map/Reduce Load Bulk Load Analysis results aureliusgraphs@googlegroups.com back into Titan Stores a massive-scale Batch processing of large Runs global graph algorithms property graph allowing real- graphs with Hadoop on large, compressed, time traversals and updates in-memory graphs
  • 51. Thanks! Vadas Gintautas Marko Rodriguez @vadasg @twarko Stephen Mallette Daniel LaRocque @spmallette AURELIUS THINKAURELIUS.COM
  • 52. We are Hiring AURELIUS THINKAURELIUS.COM @AURELIUSGRAPHS

Editor's Notes

  1. Health care: cancer, personalized medicinesocial systemseconomy
  2. Source:http://www.digitaltrends.com/mobile/inside-knowledge-graph-googles-deep-diving-semantic-search/
  3. http://socialmediatoday.com/larry-weintraub/1171711/facebook-seo-comes-life-graph-search-launches