SlideShare a Scribd company logo
1 of 36
Download to read offline
Moving	Graphs	to	Produc3on		
Ian	Robinson
Overview	
•  Solu%on	Architectures	
•  Hardware/So5ware	Requirements	
•  HA	Architecture	
•  Backups	
•  Monitoring	
•  Tes%ng
Solu3on	Architectures	
Server	
Server	with	Procedures	
Embedded
Solu3on	Architectures	
Server	
•  Server	infrastructure	wraps	embedded	Neo4j	
•  Binary	protocol	(Bolt)	
•  Uniform	drivers	(Java,	.NET,	Python,	JavaScript)	
Server	with	Procedures	
Embedded	
	
Cypher/Bolt	Cypher/Bolt	Cypher/Bolt	
Driver	
Applica%on	
Load	balancer
Solu3on	Architectures	
Server	
Server	with	Procedures	
•  Server-side	jar,	called	from	Cypher	
•  Execute	complex	logic	on	server	
•  Close	to	the	data	
•  Mul%ple	opera%ons	per	request	
•  Integrate	with	backend	systems	
•  Graph	global	queries,	schema	
introspec%on,	etc.	
Embedded	
Cypher/Bolt	REST	API	Cypher/Bolyt	
Driver	
Applica%on	
Load	balancer	
Cypher/Bolt	
Procedures	
hUps://github.com/neo4j-contrib/neo4j-apoc-procedures
Solu3on	Architectures	
Server	
Server	with	Procedures	
Embedded	
•  Host	Neo4j	in	applica%on’s	Java	process	
•  Access	to	Neo4j’s	Java	APIs	
Java	APIs	
Applica%on
Hardware	
CPU	
•  Intel	Core	i3	(minimum)	
•  Intel	Core	i7	(recommended)	
•  Neo4j	scales	with	the	number	of	cores	
•  Requires	Enterprise	to	scale	beyond	4	cores	
Disk	
•  SLC	(single-level	cell)	SSD	w/SATA	
•  ext4	(recommended),	ZFS	
•  Increase	permiUed	number	of	open	files	to	40,000+	
Memory	
•  Lots	of	RAM	(for	heap	+	page	cache)	
•  8-12	GB	heap	(up	to	24	GB)	
•  Explicitly	set	page	cache	to	(store	size	+	10%	+	headroom)	
–  Otherwise	defaults	to	50%	of	RAM	-	heap-size	(75%	pre	2.3)	
dbms.memory.pagecache.size=10g
neo4j.conf
SoEware	
Java	
•  OpenJDK	8	or	Oracle	Java	8		
•  IBM	JDK	8	on	POWER8	
•  G1	garbage	collector	
•  Default	from	2.3	
•  JDK	1.7.0_71	or	later	
Opera3ng	System	
•  Linux		
•  HP	UX		
•  Windows	2012	
wrapper.java.additional=-XX:+UseG1GC
neo4j-wrapper.conf	(pre	2.3)
EC2	Instances	
•  HVM	(hardware	virtual	machine)	over	PV	(paravirtual)	
•  C3	or	C4	(compute-op%mized)	
•  E.g	c4.2xlarge	(15	GiB	RAM,	8	vCPU,	1000	Mbps	EBS	throughput)	
•  R3	(memory-op%mized)	
•  E.g.	r3.xlarge	(30.5	GiB	RAM,	4	vCPU)	
•  Not	EBS-op%mized	by	default	
•  Use	HA	clustering	and	online	backups	for	increased	durability	
•  Distribute	cluster	across	Availability	Zones	in	a	Region
Local	Storage	
•  SSD	or	HDD	
•  Highest	I/O	performance	
•  Included	in	virtual	server	
•  Up	to	8	x	800	GB	SSD	(i2.8xlarge)	or	24	x	2000	GB	HDD	(d2.8xlarge)	
•  Lost	when	EC2	instance	is	terminated	
Elas3c	Block	Store	(EBS)	
•  AUached	to	EC2	instance	via	network	connec%on	
•  Up	to	16	TB	SSD	
•  Persist	even	if	EC2	instance	is	terminated	
•  Use	EBS-op%mized	EC2	instances	for	dedicated	throughput	to	EBS	
•  Provisioned	IOPS	(io1)	for	predictable	performance
•  Up	to	30	IOPS	per	GiB	
–  E.g.	300	GiB	volume,	9000	IOPS
HA	Architecture	
Database	
Transac%on	
Propaga%on	
Cluster	
Management	
Neo4j	HA	
Instance	2	
Database	
Transac%on	
Propaga%on	
Cluster	
Management	
Neo4j	HA	
Instance	1	
Database	
Transac%on	
Propaga%on	
Cluster	
Management	
Neo4j	HA	
Instance	3	
Master
Cluster	Configura3on	
Joining	Cluster	
•  ha.initial_hosts (neo4j.conf)	
•  List	of	servers	to	contact	when	joining	cluster	
•  All	hosts	must	be	available	when	star%ng	instance	
•  For	large	clusters,	supply	only	a	small	number	of	hosts,	e.g.	3	
Pull	and	Push	Transac3ons	
•  ha.pull_interval=10s (off	by	default)	
•  ha.tx_push_factor=1 (default,	but	best	efforts	only)	
Tuning	
•  ha.heartbeat_timeout=11s (default)	
•  Heartbeats	sent,	by	default,	every	5s	
•  Increase	%meouts	if	pauses	cause	heartbeats	to	be	delayed	
•  Warning:	it	will	take	longer	to	discover	an	instance	has	failed	
•  ha.role_switch_timeout=120s (default)	
•  Increase	if	new	instances	%meout	while	catching	up	with	master	on	startup
HA	Role	Endpoints	–	Useful	for	Load	Balancing	
Endpoint	 State	 Status	Code	 Body	
/db/manage/server/ha/master
	
Master	 200 OK true	
Slave	 404 Not Found false	
Unknown	 404 Not Found UNKNOWN	
/db/manage/server/ha/slave
	
Master	 404 Not Found false	
Slave	 200 OK true	
Unknown	 404 Not Found UNKNOWN	
/db/manage/server/ha/available
	
Master	 200 OK master	
Slave	 200 OK slave	
Unknown	 404 Not Found UNKNOWN	
From	2.3	onwards
dbms.security.ha_status_auth_enabled=false
neo4j.conf
HA	JMX	Endpoint	
JSON	Response	
•  Alive?	
•  Role	
•  Last	commiUed	transac%on	ID	
•  Instances	in	cluster	
•  Role	
•  Instance	ID	
•  Available?	
•  URI	
Iden%fy	slaves	
falling	behind	
Does	everyone	agree	
on	composi%on	of	
cluster?	
/db/manage/server/jmx/domain/org.neo4j/instance%3Dkernel%230%2Cname%3DHigh%20Availability
Cross	DC-Clusters	
•  Same	subnet	(consider	using	a	VPN)	
•  Bandwidth	between	DCs	aligned	with	write	throughput	
•  Common	prac%ce:	instances	in	secondary	run	as	slave-only	
•  Restricts	master	elec%on	to	the	primary	
•  When	failing	over,	reconfigure	instances	in	secondary	
ha.slave_only=true
neo4j.conf	
ha.slave_only=false
neo4j.conf
Scale	Horizontally	For	High	Read	Throughput	
Applica%on	
Master	 Slave	 Slave	
Load	Balancer	
e.g.	HAProxy	
ELB	
NGINX
Scale	Horizontally	For	High	Read	Throughput	
Applica%on	
Master	 Slave	 Slave	
Read	Load	Balancer	Write	Load	Balancer
HAProxy	Configura3on	
hUp://blog.armbruster-it.de/2015/08/neo4j-and-haproxy-some-best-prac%ces-and-tricks/
Configure	HAProxy	as	Read	Load	Balancer	
global
daemon
maxconn 256
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http-in
bind *:80
default_backend neo4j-slaves
backend neo4j-slaves
option httpchk GET /db/manage/server/ha/slave
server s1 10.0.1.10:7474 maxconn 32 check
server s2 10.0.1.11:7474 maxconn 32 check
server s3 10.0.1.12:7474 maxconn 32 check
listen admin
bind *:8080
stats enable
Configure	HAProxy	as	Read	Load	Balancer	
global
daemon
maxconn 256
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http-in
bind *:80
default_backend neo4j-slaves
backend neo4j-slaves
option httpchk GET /db/manage/server/ha/slave
server s1 10.0.1.10:7474 maxconn 32 check
server s2 10.0.1.11:7474 maxconn 32 check
server s3 10.0.1.12:7474 maxconn 32 check
listen admin
bind *:8080
stats enable
404 Not Found
false
404 Not Found
UNKNOWN
200 OK
true
Master	
Slave	
Unknown
Improve	Read	Performance	with	Cache	Sharding	
Applica%on	
1	 2	 3	
Load	Balancer	
MATCH (c:Country{name:'Australia'})...MATCH (c:Country{name:'Zambia'})...MATCH (c:Country{name:'Norway'})...
Cache	Sharding	Using	Consistent	Rou3ng	
Applica%on	
1	 2	 3	
Load	Balancer	
MATCH (c:Country{name:'Australia'})...MATCH (c:Country{name:'Zambia'})...MATCH (c:Country{name:'Norway'})...
A-I					1	
J-R					2	
S-Z					3	
MATCH (c:Country{name:'Zambia'})...MATCH (c:Country{name:'Norway'})...MATCH (c:Country{name:'Australia'})...
Configure	HAProxy	for	Cache	Sharding	
global
daemon
maxconn 256
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http-in
bind *:80
default_backend neo4j-slaves
backend neo4j-slaves
balance url_param country_code
server s1 10.0.1.10:7474 maxconn 32
server s2 10.0.1.11:7474 maxconn 32
server s3 10.0.1.12:7474 maxconn 32
listen admin
bind *:8080
stats enable
Configure	HAProxy	for	Cache	Sharding	
global
daemon
maxconn 256
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http-in
bind *:80
default_backend neo4j-slaves
backend neo4j-slaves
balance url_param country_code
server s1 10.0.1.10:7474 maxconn 32
server s2 10.0.1.11:7474 maxconn 32
server s3 10.0.1.12:7474 maxconn 32
listen admin
bind *:8080
stats enable
Backups	
Modes	
•  Full	
•  Incremental	
•  On	top	of	a	previous	backup	
•  Uses	logical	logs	to	apply	changes,	so	logs	must	be	kept	at	least	2	x	backup	interval	
	
	
	
Consistency	Check	
•  Part	of	full	backup	and	standalone	tool	
•  Evaluate	store	health	
•  -verify false to	disable	in	backup	
dbms.tx_log.rotation.retention_policy=7 days (default)
neo4j.conf
Backup	Strategies	
•  Local	or	remote	backups	
•  If	backing	up	to	remote	machine,	consistency	check	takes	place	offline	with	
respect	to	the	database	
•  Backup	from	a	dedicated	slave	or	round	robin	
•  Choose	a	schedule:	
•  Full	once	per	day,	incremental	every	hour	
•  To	restore	from	backup:	
•  Stop	instance	
•  Replace	graph.db	with	backup	
•  Start	instance
Backup	Strategies	
Backup	
Server	
A	 B	 C	
A	–	full	,	consistency	check	
B	–	full	,	consistency	check	
C	–	full	,	consistency	check	
A	–	incremental	
B	–	incremental	
C	–	incremental	
…	
A	–	incremental	
B	–	incremental	
C	–	incremental	
A	–	full	,	consistency	check	
B	–	full	,	consistency	check	
C	–	full	,	consistency	check	
bin/neo4j-backup 
-from single://neo4j.example.org:20000 
-to /backups/201510151318263/graph.db
-verify true|false
Monitoring	
Pull	
•  Metrics	available	via	JMX	and	HTTP	and	in	browser	
Push	
•  Metrics	publishing	from	2.3	onwards	(Enterprise)	
•  Node,	rela%onship,	property	counts	
•  Network/cluster	
•  Transac%ons	(ac%ve,	started,	commiUed,	rolled	back,	etc)	
•  Neo4j	page	cache	(page	faults,	evic%ons,	flushes,	excep%ons)	
•  JVM	
•  Published	to:	
•  Graphite	
•  Ganglia	
•  CSV	
metrics.graphite.enabled=true
metrics.graphite.server=52.29.63.174:2003
metrics.prefix=neo4j-1
neo4j.config
Collate	Internal	and	External	Views	of	the	System	
System	
•  collectd	
Database	
•  Metrics	
•  Tail	neo4j.log	
HA	Endpoints	
•  /db/manage/server/ha/master
•  /db/manage/server/ha/slave	
Server	Latencies	
•  hAp.log	
Cypher	Queries	
•  dbms.logs.query.enabled=true
•  dbms.logs.query.threshold=2s
Applica3on	metrics	
•  End-to-end	latencies
Test	at	Scale	
Soak	Tests	
•  Representa%ve	dataset	and	queries	
•  Peak	load	and	above	
Verify	
•  Correctness	
•  Performance	
•  Latency	
•  Throughput	
•  Stability	
Opera3ons	
•  Backup	
•  Disaster	recovery	
•  Replace	instances
Performance	Tip	–	Use	the	Cypher	Query	Planner	
8,386,880	hits	 59,272	hits	
CREATE INDEX
ON :Crime(description)
Performance	Tip	–	Write	Requests	
•  Align	the	number	of	concurrent	write	requests	with	the	number	of	
Neo4j	server	threads	on	the	master	
•  By	default,	number	of	server	threads	=	number	of	CPUs	reported	available	
by	the	JVM	
•  Configure	the	number	of	threads	in	neo4j.conf	using	
org.neo4j.server.webserver.maxthreads
•  Service	requests	from	a	thread	pool	in	your	applica%on	
•  Use	the	thread	pool	queue	depth	to	apply	back	pressure
Performance	Tip	–	Batch	Writes	Using	a	Queue	
Write	
Write	
Write	
Queue	
Single	
Thread	 Batch	
hUp://maxdemarzi.com/2013/09/05/scaling-writes/	
hUp://maxdemarzi.com/2014/07/01/scaling-concurrent-writes-in-neo4j/
Performance	Tip	–	JVM	
•  Look	for	GC	pauses	in	debug.log	
•  grep blocked data/databases/graph.db/debug.log
•  Caused	by	
•  Heap	too	small	
•  New/survivor	space	too	small	
•  Badly	wriUen	Cypher	query	or	stored	procedure
Enable	GC	Logging	
Log	will	be	wriUen	to	logs/neo4j-gc.log	
wrapper.java.additional=-Xloggc:logs/neo4j-gc.log
wrapper.java.additional=-XX:+PrintGCDetails
wrapper.java.additional=-XX:+PrintGCDateStamps
wrapper.java.additional=-XX:+PrintGCApplicationStoppedTime
wrapper.java.additional=-XX:+PrintTenuringDistribution
wrapper.java.additional=-XX:+PrintGCCause
neo4j-wrapper.conf
Thank	You

More Related Content

What's hot

What's hot (20)

Apache Knox setup and hive and hdfs Access using KNOX
Apache Knox setup and hive and hdfs Access using KNOXApache Knox setup and hive and hdfs Access using KNOX
Apache Knox setup and hive and hdfs Access using KNOX
 
Delivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXDelivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINX
 
Rate Limiting with NGINX and NGINX Plus
Rate Limiting with NGINX and NGINX PlusRate Limiting with NGINX and NGINX Plus
Rate Limiting with NGINX and NGINX Plus
 
Bee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installingBee con2016 presentation_20160125004_installing
Bee con2016 presentation_20160125004_installing
 
(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in Alfresco(Re)Indexing Large Repositories in Alfresco
(Re)Indexing Large Repositories in Alfresco
 
Elk ruminating on logs
Elk ruminating on logsElk ruminating on logs
Elk ruminating on logs
 
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.
 
Large scale near real-time log indexing with Flume and SolrCloud
Large scale near real-time log indexing with Flume and SolrCloudLarge scale near real-time log indexing with Flume and SolrCloud
Large scale near real-time log indexing with Flume and SolrCloud
 
Alfresco Security Best Practices 2012
Alfresco Security Best Practices 2012Alfresco Security Best Practices 2012
Alfresco Security Best Practices 2012
 
Kubernetes at Datadog Scale
Kubernetes at Datadog ScaleKubernetes at Datadog Scale
Kubernetes at Datadog Scale
 
Openstack Summit Vancouver 2018 - Multicloud Networking
Openstack Summit Vancouver 2018 - Multicloud NetworkingOpenstack Summit Vancouver 2018 - Multicloud Networking
Openstack Summit Vancouver 2018 - Multicloud Networking
 
Ef09 installing-alfresco-components-1-by-1
Ef09 installing-alfresco-components-1-by-1Ef09 installing-alfresco-components-1-by-1
Ef09 installing-alfresco-components-1-by-1
 
Discovering the 2 in Alfresco Search Services 2.0
Discovering the 2 in Alfresco Search Services 2.0Discovering the 2 in Alfresco Search Services 2.0
Discovering the 2 in Alfresco Search Services 2.0
 
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
 
Bee con2016 lightning_20160125005_ocr
Bee con2016 lightning_20160125005_ocrBee con2016 lightning_20160125005_ocr
Bee con2016 lightning_20160125005_ocr
 
Developing with the Go client for Apache Kafka
Developing with the Go client for Apache KafkaDeveloping with the Go client for Apache Kafka
Developing with the Go client for Apache Kafka
 
Kubernetes the Very Hard Way. Velocity Berlin 2019
Kubernetes the Very Hard Way. Velocity Berlin 2019Kubernetes the Very Hard Way. Velocity Berlin 2019
Kubernetes the Very Hard Way. Velocity Berlin 2019
 
Jose portillo dev con presentation 1138
Jose portillo   dev con presentation 1138Jose portillo   dev con presentation 1138
Jose portillo dev con presentation 1138
 
Alfresco Certificates
Alfresco Certificates Alfresco Certificates
Alfresco Certificates
 
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ BehaviourWAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
WAF Bypass Techniques - Using HTTP Standard and Web Servers’ Behaviour
 

Viewers also liked

GraphConnect Europe 2016 - Building Spring Data Neo4j 4.1 Applications Like A...
GraphConnect Europe 2016 - Building Spring Data Neo4j 4.1 Applications Like A...GraphConnect Europe 2016 - Building Spring Data Neo4j 4.1 Applications Like A...
GraphConnect Europe 2016 - Building Spring Data Neo4j 4.1 Applications Like A...
Neo4j
 
GraphConnect Europe 2016 - Pushing the Evolution of Software Analytics with G...
GraphConnect Europe 2016 - Pushing the Evolution of Software Analytics with G...GraphConnect Europe 2016 - Pushing the Evolution of Software Analytics with G...
GraphConnect Europe 2016 - Pushing the Evolution of Software Analytics with G...
Neo4j
 
GraphConnect Europe 2016 - Navigating All the Knowledge - James Weaver
GraphConnect Europe 2016 - Navigating All the Knowledge - James WeaverGraphConnect Europe 2016 - Navigating All the Knowledge - James Weaver
GraphConnect Europe 2016 - Navigating All the Knowledge - James Weaver
Neo4j
 
GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...
GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...
GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...
Neo4j
 
GraphConnect Europe 2016 - Faster Lap Times with Neo4j - Srinivas Suravarapu
GraphConnect Europe 2016 - Faster Lap Times with Neo4j - Srinivas SuravarapuGraphConnect Europe 2016 - Faster Lap Times with Neo4j - Srinivas Suravarapu
GraphConnect Europe 2016 - Faster Lap Times with Neo4j - Srinivas Suravarapu
Neo4j
 
GraphConnect Europe 2016 - Governing Multichannel Services with Graphs - Albe...
GraphConnect Europe 2016 - Governing Multichannel Services with Graphs - Albe...GraphConnect Europe 2016 - Governing Multichannel Services with Graphs - Albe...
GraphConnect Europe 2016 - Governing Multichannel Services with Graphs - Albe...
Neo4j
 
GraphConnect Europe 2016 - Creating the Best Teams Ever with Collaborative Fi...
GraphConnect Europe 2016 - Creating the Best Teams Ever with Collaborative Fi...GraphConnect Europe 2016 - Creating the Best Teams Ever with Collaborative Fi...
GraphConnect Europe 2016 - Creating the Best Teams Ever with Collaborative Fi...
Neo4j
 
GraphConnect Europe 2016 - Enterprise Data Integration with a new JDBC Driver...
GraphConnect Europe 2016 - Enterprise Data Integration with a new JDBC Driver...GraphConnect Europe 2016 - Enterprise Data Integration with a new JDBC Driver...
GraphConnect Europe 2016 - Enterprise Data Integration with a new JDBC Driver...
Neo4j
 
GraphConnect Europe 2016 - Digitalization and Optimizing Business Performance...
GraphConnect Europe 2016 - Digitalization and Optimizing Business Performance...GraphConnect Europe 2016 - Digitalization and Optimizing Business Performance...
GraphConnect Europe 2016 - Digitalization and Optimizing Business Performance...
Neo4j
 
GraphConnect Europe 2016 - Building Consumer Trust through Transparency, Comp...
GraphConnect Europe 2016 - Building Consumer Trust through Transparency, Comp...GraphConnect Europe 2016 - Building Consumer Trust through Transparency, Comp...
GraphConnect Europe 2016 - Building Consumer Trust through Transparency, Comp...
Neo4j
 
GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...
GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...
GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...
Neo4j
 
GraphConnect Europe 2016 - How the ICIJ Used Neo4j to Unravel the Panama Pape...
GraphConnect Europe 2016 - How the ICIJ Used Neo4j to Unravel the Panama Pape...GraphConnect Europe 2016 - How the ICIJ Used Neo4j to Unravel the Panama Pape...
GraphConnect Europe 2016 - How the ICIJ Used Neo4j to Unravel the Panama Pape...
Neo4j
 

Viewers also liked (20)

GraphConnect Europe 2016 - Building Spring Data Neo4j 4.1 Applications Like A...
GraphConnect Europe 2016 - Building Spring Data Neo4j 4.1 Applications Like A...GraphConnect Europe 2016 - Building Spring Data Neo4j 4.1 Applications Like A...
GraphConnect Europe 2016 - Building Spring Data Neo4j 4.1 Applications Like A...
 
GraphConnect Europe 2016 - Pushing the Evolution of Software Analytics with G...
GraphConnect Europe 2016 - Pushing the Evolution of Software Analytics with G...GraphConnect Europe 2016 - Pushing the Evolution of Software Analytics with G...
GraphConnect Europe 2016 - Pushing the Evolution of Software Analytics with G...
 
GraphConnect Europe 2016 - Navigating All the Knowledge - James Weaver
GraphConnect Europe 2016 - Navigating All the Knowledge - James WeaverGraphConnect Europe 2016 - Navigating All the Knowledge - James Weaver
GraphConnect Europe 2016 - Navigating All the Knowledge - James Weaver
 
GraphConnect Europe 2016 - How Go and Neo4j enabled the FT to Deliver at Spee...
GraphConnect Europe 2016 - How Go and Neo4j enabled the FT to Deliver at Spee...GraphConnect Europe 2016 - How Go and Neo4j enabled the FT to Deliver at Spee...
GraphConnect Europe 2016 - How Go and Neo4j enabled the FT to Deliver at Spee...
 
GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...
GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...
GraphConnect Europe 2016 - Inside the Spider’s Web: Dependency Management wit...
 
GraphConnect Europe 2016 - Who Cares What Beyonce Ate for Lunch? - Alicia Powers
GraphConnect Europe 2016 - Who Cares What Beyonce Ate for Lunch? - Alicia PowersGraphConnect Europe 2016 - Who Cares What Beyonce Ate for Lunch? - Alicia Powers
GraphConnect Europe 2016 - Who Cares What Beyonce Ate for Lunch? - Alicia Powers
 
GraphConnect Europe 2016 - Faster Lap Times with Neo4j - Srinivas Suravarapu
GraphConnect Europe 2016 - Faster Lap Times with Neo4j - Srinivas SuravarapuGraphConnect Europe 2016 - Faster Lap Times with Neo4j - Srinivas Suravarapu
GraphConnect Europe 2016 - Faster Lap Times with Neo4j - Srinivas Suravarapu
 
GraphConnect Europe 2016 - Tuning Your Cypher - Petra Selmer, Mark Needham
GraphConnect Europe 2016 - Tuning Your Cypher - Petra Selmer, Mark NeedhamGraphConnect Europe 2016 - Tuning Your Cypher - Petra Selmer, Mark Needham
GraphConnect Europe 2016 - Tuning Your Cypher - Petra Selmer, Mark Needham
 
GraphConnect Europe 2016 - Governing Multichannel Services with Graphs - Albe...
GraphConnect Europe 2016 - Governing Multichannel Services with Graphs - Albe...GraphConnect Europe 2016 - Governing Multichannel Services with Graphs - Albe...
GraphConnect Europe 2016 - Governing Multichannel Services with Graphs - Albe...
 
GraphConnect Europe 2016 - Creating the Best Teams Ever with Collaborative Fi...
GraphConnect Europe 2016 - Creating the Best Teams Ever with Collaborative Fi...GraphConnect Europe 2016 - Creating the Best Teams Ever with Collaborative Fi...
GraphConnect Europe 2016 - Creating the Best Teams Ever with Collaborative Fi...
 
Intro to Cypher for the SQL Developer
Intro to Cypher for the SQL DeveloperIntro to Cypher for the SQL Developer
Intro to Cypher for the SQL Developer
 
Slides from GraphDay Santa Clara
Slides from GraphDay Santa ClaraSlides from GraphDay Santa Clara
Slides from GraphDay Santa Clara
 
GraphConnect Europe 2016 - Enterprise Data Integration with a new JDBC Driver...
GraphConnect Europe 2016 - Enterprise Data Integration with a new JDBC Driver...GraphConnect Europe 2016 - Enterprise Data Integration with a new JDBC Driver...
GraphConnect Europe 2016 - Enterprise Data Integration with a new JDBC Driver...
 
GraphTalk Berlin - Neo4j und FirstSpirit
GraphTalk Berlin - Neo4j und FirstSpiritGraphTalk Berlin - Neo4j und FirstSpirit
GraphTalk Berlin - Neo4j und FirstSpirit
 
GraphConnect Europe 2016 - NoSQL Polyglot Persistence: Tools and Integrations...
GraphConnect Europe 2016 - NoSQL Polyglot Persistence: Tools and Integrations...GraphConnect Europe 2016 - NoSQL Polyglot Persistence: Tools and Integrations...
GraphConnect Europe 2016 - NoSQL Polyglot Persistence: Tools and Integrations...
 
GraphConnect Europe 2016 - Digitalization and Optimizing Business Performance...
GraphConnect Europe 2016 - Digitalization and Optimizing Business Performance...GraphConnect Europe 2016 - Digitalization and Optimizing Business Performance...
GraphConnect Europe 2016 - Digitalization and Optimizing Business Performance...
 
GraphConnect Europe 2016 - IoT - where do Graphs fit with Business Requiremen...
GraphConnect Europe 2016 - IoT - where do Graphs fit with Business Requiremen...GraphConnect Europe 2016 - IoT - where do Graphs fit with Business Requiremen...
GraphConnect Europe 2016 - IoT - where do Graphs fit with Business Requiremen...
 
GraphConnect Europe 2016 - Building Consumer Trust through Transparency, Comp...
GraphConnect Europe 2016 - Building Consumer Trust through Transparency, Comp...GraphConnect Europe 2016 - Building Consumer Trust through Transparency, Comp...
GraphConnect Europe 2016 - Building Consumer Trust through Transparency, Comp...
 
GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...
GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...
GraphConnect Europe 2016 - Building a Repository of Biomedical Ontologies wit...
 
GraphConnect Europe 2016 - How the ICIJ Used Neo4j to Unravel the Panama Pape...
GraphConnect Europe 2016 - How the ICIJ Used Neo4j to Unravel the Panama Pape...GraphConnect Europe 2016 - How the ICIJ Used Neo4j to Unravel the Panama Pape...
GraphConnect Europe 2016 - How the ICIJ Used Neo4j to Unravel the Panama Pape...
 

Similar to GraphConnect Europe 2016 - Moving Graphs to Production at Scale - Ian Robinson

Similar to GraphConnect Europe 2016 - Moving Graphs to Production at Scale - Ian Robinson (20)

GraphConnect 2014 SF: From Zero to Graph in 120: Scale
GraphConnect 2014 SF: From Zero to Graph in 120: ScaleGraphConnect 2014 SF: From Zero to Graph in 120: Scale
GraphConnect 2014 SF: From Zero to Graph in 120: Scale
 
Built in physical and logical replication in postgresql-Firat Gulec
Built in physical and logical replication in postgresql-Firat GulecBuilt in physical and logical replication in postgresql-Firat Gulec
Built in physical and logical replication in postgresql-Firat Gulec
 
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSAutoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
 
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
Software as a Service workshop / Unlocked: the Hybrid Cloud 12th May 2014
 
Play Framework: async I/O with Java and Scala
Play Framework: async I/O with Java and ScalaPlay Framework: async I/O with Java and Scala
Play Framework: async I/O with Java and Scala
 
Implementing SharePoint on Azure, Lessons Learnt from a Real World Project
Implementing SharePoint on Azure, Lessons Learnt from a Real World ProjectImplementing SharePoint on Azure, Lessons Learnt from a Real World Project
Implementing SharePoint on Azure, Lessons Learnt from a Real World Project
 
MySQL Replication
MySQL ReplicationMySQL Replication
MySQL Replication
 
BEST REST in OpenStack
BEST REST in OpenStackBEST REST in OpenStack
BEST REST in OpenStack
 
Nginx A High Performance Load Balancer, Web Server & Reverse Proxy
Nginx A High Performance Load Balancer, Web Server & Reverse ProxyNginx A High Performance Load Balancer, Web Server & Reverse Proxy
Nginx A High Performance Load Balancer, Web Server & Reverse Proxy
 
Nginx
NginxNginx
Nginx
 
Flink Forward SF 2017: Stephan Ewen - Experiences running Flink at Very Large...
Flink Forward SF 2017: Stephan Ewen - Experiences running Flink at Very Large...Flink Forward SF 2017: Stephan Ewen - Experiences running Flink at Very Large...
Flink Forward SF 2017: Stephan Ewen - Experiences running Flink at Very Large...
 
Fisl - Deployment
Fisl - DeploymentFisl - Deployment
Fisl - Deployment
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
 
Making Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch FixMaking Spinnaker Go @ Stitch Fix
Making Spinnaker Go @ Stitch Fix
 
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
 
Protect your edge BGP security made simple
Protect your edge BGP security made simpleProtect your edge BGP security made simple
Protect your edge BGP security made simple
 
Hackingtomcat
HackingtomcatHackingtomcat
Hackingtomcat
 
Hacking Tomcat
Hacking TomcatHacking Tomcat
Hacking Tomcat
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 
Web前端性能优化 2014
Web前端性能优化 2014Web前端性能优化 2014
Web前端性能优化 2014
 

More from Neo4j

More from Neo4j (20)

From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptxFrom Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
 
Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMs
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansQIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
 
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
 
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfRabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)
 
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
 
Enabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsEnabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge Graphs
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 

GraphConnect Europe 2016 - Moving Graphs to Production at Scale - Ian Robinson