big data, complex data - event management software · pdf filepeter neubauer neo technology...

31
Peter Neubauer Neo Technology #neo4j @peterneubauer [email protected] Big Data, Complex Data Managing Data and Complexity in Graph Databases

Upload: doananh

Post on 06-Mar-2018

221 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Peter NeubauerNeo Technology

#neo4j@[email protected]

Big Data, Complex Data

Managing Data and Complexity in Graph Databases

Page 2: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

NOSQL data models

Bigtable clones

Key-value stores

Document databases

Graph databases

Data complexity

Dat

a si

ze

Page 3: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Full Open Source, JavaEmbeddable and server basedIndex-free traversal of data on disk levelACID, JTA compliantTransactional Indexing framework

24/7 since 2003High Availability clustering supportGreat communityGreat bindings (Jruby, Python, REST, C#, PHP, Gremlin) Spring Data for access from Spring frameworkCloud deployments: AWS, Azure, Cloudfoundry(VMWare), Heroku

Page 4: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

The Neo4j model: Property GraphCore abstractions:

NodesRelationships between nodesProperties on both

name = “Emil”age = 29sex = “yes”

type = KNOWStime = 4 years

type = carvendor = “SAAB”model = “95 Aero”

11 22

33

Page 5: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Building a node space (core API)GraphDatabaseService graphDb = ... // Get factory

// Create Thomas 'Neo' AndersonNode mrAnderson = graphDb.createNode();mrAnderson.setProperty( "name", "Thomas Anderson" );mrAnderson.setProperty( "age", 29 );

// Create MorpheusNode morpheus = graphDb.createNode();morpheus.setProperty( "name", "Morpheus" );morpheus.setProperty( "rank", "Captain" );morpheus.setProperty( "occupation", "Total bad ass" );

// Create a relationship representing that they know each othermrAnderson.createRelationshipTo( morpheus, RelTypes.KNOWS );// ...create Trinity, Cypher, Agent Smith, Architect similarly

Page 6: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Building a node spaceGraphDatabaseService graphDb = ... // Get factoryTransaction tx = graphdb.beginTx();

// Create Thomas 'Neo' AndersonNode mrAnderson = graphDb.createNode();mrAnderson.setProperty( "name", "Thomas Anderson" );mrAnderson.setProperty( "age", 29 );

// Create MorpheusNode morpheus = graphDb.createNode();morpheus.setProperty( "name", "Morpheus" );morpheus.setProperty( "rank", "Captain" );morpheus.setProperty( "occupation", "Total bad ass" );

// Create a relationship representing that they know each othermrAnderson.createRelationshipTo( morpheus, RelTypes.KNOWS );// ...create Trinity, Cypher, Agent Smith, Architect similarlytx.commit();

Page 7: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Code (2): Traversing a node space

// Instantiate a traverser that returns Mr Anderson's friendsTraverser friendsTraverser = mrAnderson.traverse(

Traverser.Order.BREADTH_FIRST,StopEvaluator.END_OF_GRAPH,ReturnableEvaluator.ALL_BUT_START_NODE,RelTypes.KNOWS,Direction.OUTGOING );

// Traverse the node space and print out the resultSystem.out.println( "Mr Anderson's friends:" );for ( Node friend : friendsTraverser ){

System.out.printf( "At depth %d => %s%n",friendsTraverser.currentPosition().getDepth(),friend.getProperty( "name" ) );

}

Page 8: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Rubygem install neo4j

require ”rubygems”require 'neo4j'

class Person include Neo4j::NodeMixin property :name, :age, :occupation index :name has_n :friendsend

Neo4j::Transactoin.run do neo = Person.new :name=>'Neo', :age=>29 morpheus = Person.new :name=>'Morpheus', :occupation=>'badass' neo.friends << morpheusend

neo.friends.each {|p|...}

Page 9: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Neo4j 1.3 news

GPL Community Edition128 Billion primitives address spaceSpring Data integrationShort string → longWeb visualizationServer plugins for moving code to dataHA improvements

Page 10: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Neo4j High Availability

Page 11: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Neo4j – what do do people with it?

Complex and connected data >> 1M nodesRealtime analytics on transactional data (< 1s)

Network and Cloud ManagementMaster Data ManagementSocial applications (recommendations)Finance, Insurance (Fraud detection, financial BI)Spatial, Geolocation servicesOther

Bioinformatics, genomicsSemantic applications (RDF)Intelligence

Page 12: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Impact Analytics, CMDB, Network Management, Provisioning

Page 13: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Impact Analytics, CMDB, Network Management, Provisioning

Page 14: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Master Data Management

Page 15: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Customer MDMAll US HQ susidiaries with geo boundary validation (only SFO, LA)

Page 16: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Customer MDM

Page 17: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Social graphs

RecommendationsLocation based servicesInfluencersShortest path

Page 18: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Recommendation enginesUsage – the Web of Recommendation (Nova Spivak)

E-commerceAdsFriends, interests, places, partners etc.

Techniques – data localityGlobal heuristics

Page rankLocal recommendations

Shortest pathsHammock functionsRandom walks, energy diffusionDijkstra, A*, Shooting star etc

Page 19: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Financial data – fraud detection

name = “Mr Godfather”karma = veeeery-lowcash = more-than-you

11

amount = $1000

name = “Emil”cash = always-too-li'l

title = “ATM @ Wall St”id = 230918484233cash_left = 384204

33

1313

TRANSFER WITHDRAW

name = “The Tavern”lat = 1295238237long = 234823492

amount = $1000

name = ...

77

22

OWNS

DEPOSITTR

ANSF

ER

name = ...

4242

WITHDRAW

Page 20: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Call Data Records (CDR)Forming a (social) graphLocation basedPossible uses:

Find clusters (better plans)Build social connectionsFind influencers

Page 21: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Multiple indexes - GIS

Page 22: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Neo4j dynamic layers

Layer1

Layer2

Layer3

GeometryEncoder

DynamicQuery

DynamicStyles

DynamicMeta-Inf

Connected domain data Neo4j Spatial GIS and Spatial stacks

Page 23: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

OpenStreetMap

Page 24: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Network Topology analysis

Analytics of network coverage and frequenciesCell towersDrive dataInfrastructure

AnalyticsSpatial signal strengthAntenna placement and azimuthFrequency planningNetwork differences over timeReporting and charting

Page 25: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Cell network analysis

Page 26: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Cell network analysis

Page 27: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Routing, Logistics

Page 28: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Simulations (Energy market dynamics)

agents, markets, power plants, bids, substances, technologiesAnalysis of volatilities for market changesApplicable for fi nancial forecasting and regulations

Page 29: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

SummaryValue is in complexity of data Traditional models not good at handling the complexity of data

Index lookups and joins don't scaleGraph databases are optimized for connections between data elementsTransactional data and analytical data is the same

Real-time analytics on all dataDeeper and faster insight from complexity of data

Page 30: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

Questions?

Image credit: lost again! Sorry :(

Page 31: Big Data, Complex Data - Event Management Software · PDF filePeter Neubauer Neo Technology #neo4j @peterneubauer peter@neotechnology.com Big Data, Complex Data Managing Data and Complexity

http://neotechnology.com