10. Why graphs, why now?
D
$
;
* , ☕⛵
) ⛽. 7 4B N % 8 1
=
+O
'
@
5% < J
- ☕ 9:
(
⚾ !
?
E F$ P
2
✈ 3 * - ), L C
(
⚽ IQ H 6 3
>G KM
Thursday, January 24, 13
11. Why graphs, why now?
1.Big Data is the trend
8 /! ⛽C &
:D A ⛵0 , #
G
7 <7 J$ O " ⚾
! T⚽ %
+
3
X. E
C M S D@ A; B
*
9N ✈
P 10 4 #
Q K D 5 Y EI @ ⛽
, 4 J4 Z &R "☕> G
% 5 3+9 =% 8 @F ?
$ +7
; [W . $ B
L⚾.
⛵
* ,< ⛵ U
)☕ ⛽ XO F> 5 $=1 H
=
BN' ☕✈
! 1⚽ P
- ☕ 8 2⚾: LE H % < J
/9 V
( ?
F?
( ]
✈ 3 * - ), ; : C O *6
⚽ IQ H 3
> G KM
Thursday, January 24, 13
12. Why graphs, why now?
1.Big Data is the trend
2.NOSQL is the answer
P ' L 97 N W
Y
T 5 K 0 S @! ;
Q 8 /B . ⛽C&
& ⛽ : D !2$% A ⛵0 , #
? G
# O- 3⛵ ! T⚽ C " ⚾
X 7$ 7JR+ O
J %< !
3
8 [ * X. E
⚾] " N , ⚽9 C > S D@ A; B
D 1 P9 O > E M 10 4 #
M UJ I + D
7 ✈
#: Q K & WA ⛽
✈ R34 S 5 Y EI @ '
, 5 $ 4 < R T ⛵☕> G
Z
9 K %. " @F ?
X $ 4& J
⛽[) % 0 7 XOL⚾ - =☕
;" WI 5A 3B N = . 8 1 H
H V * ⛵ ☕. U L + $ B5
+
⛽ N
⛵ U 9 = , > B$1 ✈
G☕ , < M P
Z ☕ - ☕ ⚾8 2⚾:[FE H % < J P
'<: !
F / ]8 V; % FQ ⚽
?
✈ 4 H Z GV ), 2L E? *6
⚽
1
F ✈ 3 (
( - ] ; : CO
?
* @
⚽ C D Y M Q I H 3
+ > G K
Thursday, January 24, 13
13. Why graphs, why now?
1.Big Data is the trend
2.NOSQL is the answer
3.Large in volume, and in variety
P ' L 97 N W
Y
P ' L 97 N W
Y T5K 0 S @ . ;
T 5 K 0 S @! ; ⛽
. & Q & B
& ⛽ Q 8 /B O-G⛵ ⛽ C # !2R C
: D !2$% A "
# ⛵X
3 0, ?
# O- 3⛵ ! T⚽ ? 8 " J 3%$[ ! >
X 7$ 7JR+ 1 ] X⚾ A;⚽9 E
J % < M DJO C⚾ ,
8 9 [ C >✈S
* 7✈ O >
.
⚾] " N , ⚽9 ! U M IR D@ + E B WA
D 1 P + O >E # : 0 4 S
M UJ I 1 3 45 T'
7 S D X I@ WA " # &
✈ Q K
, 4 J &
Y EG T ⛽
$ +7 < Z= ⛵R UG
# :R34 5 $ 54HZV ☕"' I >0 L < $K% .
⛽ ⛵☕ FN? [ : -
X ;" WI 5A 3B 9 K %.8 1⚾P
[ % 0 L + N ⚾.
H V * ⛵ )☕. U
⛽
G☕ , < M PU&
N XO ☕
= L B- ☕
1@ A ]8 ;
MH
F ,
< BQ
⛽
⛵ [F> 4 Q J
';✈ 5 $= GV
1 F / 98 V, ⚽F ? < ✈
( : F
Z ☕ - ☕ ⚾8 2⚾: $ E H % 1⚽ P @
< %B Z
!
?H 2? E
✈ 4 H Z GV ]] 2L + *6 D Y
F ✈ 3( - ), ; : C O
⚽ ⚽ * @Y IQ E ? H C
+ >C D K M
G 3
Thursday, January 24, 13
14. P L0 7 N W
T 5 K Q S @ . ; L9 Y W
& ⛽ BP ' 07 N
9 Y O- 3⛵ !2 ? K
T5 S @B ;.
7 N W P ' L 97 N "
# Y X
8 WJ %$ & R 9 Y Q
⛽C7
' L >⛵ N W !2 ?
01 [ !
S @ B ; T 5 KDJ ⚾] @ . , ⚽# O- 3 X
. P> 0
9
Q
!2 ? ⛽
M UQ IS Why graphs, why now?
7 + O 58 Q WA @ $[ !R C
BS T K
; E J
S %. 9
" B⚽ >
&
R C - 3⛵
O XJ # :R34 5& ⛽ J ⚾] T ' , ; E >
✈ !I ?M U <I K 7 ! O ?
2RU LD 1
%$[ ! # 8 H"V ☕"
⚽9 X G %$⛽ 0O
C
AN ✈$ % . S
⛵ [ ! #& - 3⛵:R34 + 2R C
- WA
,
+ O M UJ W ⚾] , F >X #"< I [U L < K T '
> E >1 A Z ☕ ⚽9 M P8]8 [J %$5 & X: BQ
,
1E H⚾V ; , ⚽9 ! >
⚾ .
D I ✈ 4 H > GV 1 AG☕" E 0 E
F Z DJ W] 2 ⛵ ⛽ N -
S
5U LL < # :.
'
P& 0[ K -
N
1.Big Data is the trend
R3 7 S 9
9 Y ✈T ' 4 + O M U @IR ☕7 + 1⚾P
⚽
+ D Y
< YNT ✈ 4 5 '
✈
M A
Z' ? S O > ]8 [A % B Q
X $ N W I 50 LL XC # :.34 H Z GV9 Y 2. E
K - ⚽F
F W<
;$
, :
0 7: "
A H ,G ⛵
M P K8 ; % ⛽ Q M U
T V @ . &'
N
P A 0[ 7: " W I P& L < K T '
@Y ?
⚾ 5 ] Q Z ☕B ;⚾P
F < T H $ %⛽
S ☕ B 1 F 5 K8 ; G☕⛵ Q+M A
V
, @B
< . 0 LC0[ :%W
UN D7 N -
G⛽ @
V FE
2 ✈ !2 Z GV ] Q Z F
? ⚽4 H ? ⛽ E 1F 5 ] Q $
S ☕ B ;⚾P K8 ; @B Q
T ,<
S .
3 Y' 9 Y &
O-D⛵
C PJ L + R C C 3⛵
X %$7 N # 2.NOSQL is the answer
@Y 2 ✈ !2 Z G⛽ @
O-D X 9 ? ⚽4 H ? V
& 2 E ;
B
? !2 ?
8 " W
⚾] T , ⚽9 ! > ⚾ NJ %$[ ! # R C C D⛵
O- 3 Y
1 0 [>
5 K Q S E B1; 8
@ J WA
Y L ' 8
+
. W " 7 , ⚽9 P > X %$
J RC
J I 7+ O M U . ] 7+ O5T
D I@ 0 > E 1 A " , ⚽9 ! >
⚾] [
# :R34 ⛵
✈& ⛽ S
O-I 5 &
3 XN !# :.34 S K M UJ W ' 7 + O > E
; ✈T ' S Q
?
BR
2R C
<? -
D I
K ! I 5 & ⛽ & ✈T 34 S R WA
G# 8
V ☕" ⚾ M" A %$[V % "
⛽
⛵
1⚾
U
P
J X :3.Large in volume, and in variety
0 L H $!2 ⛽
[ < ☕⛵ Q
F , ⚽9R! > $%M J
,
CG B
8 ;E [ XA HOV
N < K -
U L X # :.
0 ⛵3 -[ # % " I 50 L < K T
$ G☕⛵ Q YU &
N
☕4 1 ] 7 + O Z ☕ E⚽ 1⚾P
M UJ I GV
✈D HZ
F ] > 9
> E 4 WAGV F " ]8 8; <
⚾ ZP
: ⛽
, ' 9M P
⚽ # :R34 @9 2 ✈ > H Z+ 7 ]9 2D ☕F L0 7 N W8 ;
? ⚽F O , ' ' I JU ME 1⚾
B F
A $
,: -
[< %
✈ YS W
W NI 5 & ' P K TS 1 Y✈ 4 ]
Y9
AL
X + . " C' 0N Y < + - P43R: # N
7
D UL .CD @Y ✈ ? ⚽ K Z GV @ . 2
L0 7 T 5 H
W S @Y ;?
E
H V ☕⛵ P S' 0 K 5N W % 5 I K
⛽
G B@ MQ.T K < :&
A [< N BQ @B Q
L0 7 T $ L U T 5 "Q & ⛽ +. ; C D B ?
SX
;☕ ,.A
Z
F T 5⚾P :8 @! ;F⛽ ⛽☕#Z -!⛵ J
F
1 K- ] ⛽ ; 0 M
$[ & &⚾
? ⚽4 H Z GV% < /? P 1 ⛵0 ☕C
⛵⛽G& H
V 3
O !2
✈2! ⛵Y, 8
S-O
8
Q B Q 3D2B # O- 3⛵ F ✈ 8
; E 2R C %$[ !R C
X
"?
& ⛽ ED ? 8 ] $%8 Z " ⚽ %$ ! , ⚽9
C R + % CX :2 !# ? G A HX, # ]
J@
O- 3⛵ " ⚾ Y⚽ V ⚾G M UJ ⚾9 7 + O > E > A
[$ J 7 ! T@ CO " 4 3 1[
! 9⚽ 2R JD ⚽
#
> E >8 , " X ]$ JD D J I X⚾ A;IR3 >
1 7J MC S
% <9UC + 1 ] + , O > E SWA
I[ M U * . EB 4
✈
@ +# : W
O S 9N R ⚽
⚾] 7 , ✈ >
+ !D 7
D 1 5 43 : # E # A H #
M UJ I P + O
7 S D X I@
>✈ 10DX S
M :R34 ✈ I 50 L < K T
45 G☕" < KU .
⛽
⛵ &
T' [ : -
N .
K < # N R34 K 5 V Y E W"' I Z & ?
"☕ X
L 0 I ⛽ G HZV T ⛽ >0 L
✈U Q
& & "☕ V A G
A M, 5+ 4 < RG☕⛵ ⛵ M F F [ ⚾ % ]8 ; % B
N
U☕ MP
F
A $
,
,X : ⛵J
: [ 8 ;"⚾ I 5N 3 = Z= .
$ $7
% 0☕ + N ⚾.
H
$ 4 & Z 9 K %⛽ 8 @P $ V B Q 2< E
1: -
; V * P W . U L XOL B -
< F ⛽U
⛽ 1M 4
G VG< P
, Z⚾ A ☕4 $1☕ ✈ ] H ;
H ] ☕⛵ )☕⛵ F ✈ B $✈ 5 =1 H⚽48 Z< @
[ [F % B < J1⚾
'; > F Q GV F ,
:⚽ F Z ✈ + 2 C D Y
, E H% ⚽ P
!
G
E ?
? Z @F ☕ H8 ⚽98 V L
2 F 2⚾:
☕4 ✈1 / ]] < E
- ?
Y D C Z GV ), 2 : + ? *6 D Y
✈ ( H @ ?
( +
⚽ H ⚽3 * - Y ; ? CO C
@ I H
+ >C D K M Q
G 3
Thursday, January 24, 13
23. A graph...
๏ you know the common data structures
6
Thursday, January 24, 13
24. A graph...
๏ you know the common data structures
•linked lists, trees, object "graphs"
6
Thursday, January 24, 13
25. A graph...
๏ you know the common data structures
•linked lists, trees, object "graphs"
๏ a graph is the general purpose data structure
6
Thursday, January 24, 13
26. A graph...
๏ you know the common data structures
•linked lists, trees, object "graphs"
๏ a graph is the general purpose data structure
•suitable for any data that is related
6
Thursday, January 24, 13
27. A graph...
๏ you know the common data structures
•linked lists, trees, object "graphs"
๏ a graph is the general purpose data structure
•suitable for any data that is related
๏ well-understood patterns and algorithms
6
Thursday, January 24, 13
28. A graph...
๏ you know the common data structures
•linked lists, trees, object "graphs"
๏ a graph is the general purpose data structure
•suitable for any data that is related
๏ well-understood patterns and algorithms
•studied since Leonard Euler's 7 Bridges (1736)
6
Thursday, January 24, 13
29. A graph...
๏ you know the common data structures
•linked lists, trees, object "graphs"
๏ a graph is the general purpose data structure
•suitable for any data that is related
๏ well-understood patterns and algorithms
•studied since Leonard Euler's 7 Bridges (1736)
•Codd's Relational Model (1970)
6
Thursday, January 24, 13
30. A graph...
๏ you know the common data structures
•linked lists, trees, object "graphs"
๏ a graph is the general purpose data structure
•suitable for any data that is related
๏ well-understood patterns and algorithms
•studied since Leonard Euler's 7 Bridges (1736)
•Codd's Relational Model (1970)
•not a new idea, just an idea who's time is now
6
Thursday, January 24, 13
32. A graph database...
๏ optimized for the connections between records
7
Thursday, January 24, 13
33. A graph database...
๏ optimized for the connections between records
๏ really, really fast at querying across records
7
Thursday, January 24, 13
34. A graph database...
๏ optimized for the connections between records
๏ really, really fast at querying across records
๏ a database: transactional with the usual operations
7
Thursday, January 24, 13
35. A graph database...
๏ optimized for the connections between records
๏ really, really fast at querying across records
๏ a database: transactional with the usual operations
๏ “A relational database may tell you
the average age of everyone in this webinar,
but a graph database will tell you
how to drive from Baltimore to San Francisco.”
7
Thursday, January 24, 13
36. That last bullet is the
key insight...
8
Thursday, January 24, 13
56. We're talking about a
Property Graph
Nodes
Relationships
10
Thursday, January 24, 13
57. We're talking about a
Property Graph
Em Joh
il a n
knows knows
Alli Tob Lar
Nodes
son ias knows s
knows
And And knows
knows rea rés
s
knows knows knows
Pet Miic
Mc knows Ian
er knows a
a
knows knows
De Mic
lia h ael
Relationships
Properties (each a key+value)
+ Indexes (for easy look-ups)
10
Thursday, January 24, 13
62. Google "neo4j"
๏ neo4j.org
๏ neotechnology.com
12
Thursday, January 24, 13
63. Google "neo4j"
๏ neo4j.org
๏ neotechnology.com
๏ github.com/neo4j
12
Thursday, January 24, 13
64. Google "neo4j"
๏ neo4j.org
๏ neotechnology.com
๏ github.com/neo4j
๏ neo4j.meetup.com
12
Thursday, January 24, 13
65. Google "neo4j"
๏ neo4j.org
๏ neotechnology.com
๏ github.com/neo4j
๏ neo4j.meetup.com
๏ graphconnect.com
12
Thursday, January 24, 13
66. How to get started?
13
Thursday, January 24, 13
67. How to get started?
๏ Documentation
13
Thursday, January 24, 13
68. How to get started?
๏ Documentation
• docs.neo4j.org - tutorials+reference
13
Thursday, January 24, 13
69. How to get started?
๏ Documentation
• docs.neo4j.org - tutorials+reference
• Neo4j in Action
13
Thursday, January 24, 13
70. How to get started?
๏ Documentation
• docs.neo4j.org - tutorials+reference
• Neo4j in Action
• Good Relationships
13
Thursday, January 24, 13
71. How to get started?
๏ Documentation
• docs.neo4j.org - tutorials+reference
• Neo4j in Action
• Good Relationships
๏ Get Neo4j
13
Thursday, January 24, 13
72. How to get started?
๏ Documentation
• docs.neo4j.org - tutorials+reference
• Neo4j in Action
• Good Relationships
๏ Get Neo4j
• http://neo4j.org/download
13
Thursday, January 24, 13
73. How to get started?
๏ Documentation
• docs.neo4j.org - tutorials+reference
• Neo4j in Action
• Good Relationships
๏ Get Neo4j
• http://neo4j.org/download
• http://addons.heroku.com/neo4j/
13
Thursday, January 24, 13
74. How to get started?
๏ Documentation
• docs.neo4j.org - tutorials+reference
• Neo4j in Action
• Good Relationships
๏ Get Neo4j
• http://neo4j.org/download
• http://addons.heroku.com/neo4j/
๏ Participate
• ask questions on Stack Overflow
• http://groups.google.com/group/neo4j
• http://neo4j.meetup.com
13
Thursday, January 24, 13
75. How to get started?
๏ Documentation
• docs.neo4j.org - tutorials+reference
• Neo4j in Action
• Good Relationships
๏ Get Neo4j
• http://neo4j.org/download
• http://addons.heroku.com/neo4j/
๏ Participate
• ask questions on Stack Overflow
• http://groups.google.com/group/neo4j
• http://neo4j.meetup.com
• webinars, every month on everything from intro to production 13
Thursday, January 24, 13
76. Neo4j is a Graph Database
14
Thursday, January 24, 13
77. Neo4j is a Graph Database
• A Graph Database:
14
Thursday, January 24, 13
78. Neo4j is a Graph Database
• A Graph Database:
• a Property Graph with Nodes, Relationships
and Properties on both
14
Thursday, January 24, 13
79. Neo4j is a Graph Database
• A Graph Database:
• a Property Graph with Nodes, Relationships
and Properties on both
• perfect for complex, highly connected data
14
Thursday, January 24, 13
80. Neo4j is a Graph Database
• A Graph Database:
• a Property Graph with Nodes, Relationships
and Properties on both
• perfect for complex, highly connected data
• A Graph Database:
14
Thursday, January 24, 13
81. Neo4j is a Graph Database
• A Graph Database:
• a Property Graph with Nodes, Relationships
and Properties on both
• perfect for complex, highly connected data
• A Graph Database:
• reliable with real ACID Transactions
14
Thursday, January 24, 13
82. Neo4j is a Graph Database
• A Graph Database:
• a Property Graph with Nodes, Relationships
and Properties on both
• perfect for complex, highly connected data
• A Graph Database:
• reliable with real ACID Transactions
• scalable: 32 Billion Nodes, 32 Billion Relationships, 64 Billion
Properties
14
Thursday, January 24, 13
83. Neo4j is a Graph Database
• A Graph Database:
• a Property Graph with Nodes, Relationships
and Properties on both
• perfect for complex, highly connected data
• A Graph Database:
• reliable with real ACID Transactions
• scalable: 32 Billion Nodes, 32 Billion Relationships, 64 Billion
Properties
• Server with REST API, or Embeddable on the JVM
14
Thursday, January 24, 13
84. Neo4j is a Graph Database
• A Graph Database:
• a Property Graph with Nodes, Relationships
and Properties on both
• perfect for complex, highly connected data
• A Graph Database:
• reliable with real ACID Transactions
• scalable: 32 Billion Nodes, 32 Billion Relationships, 64 Billion
Properties
• Server with REST API, or Embeddable on the JVM
• high-performance with High-Availability (read scaling)
14
Thursday, January 24, 13
88. Cypher - a graph query language
๏ a pattern-matching query language
๏ declarative grammar with clauses (like SQL)
๏ aggregation, ordering, limits
๏ create, read, update, delete
16
Thursday, January 24, 13
89. Cypher - a graph query language
๏ a pattern-matching query language
๏ declarative grammar with clauses (like SQL)
๏ aggregation, ordering, limits
๏ create, read, update, delete
// get node from an index named “foo”
start foo=node:people(name=‘Andreas’) return foo
// find “bar” nodes related to Andreas
start foo=node:people(name=‘Andreas’)
match (foo)-->(bar) return bar
// create a node
create (me {name:'Andreas'})
16
Thursday, January 24, 13
93. Neo4j HA - High Availability Cluster
18
Thursday, January 24, 13
94. Neo4j HA - High Availability Cluster
• master-slave replication
Loa
dB
ala
nce
r
18
Thursday, January 24, 13
95. Neo4j HA - High Availability Cluster
• master-slave replication
• read-scaling
Loa
dB
ala
nce
r
18
Thursday, January 24, 13
96. Neo4j HA - High Availability Cluster
• master-slave replication
• read-scaling
• single datacenter, or global zones
Loa
dB
ala
nce
r
18
Thursday, January 24, 13
97. Neo4j HA - High Availability Cluster
• master-slave replication
• read-scaling
• single datacenter, or global zones
• tolerance for high-latency
Loa
dB
ala
nce
r
18
Thursday, January 24, 13
98. Neo4j HA - High Availability Cluster
• master-slave replication
• read-scaling
• single datacenter, or global zones
• tolerance for high-latency
• redundancy provides improved uptime
Loa
dB
ala
nce
r
18
Thursday, January 24, 13
99. Neo4j HA - High Availability Cluster
• master-slave replication
• read-scaling
• single datacenter, or global zones
• tolerance for high-latency
• redundancy provides improved uptime
• automatic failover
Loa
dB
ala
nce
r
18
Thursday, January 24, 13
100. Neo4j HA - High Availability Cluster
• master-slave replication
• read-scaling
• single datacenter, or global zones
• tolerance for high-latency
• redundancy provides improved uptime
• automatic failover
Loa
dB
ala
nce
r
18
Thursday, January 24, 13
101. Neo4j HA - High Availability Cluster
Loa
dB
ala
nce
r
18
Thursday, January 24, 13
110. [A] Mozilla Pancake
This Material is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the
MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/
Thursday, January 24, 13
111. [A] Mozilla Pancake
• Experimental cloud-based browser
• Built to improve how users Discover,
Collect, Share & Organize
things on the web
• Goal: help users better access & curate
information on the net, on any device
This Material is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the
MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/
Thursday, January 24, 13
112. This Material is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the
MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/
Thursday, January 24, 13
113. Why Neo4J?
This Material is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the
MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/
Thursday, January 24, 13
114. Why Neo4J?
• The internet is a network of pages
connected to each other. What better
way to model that than in graphs?
• No time lost fighting with less expressive
datastores
• Easy to implement experimental features
This Material is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the
MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/
Thursday, January 24, 13
115. Cute meta + data
This Material is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the
MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/
Thursday, January 24, 13
116. Cute meta + data
This Material is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the
MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/
Thursday, January 24, 13
117. Neo4J Co-Existence
• Node uuids as refs in external
ElasticSearch also in internal Lucene
• Custom search ranking for user history
based on node relationship data
• MySQL for user data, Redis for metrics
This Material is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the
MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/
Thursday, January 24, 13
118. Mozilla Pancake
Available on BitBucket:
https://bitbucket.org/mozillapancake/pancake
Questions?
Olivier Yiptong: oyiptong@mozilla.com
This Material is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the
MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/
Thursday, January 24, 13
120. [B] ACL from Hell
One of the top 10 telcos worldwide
Thursday, January 24, 13
121. Background
Telenor calculated in 2010 that it´s self-service web solution for
companies, MinBedrift, would not scale with the projected
customer and subscription growth beyond 2012.
Limit
th
G row
ted
jec
Pro
2010
2015
Thursday, January 24, 13
122. [B] Telenor Background
Background
Telenor calculated in 2010 that it´s self-service web solution for
companies, MinBedrift, would not scale with the projected
customer and subscription growth beyond 2012.
Limit
th
G row
ted
jec
Pro
2010
2015
Thursday, January 24, 13
123. [B] Telenor Background
• MinBedrif, a self service web solution for
companies
Background
• 2010 - calculated that it would not scale
Telenor calculated in 2010 that it´s self-service web solution for
with projected growth
companies, MinBedrift, would not scale with the projected
customer and subscription growth beyond 2012.
Limit
th
G row
ted
jec
Pro
2010
2015
Thursday, January 24, 13
124. Example Access Authorization
User
Access may be given directly or by inheritance Customer
Account
U Subscription
U Inherit = true
Inherit =
false
In
C
he
rit
=
C C C
tru
e
A A A A A
S S S S S S S S S S
Thursday, January 24, 13
125. Business Case
The business case is built on the negative consequence of NOT
addressing the problem.
Loss of customers (income)
Reduced sales transactions (income)
Increased manual support (expenses)
Other
Thursday, January 24, 13
128. Current ACL Service
• Stored procedure in DB calculating all access
• cached results for up to 24 hours
• minutes to calculate for large customers
• extremely complex to understand (1500 lines)
• depends on temporary tables
• joins across multiple tables
30
Thursday, January 24, 13
131. ACL With Neo4j
๏ Faster than current solution
๏ Simpler to understand the logic
๏ Avoid large temporary tables
๏ Tailored for service (resource authorization)
31
Thursday, January 24, 13
134. [C] MDM within Cisco
master data management, sales compensation management, online customer support
Description Benefits
Real-time conflict detection in sales compensation management. Performance : “Minutes to Milliseconds”
Business-critical “P1” system. Neo4j allows Cisco to model complex Outperforms Oracle RAC, serving complex queries in real time
algorithms, which still maintaining high performance over a large Flexibility
dataset. Allows for Cisco to model interconnected data and complex queries with
ease
Background
Robustness
Neo4j replaces Oracle RAC, which was not performant enough for the
With 9+ years of production experience, Neo4j brings a solid product.
use case.
Architecture
3-node Enterprise cluster with mirrored
disaster recovery cluster
Dedicated hardware in own datacenter
Embedded in custom webapp
Sizing
35 million nodes
50 million relationships
600 million properties
Thursday, January 24, 13
136. Really, once you start
thinking in graphs
it's hard to stop
Recommendations MDM
Business intelligence
Geospatial
catalogs Systems Management
access control Social computing
your brain
Biotechnology
routing genealogy
linguistics
Making Sense of all that data
compensation
market vectors
34
Thursday, January 24, 13
137. Really, once you start
thinking in graphs
it's hard to stop
What will you build?
RecommendationsMDM
Business intelligence
Geospatial
catalogs Systems Management
access control Social computing
your brain
Biotechnology
routing genealogy
linguistics
Making Sense of all that data
compensation
market vectors
34
Thursday, January 24, 13