23. The database is always in a valid state, as defined
by a whole number of queries
regardless of:
(1) invalid data;
(2) concurrent requests;
(3) system failures
24. The database is always in a valid state, as defined
by a whole number of queries
regardless of:
(1) invalid data;
(2) concurrent requests;
(3) system failures
25. The database is always in a valid state, as defined
by a whole number of queries
regardless of:
(1) invalid data;
(2) concurrent requests;
(3) system failures
26. The database is always in a valid state, as defined
by a whole number of queries
regardless of:
(1) invalid data;
(2) concurrent requests;
(3) system failures
27. A C I D
• Atomicity
• Consistency
• Isolation
• Durability
35. E V E RY R O W I S A “ T H I N G ”
Name Species
1 Puss
2 Dinah
3 Einstein
4 Jess
36. E V E RY R O W I S A “ T H I N G ”
N A M E = P U S S
C O O L N E S S = 0
!
N A M E = J E S S
C O O L N E S S = 0
!
N A M E = D I N A H
C O O L N E S S = 0
!
N A M E = E I N S T E I N
C O O L N E S S = 1 0
!
D O C U M E N T
39. D E N O R M A L I S E D D ATA
F O R E X A M P L E
40. E V E RY R O W I S A “ T H I N G ”
N A M E = P U S S
C O O L N E S S = 0
!
N A M E = J E S S
C O O L N E S S = 0
!
N A M E = D I N A H
C O O L N E S S = 0
!
N A M E = E I N S T E I N
C O O L N E S S = 1 0
!
D O C U M E N T
49. E V E RY R O W I S A “ T H I N G ”
Name Species
1 Puss
2 Dinah
3 Einstein
4 Jess
50. E V E RY R O W I S A “ T H I N G ”
N A M E = P U S S
C O O L N E S S = 0
!
N A M E = J E S S
C O O L N E S S = 0
!
N A M E = D I N A H
C O O L N E S S = 0
!
N A M E = E I N S T E I N
C O O L N E S S = 1 0
!
D O C U M E N T
51. E V E RY R O W I S A “ T H I N G ”
O B J E C T
public class Thing {
public int coolness { get; set; }
public string name { get; set; }
public Species species { get; set;}
}
63. – D Y N A M O : A M A Z O N ’ S H I G H LY AVA I L A B L E K E Y- VA L U E
S T O R E
“Reliability at massive scale is one of the biggest
challenges we face at Amazon.com. Even the
slightest outage has significant financial
consequences and impacts customer trust.”
64. – D Y N A M O : A M A Z O N ’ S H I G H LY AVA I L A B L E K E Y- VA L U E
S T O R E
“Experience at Amazon has shown that data stores
that provide ACID guarantees tend to have poor
availability”
65. – D Y N A M O : A M A Z O N ’ S H I G H LY AVA I L A B L E K E Y- VA L U E
S T O R E
“Dynamo targets applications that operate with
weaker consistency if this results in high
availability.”
98. C O O L
S K AT I N G
V I D E O
C O O L
S K AT E R
C O O L
S K AT I N G
E V E N T
99. C O O L
S K AT I N G
V I D E O
C O O L
S K AT E R
W I N D S U R F E R
( A K A C O O L
S K AT E R ’ S
H U S B A N D )
C O O L
S K AT I N G
E V E N T
S P O N S O R O F
C O O L S K AT I N G
E V E N T
100. C O O L
S K AT I N G
V I D E O
C O O L
S K AT E R
W I N D S U R F E R
( A K A C O O L
S K AT E R ’ S
H U S B A N D )
W R I T E U P O F
W I N D S U R F I N G
E V E N T
C O O L
S K AT I N G
E V E N T
S P O N S O R O F
C O O L S K AT I N G
E V E N T
I N T E R V I E W
W I T H C E O O F
S P O N S O R
101. A PA C H E
M A R M O T TA
O U T O F T H E B O X …
103. T R I P L E
VA L U E S T O R E
• Video A contains Alice
McSkaterton
• Alice McSkaterton is
married to Brock
Windsurferling
• Article B contains Brock
Windsurferling
104. T R I P L E
VA L U E S T O R E
• Video A contains Alice
McSkaterton
• Alice McSkaterton is
married to Brock
Windsurferling
• Article B contains Brock
Windsurferling
• ENGINE SAYS VIDEO A IS
RELATED TO ARTICLE B
107. E V E RY R O W I S A “ T H I N G ”
N A M E = P U S S
C O O L N E S S = 0
!
N A M E = J E S S
C O O L N E S S = 0
!
N A M E = D I N A H
C O O L N E S S = 0
!
N A M E = E I N S T E I N
C O O L N E S S = 1 0
!
D O C U M E N T
109. “Apache Lucene is a high-performance, full-
featured text search engine library … It is a
technology suitable for nearly any application that
requires full-text search”
110. F O C U S E D
A R O U N D
T E X T
S E A R C H I N G
Q U E R I E S
129. – P E T E R WAY N E R
“The smart NoSQL developers simply noted that
NoSQL stood for "Not Only SQL." If the masses
misinterpreted the acronym, that was their
problem.”
132. F O R E I G N D ATA W R A P P E R S
neo4j File Store
Legacy Oracle
System
133. F O R E I G N D ATA W R A P P E R S
neo4j File Store
Legacy Oracle
System
134. F O R E I G N D ATA W R A P P E R S
neo4j File Store
Legacy Oracle
System
S E L E C T S T U F F F R O M N E O 4 J
J O I N S T U F F F R O M F I L E S T O R E
J O I N S T U F F F R O M O R A C L E
135. F O R E I G N D ATA W R A P P E R S
neo4j
e.g. Patient
Data
File Store
e.g. Academic
Results
Legacy Oracle
System
e.g. Clinical Trials
S E L E C T S T U F F F R O M N E O 4 J
J O I N S T U F F F R O M F I L E S T O R E
J O I N S T U F F F R O M O R A C L E
136. F O R E I G N D ATA
W R A P P E R S
• SQL Databse Wrappers
• NoSQL Databases (Mongo,
neo4j etc.)
• Hadoop
• Files (JSON,
FixedLengthText)
• Web services
• Twitter
138. R E A S O N S T O U S E O T H E R
D ATA B A S E S
• Geospatial indexes
• Schemaless data for query-time
efficiency
• Transparent Sharding
• Be transparent to the database
backend.
• More intuitive for the domain
• Cheap ‘joins’
• Low latency for simple data
• High availability in distributed
systems
• Dealing with very large datasets
• Meeting standards such as Linked
Media
• Support for time series databases
• Utilise pre-built text searching
functionality.
• Interface for other data sources