SlideShare a Scribd company logo
C H O O S I N G T H E
R I G H T DATA B A S E
D a v i d S i m o n s
@ S w a m W i t h Tu r t l e s
C H O O S I N G T H E
R I G H T DATA B A S E
D a v i d S i m o n s
@ S w a m W i t h Tu r t l e s
W H O A M I ?
• Tech Lead/Consultant at
Softwire
• Consultancy/
Implementation
• Design & UX
• Training
W H O A M I ?
• David Simons
• @SwamWithTurtles
• swamwithturtles.com
• Background in Statistics/
Simulation
• Enjoys Databases and
JavaScript
M Y E X P E R I E N C E
W I T H A P I S
• Focused on web
development
• Utilise data from our own,
or third party APIs to affect
rendered data
W H Y A R E W E H E R E ?
B U T F I R S T … .
W E T H I N K A P I S
A R E
I M P O R TA N T
W E ’ R E H E R E B E C A U S E
W E WA N T T O
K N O W H O W T O
M A K E G O O D
A P I S
W E ’ R E H E R E B E C A U S E
W E WA N T T O
B U C K T R E N D S
( S A F E LY )
W E ’ R E H E R E B E C A U S E
A P I A R C H I T E C T U R E
D ATA B A S E C O D E Data
A P I A R C H I T E C T U R E
D ATA B A S E C O D E Data
[ O U R WAY ]
W O R K S F O R
U S !
B U T …
N O S Q L
S O L U T I O N S
C A N ’ T [ V E R B ]
B U T …
A ( P O L I T I C A L ) A S I D E
T H E AV R E F E R E N D U M
“ N O T O AV ”
W E H AV E T O
A S K O U R S E LV E S
T H E R I G H T
Q U E S T I O N S
W H Y A M I T E L L I N G Y O U
T H I S ?
C A N A N O S Q L
A P P R O A C H D O
E V E RY T H I N G
S Q L C A N ?
S O W E S H O U L D N ’ T A S K
W H AT W O U L D
W E WA N T O U R
I D E A L D ATA B A S E
T O L O O K L I K E ?
I N S T E A D W E S H O U L D A S K
I WA N T T O
D I S C U S S
• What sorts of questions
should be asking about
your data when
architecting a system?
• What do the results of
those questions mean for
your database?
H O W B I G D O E S I T N E E D
T O B E ?
A S K Y O U R S E L F
W I T H E N O U G H
D ATA , Y O U
H AV E T O
D I S T R I B U T E
T H E H A R D T R U T H
W H AT H A P P E N S
W H E N O N E
I N S TA N C E G O E S
D O W N ?
B U T …
– 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.”
– 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.”
C O N S I S T E N C Y
A
B C
C O N S I S T E N C Y
A
B C
D Y N A M O I M P L E M E N TAT I O N S
N O T
G U A R A N T E E D
C O N S I S T E N C Y
T H E C O S T ?
“open source software project that enables distributed
processing of large data sets across clusters of
commodity servers”
N O PA R T I T I O N
T O L E R A N C E
T H E C O S T ?
C A P
T H E O R E M
• Choose Two:
• Consistency
• Availability
• Partition Tolerance
W H AT I F W E
D O N ’ T N E E D
T O D I S T R I B U T E ?
B U T …
W H AT S H A P E I S Y O U R
D ATA ?
A S K Y O U R S E L F
R D B M S
( R E L AT I O N A L D ATA B A S E
M A N A G E M E N T S Y S T E M )
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
S E T- B A S E D
O P E R AT I O N
R E A D D A TA O U T W I T H
“ W H E R E ” ( I N T E R S E C T I O N )
Name Species
1 Puss
2 Dinah
3 Einstein
4 Jess
U N I O N S
Name Species
1 Puss
2 Dinah
3 Einstein
4 Jess
5 Nemo
6 Moby Dick
7 Wanda
J O I N S
Name Species
Species Coolness
Rating
1 Puss 0
2 Dinah 0
3 Einstein 10
4 Jess 0
C A R T E S I A N P R O D U C T S
0 10
0 10
0 10
C A R T E S I A N P R O D U C T S
0 10
0 10
0 10
W H AT S Q L
D O E S W E L L
• Modelling objects:
• With a fixed structure
and shape
• With a limited number
of relations
• With no opinion or
opinion of any deeper
underlying domain
R D B M S
( R E L AT I O N A L D ATA B A S E
M A N A G E M E N T S Y S T E M )
T H E R E A R E
P R O B L E M S T H I S
I S B A D F O R
B U T …
K E V I N B A C O N
S I X D E G R E E S O F …
T H E R E I S N O O P E N
E L E C T I O N D ATA
T H E P R O B L E M
E L E C T I O N D ATA
E L E C T I O N D ATA
E L E C T I O N D ATA
E =
(e.g.) member of, held in,
stood in…
V =
elections, constituencies,
years, politicians and parties
W O R L D ’ S L E A D I N G G R A P H
D B :
"embedded, disk-based, fully transactional Java
persistence engine that stores data structured in
graphs rather than in tables"
D ATA S T O R A G E
D ATA S T O R A G E
D ATA
S T O R A G E
• Nodes and edges are all:
• Stored as first-class
objects on the file
system
• “typed”
• Key-value stores
D ATA I N T H E
R E L AT I O N S
• “Joins” are first class
objects in the database
that can be queried at no
additional cost
• Certain queries become
trivial (e.g. Joins)
P R O T O T Y P I N G
• Easy to see and work with
data
• Schemaless
• Active community with a
lot of libraries
N E O 4 J U S E R S
T I M E S E R I E S
D ATA B A S E
Timestamp Value
2014-06-10T12:00:00+0100 17
2014-06-10T12:15:00+0100 17
2014-06-10T12:30:00+0100 20
2014-06-10T12:45:00+0100 22
2014-06-10T13:00:00+0100 24
2014-06-10T13:15:00+0100 28
2014-06-10T13:30:00+0100 32
S C H E M A L E S S
S O C I A L M E D I A S I T E
S O C I A L M E D I A S I T E
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
Y O U C A N N O T
D E N O R M A L I S E
D ATA *
WA R N I N G
H O W M U C H A R E Y O U
W I L L I N G T O S P E N D ?
A S K Y O U R S E L F
T H I S M AY S E E M
L I K E A T R I V I A L
P O I N T…
C O S T S …
• Oracle: $50,000+
• SQL Server: $10,000+
O P E N - S O U R C E
F R A M E W O R K S
• MySQL
• PostgreSQL
• Riak
• Voldemort
• MariaDB
• Cassandra
• MongoDB
H O W A R E Y O U
R E T R I E V I N G T H E D ATA ?
A S K Y O U R S E L F
T H I N G S H AV E
T O U S E O U R
D ATA …
R E M E M B E R T H A T
A P I A R C H I T E C T U R E
D ATA B A S E C O D E Data
A P I A R C H I T E C T U R E
D ATA B A S E C O D E Data E N D U S E R
A P I A R C H I T E C T U R E
E N D U S E R What is the average age of …?
A P I A R C H I T E C T U R E
E N D U S E R
Er….
I think it was something like “Campbell”?
O U R C H O I C E I S
I N F O R M E D B Y
O U R P L A N S F O R
T H E A P I
R E M E M B E R T H A T
G E O S PAT I A L
I N D E X E S
L I N K E D
M E D I A
F R A M E W O R K
A PA C H E
M A R M O T TA
O U T O F T H E B O X …
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
D O C U M E N T
S T O R E
S E A R C H A P I S
D O C U M E N T
S T O R E
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
A PA C H E
L U C E N E
“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”
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
{
"query": {
"match": {"hobbies": "skateboard"}
}
}
{
"query": {
{"fuzzy": {"hobbies": “skateboarig"}}
}
}
{
"query": {
{"match": {"hobbies": {"query": "writing
reddit comments", "type": "phrase"}}}
}
}
T O S U M U P…
I S Y O U R D ATA
B I G ?
• You’ll need to distribute it -
which means you have to
choose one of CAP to
sacrifice
• Hadoop will provide
consistent results, but isn’t
built to fail
• Cassandra and Riak will be
highly available but slow
to propagate new data
I F I T ’ S N O T
B I G …
• You can store the data in a
high-fidelity, way:
• Denormalised - SQL
• As a graph with Neo4j
• Choosing an unsuitable
method is costly!
H O W D O Y O U
WA N T I T B A C K ?
• Some databases have
custom indexing which we
are optimised for some
queries
• Geospatial Indexes
• In-text Indexing
• Time Series
S O …
• Your requirements will be
unique, so don’t lump with
the industry standards
• There are a range of
modern DB solutions that
are no longer bleeding-
edge
• Consider them on their
own merits!
A N Y Q U E S T I O N S ?
D a v i d S i m o n s
@ S w a m W i t h Tu r t l e s

More Related Content

What's hot

Tech rfp template
Tech rfp templateTech rfp template
Tech rfp template
Anna Duin
 
Transforming developer from Commodity to Premium - A tale of micorservices
Transforming developer from Commodity to Premium - A tale of micorservicesTransforming developer from Commodity to Premium - A tale of micorservices
Transforming developer from Commodity to Premium - A tale of micorservices
Kishore Yekkanti
 
SharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindSharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindChris Johnson
 
You Created a Plugin. Now What?
You Created a Plugin. Now What?You Created a Plugin. Now What?
You Created a Plugin. Now What?
Adam W. Warner
 
You Created a Plugin. Now What? WordCamp Sacramento
You Created a Plugin. Now What? WordCamp SacramentoYou Created a Plugin. Now What? WordCamp Sacramento
You Created a Plugin. Now What? WordCamp Sacramento
Adam W. Warner
 
CIA For WordPress Developers
CIA For WordPress DevelopersCIA For WordPress Developers
CIA For WordPress Developers
David Brumbaugh
 
How can documentation become inherently Agile?
How can documentation become inherently Agile?How can documentation become inherently Agile?
How can documentation become inherently Agile?
eBranding Ninja
 
Lewis isb 7 april2014
Lewis isb 7 april2014Lewis isb 7 april2014
Lewis isb 7 april2014
Suzanna Lewis
 
Master’s voice: the rise of voice assistants
Master’s voice: the rise of voice assistantsMaster’s voice: the rise of voice assistants
Master’s voice: the rise of voice assistants
Daniel Harvey
 
How to improve your research impact and who is talking about (or using) your...
How to improve your research impact  and who is talking about (or using) your...How to improve your research impact  and who is talking about (or using) your...
How to improve your research impact and who is talking about (or using) your...
Guus van den Brekel
 
Data Interoperability for Learning Analytics and Lifelong Learning
Data Interoperability for Learning Analytics and Lifelong LearningData Interoperability for Learning Analytics and Lifelong Learning
Data Interoperability for Learning Analytics and Lifelong Learning
Megan Bowe
 
The Expanding Boundaries of CSS
The Expanding Boundaries of CSSThe Expanding Boundaries of CSS
The Expanding Boundaries of CSS
chriseppstein
 
Elasticsearch at EyeEm
Elasticsearch at EyeEmElasticsearch at EyeEm
Elasticsearch at EyeEm
Lars Fronius
 
Delight Your Customers with Modern SEO
Delight Your Customers with Modern SEODelight Your Customers with Modern SEO
Delight Your Customers with Modern SEO
Charlotte Han
 
Interactive media : information and libraries (#bobcatsss2017)
Interactive media : information and libraries (#bobcatsss2017)Interactive media : information and libraries (#bobcatsss2017)
Interactive media : information and libraries (#bobcatsss2017)
Guus van den Brekel
 
Big Data and Small Devices: What will it do for us and to us
Big Data and Small Devices: What will it do for us and to usBig Data and Small Devices: What will it do for us and to us
Big Data and Small Devices: What will it do for us and to us
John Tomizuka
 
Making Peace: Resolving the Content/ UX Tug-of-War in Responsive Web Design
Making Peace: Resolving the Content/ UX Tug-of-War in Responsive Web DesignMaking Peace: Resolving the Content/ UX Tug-of-War in Responsive Web Design
Making Peace: Resolving the Content/ UX Tug-of-War in Responsive Web Design
Jenny Magic
 
AUA Data Science Meetup
AUA Data Science MeetupAUA Data Science Meetup
AUA Data Science Meetup
David Gevorkyan
 

What's hot (19)

Tech rfp template
Tech rfp templateTech rfp template
Tech rfp template
 
Transforming developer from Commodity to Premium - A tale of micorservices
Transforming developer from Commodity to Premium - A tale of micorservicesTransforming developer from Commodity to Premium - A tale of micorservices
Transforming developer from Commodity to Premium - A tale of micorservices
 
SharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mindSharePoint Saturday Redmond - Building solutions with the future in mind
SharePoint Saturday Redmond - Building solutions with the future in mind
 
You Created a Plugin. Now What?
You Created a Plugin. Now What?You Created a Plugin. Now What?
You Created a Plugin. Now What?
 
You Created a Plugin. Now What? WordCamp Sacramento
You Created a Plugin. Now What? WordCamp SacramentoYou Created a Plugin. Now What? WordCamp Sacramento
You Created a Plugin. Now What? WordCamp Sacramento
 
CIA For WordPress Developers
CIA For WordPress DevelopersCIA For WordPress Developers
CIA For WordPress Developers
 
How can documentation become inherently Agile?
How can documentation become inherently Agile?How can documentation become inherently Agile?
How can documentation become inherently Agile?
 
Lewis isb 7 april2014
Lewis isb 7 april2014Lewis isb 7 april2014
Lewis isb 7 april2014
 
Master’s voice: the rise of voice assistants
Master’s voice: the rise of voice assistantsMaster’s voice: the rise of voice assistants
Master’s voice: the rise of voice assistants
 
How to improve your research impact and who is talking about (or using) your...
How to improve your research impact  and who is talking about (or using) your...How to improve your research impact  and who is talking about (or using) your...
How to improve your research impact and who is talking about (or using) your...
 
Data Interoperability for Learning Analytics and Lifelong Learning
Data Interoperability for Learning Analytics and Lifelong LearningData Interoperability for Learning Analytics and Lifelong Learning
Data Interoperability for Learning Analytics and Lifelong Learning
 
The Expanding Boundaries of CSS
The Expanding Boundaries of CSSThe Expanding Boundaries of CSS
The Expanding Boundaries of CSS
 
Elasticsearch at EyeEm
Elasticsearch at EyeEmElasticsearch at EyeEm
Elasticsearch at EyeEm
 
Delight Your Customers with Modern SEO
Delight Your Customers with Modern SEODelight Your Customers with Modern SEO
Delight Your Customers with Modern SEO
 
Interactive media : information and libraries (#bobcatsss2017)
Interactive media : information and libraries (#bobcatsss2017)Interactive media : information and libraries (#bobcatsss2017)
Interactive media : information and libraries (#bobcatsss2017)
 
Big Data and Small Devices: What will it do for us and to us
Big Data and Small Devices: What will it do for us and to usBig Data and Small Devices: What will it do for us and to us
Big Data and Small Devices: What will it do for us and to us
 
Web Application Hacking
Web Application HackingWeb Application Hacking
Web Application Hacking
 
Making Peace: Resolving the Content/ UX Tug-of-War in Responsive Web Design
Making Peace: Resolving the Content/ UX Tug-of-War in Responsive Web DesignMaking Peace: Resolving the Content/ UX Tug-of-War in Responsive Web Design
Making Peace: Resolving the Content/ UX Tug-of-War in Responsive Web Design
 
AUA Data Science Meetup
AUA Data Science MeetupAUA Data Science Meetup
AUA Data Science Meetup
 

Viewers also liked

NP Complete Problems in Graph Theory
NP Complete Problems in Graph TheoryNP Complete Problems in Graph Theory
NP Complete Problems in Graph Theory
Seshagiri Rao Kornepati
 
Graph theory 1
Graph theory 1Graph theory 1
Graph theory 1Tech_MX
 
Graph theory in Practise
Graph theory in PractiseGraph theory in Practise
Graph theory in Practise
David Simons
 
introduction to graph theory
introduction to graph theoryintroduction to graph theory
introduction to graph theoryChuckie Balbuena
 

Viewers also liked (6)

NP Complete Problems in Graph Theory
NP Complete Problems in Graph TheoryNP Complete Problems in Graph Theory
NP Complete Problems in Graph Theory
 
Graphs
GraphsGraphs
Graphs
 
Np complete
Np completeNp complete
Np complete
 
Graph theory 1
Graph theory 1Graph theory 1
Graph theory 1
 
Graph theory in Practise
Graph theory in PractiseGraph theory in Practise
Graph theory in Practise
 
introduction to graph theory
introduction to graph theoryintroduction to graph theory
introduction to graph theory
 

Similar to Choosing the right database

From Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the DotsFrom Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the Dots
Ronald Ashri
 
eHarmony @ Phoenix Con 2016
eHarmony @ Phoenix Con 2016eHarmony @ Phoenix Con 2016
eHarmony @ Phoenix Con 2016
Vijaykumar Vangapandu
 
Domínio: Dividir e conquistar
Domínio: Dividir e conquistarDomínio: Dividir e conquistar
Domínio: Dividir e conquistar
Nelson Senna do Amaral
 
PHP Experience 2016 - ROA – Resource Oriented Architecture
PHP Experience 2016 - ROA – Resource Oriented ArchitecturePHP Experience 2016 - ROA – Resource Oriented Architecture
PHP Experience 2016 - ROA – Resource Oriented Architecture
iMasters
 
Graph Modelling
Graph ModellingGraph Modelling
Graph Modelling
David Simons
 
AWS Seminar Series 2015 Melbourne
AWS Seminar Series 2015 MelbourneAWS Seminar Series 2015 Melbourne
AWS Seminar Series 2015 Melbourne
Amazon Web Services
 
AWS SeMINAR SERIES 2015 Sydney
AWS SeMINAR SERIES 2015 SydneyAWS SeMINAR SERIES 2015 Sydney
AWS SeMINAR SERIES 2015 Sydney
Amazon Web Services
 
AWS Seminar Series 2015 Brisbane
AWS Seminar Series 2015 BrisbaneAWS Seminar Series 2015 Brisbane
AWS Seminar Series 2015 Brisbane
Amazon Web Services
 
Design for your audience
Design for your audienceDesign for your audience
Design for your audience
Walter Breakell
 
Digital Data Commons - Emergence of AI Blockchain Convergence
Digital Data Commons - Emergence of AI Blockchain ConvergenceDigital Data Commons - Emergence of AI Blockchain Convergence
Digital Data Commons - Emergence of AI Blockchain Convergence
Gokul Alex
 
Serverless WordPress & next Interface of WordPress
Serverless WordPress & next Interface of WordPressServerless WordPress & next Interface of WordPress
Serverless WordPress & next Interface of WordPress
Hidetaka Okamoto
 
Auckland AWS Seminar Series
Auckland AWS Seminar SeriesAuckland AWS Seminar Series
Auckland AWS Seminar Series
Amazon Web Services
 
Gain Maximum Visibility into Your Applications
Gain Maximum Visibility into Your Applications Gain Maximum Visibility into Your Applications
Gain Maximum Visibility into Your Applications
Amazon Web Services
 
AWS SEMINAR SERIES 2015 Perth
AWS SEMINAR SERIES 2015 PerthAWS SEMINAR SERIES 2015 Perth
AWS SEMINAR SERIES 2015 Perth
Amazon Web Services
 
UX in E-commerce & Conversion
UX in E-commerce & ConversionUX in E-commerce & Conversion
UX in E-commerce & Conversion
Elymar Apao
 
Backpack Reporting (Updated)
Backpack Reporting (Updated)Backpack Reporting (Updated)
Backpack Reporting (Updated)
Steve Johnson
 
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
Codemotion
 
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS SummitCanary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Amazon Web Services
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for Managers
Randy Connolly
 
XD Immersive: Jessica Outlaw, Augmented Reality and the Future of Immersive E...
XD Immersive: Jessica Outlaw, Augmented Reality and the Future of Immersive E...XD Immersive: Jessica Outlaw, Augmented Reality and the Future of Immersive E...
XD Immersive: Jessica Outlaw, Augmented Reality and the Future of Immersive E...
UX STRAT
 

Similar to Choosing the right database (20)

From Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the DotsFrom Content Strategy to Drupal Site Building - Connecting the Dots
From Content Strategy to Drupal Site Building - Connecting the Dots
 
eHarmony @ Phoenix Con 2016
eHarmony @ Phoenix Con 2016eHarmony @ Phoenix Con 2016
eHarmony @ Phoenix Con 2016
 
Domínio: Dividir e conquistar
Domínio: Dividir e conquistarDomínio: Dividir e conquistar
Domínio: Dividir e conquistar
 
PHP Experience 2016 - ROA – Resource Oriented Architecture
PHP Experience 2016 - ROA – Resource Oriented ArchitecturePHP Experience 2016 - ROA – Resource Oriented Architecture
PHP Experience 2016 - ROA – Resource Oriented Architecture
 
Graph Modelling
Graph ModellingGraph Modelling
Graph Modelling
 
AWS Seminar Series 2015 Melbourne
AWS Seminar Series 2015 MelbourneAWS Seminar Series 2015 Melbourne
AWS Seminar Series 2015 Melbourne
 
AWS SeMINAR SERIES 2015 Sydney
AWS SeMINAR SERIES 2015 SydneyAWS SeMINAR SERIES 2015 Sydney
AWS SeMINAR SERIES 2015 Sydney
 
AWS Seminar Series 2015 Brisbane
AWS Seminar Series 2015 BrisbaneAWS Seminar Series 2015 Brisbane
AWS Seminar Series 2015 Brisbane
 
Design for your audience
Design for your audienceDesign for your audience
Design for your audience
 
Digital Data Commons - Emergence of AI Blockchain Convergence
Digital Data Commons - Emergence of AI Blockchain ConvergenceDigital Data Commons - Emergence of AI Blockchain Convergence
Digital Data Commons - Emergence of AI Blockchain Convergence
 
Serverless WordPress & next Interface of WordPress
Serverless WordPress & next Interface of WordPressServerless WordPress & next Interface of WordPress
Serverless WordPress & next Interface of WordPress
 
Auckland AWS Seminar Series
Auckland AWS Seminar SeriesAuckland AWS Seminar Series
Auckland AWS Seminar Series
 
Gain Maximum Visibility into Your Applications
Gain Maximum Visibility into Your Applications Gain Maximum Visibility into Your Applications
Gain Maximum Visibility into Your Applications
 
AWS SEMINAR SERIES 2015 Perth
AWS SEMINAR SERIES 2015 PerthAWS SEMINAR SERIES 2015 Perth
AWS SEMINAR SERIES 2015 Perth
 
UX in E-commerce & Conversion
UX in E-commerce & ConversionUX in E-commerce & Conversion
UX in E-commerce & Conversion
 
Backpack Reporting (Updated)
Backpack Reporting (Updated)Backpack Reporting (Updated)
Backpack Reporting (Updated)
 
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018100% Visibility - Jason Yee - Codemotion Amsterdam 2018
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
 
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS SummitCanary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS Summit
 
Web Development for Managers
Web Development for ManagersWeb Development for Managers
Web Development for Managers
 
XD Immersive: Jessica Outlaw, Augmented Reality and the Future of Immersive E...
XD Immersive: Jessica Outlaw, Augmented Reality and the Future of Immersive E...XD Immersive: Jessica Outlaw, Augmented Reality and the Future of Immersive E...
XD Immersive: Jessica Outlaw, Augmented Reality and the Future of Immersive E...
 

More from David Simons

Four Architectural Patterns
Four Architectural Patterns Four Architectural Patterns
Four Architectural Patterns
David Simons
 
Non-Functional Requirements
Non-Functional RequirementsNon-Functional Requirements
Non-Functional Requirements
David Simons
 
Build Tools & Maven
Build Tools & MavenBuild Tools & Maven
Build Tools & Maven
David Simons
 
Decoupled APIs through microservices
Decoupled APIs through microservicesDecoupled APIs through microservices
Decoupled APIs through microservices
David Simons
 
TDD: What is it good for?
TDD: What is it good for?TDD: What is it good for?
TDD: What is it good for?
David Simons
 
Domain Driven Design: A Precis
Domain Driven Design: A PrecisDomain Driven Design: A Precis
Domain Driven Design: A Precis
David Simons
 
Using Clojure to Marry Neo4j and Open Democracy
Using Clojure to Marry Neo4j and Open DemocracyUsing Clojure to Marry Neo4j and Open Democracy
Using Clojure to Marry Neo4j and Open Democracy
David Simons
 
Exploring Election Results with Neo4J
Exploring Election Results with Neo4JExploring Election Results with Neo4J
Exploring Election Results with Neo4J
David Simons
 

More from David Simons (8)

Four Architectural Patterns
Four Architectural Patterns Four Architectural Patterns
Four Architectural Patterns
 
Non-Functional Requirements
Non-Functional RequirementsNon-Functional Requirements
Non-Functional Requirements
 
Build Tools & Maven
Build Tools & MavenBuild Tools & Maven
Build Tools & Maven
 
Decoupled APIs through microservices
Decoupled APIs through microservicesDecoupled APIs through microservices
Decoupled APIs through microservices
 
TDD: What is it good for?
TDD: What is it good for?TDD: What is it good for?
TDD: What is it good for?
 
Domain Driven Design: A Precis
Domain Driven Design: A PrecisDomain Driven Design: A Precis
Domain Driven Design: A Precis
 
Using Clojure to Marry Neo4j and Open Democracy
Using Clojure to Marry Neo4j and Open DemocracyUsing Clojure to Marry Neo4j and Open Democracy
Using Clojure to Marry Neo4j and Open Democracy
 
Exploring Election Results with Neo4J
Exploring Election Results with Neo4JExploring Election Results with Neo4J
Exploring Election Results with Neo4J
 

Recently uploaded

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
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
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
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.
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.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
 
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
 
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
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
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
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
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
 
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
 

Recently uploaded (20)

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
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
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.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
 
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
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
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
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
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
 
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...
 

Choosing the right database

  • 1. C H O O S I N G T H E R I G H T DATA B A S E D a v i d S i m o n s @ S w a m W i t h Tu r t l e s
  • 2. C H O O S I N G T H E R I G H T DATA B A S E D a v i d S i m o n s @ S w a m W i t h Tu r t l e s
  • 3. W H O A M I ? • Tech Lead/Consultant at Softwire • Consultancy/ Implementation • Design & UX • Training
  • 4. W H O A M I ? • David Simons • @SwamWithTurtles • swamwithturtles.com • Background in Statistics/ Simulation • Enjoys Databases and JavaScript
  • 5. M Y E X P E R I E N C E W I T H A P I S • Focused on web development • Utilise data from our own, or third party APIs to affect rendered data
  • 6. W H Y A R E W E H E R E ? B U T F I R S T … .
  • 7. W E T H I N K A P I S A R E I M P O R TA N T W E ’ R E H E R E B E C A U S E
  • 8. W E WA N T T O K N O W H O W T O M A K E G O O D A P I S W E ’ R E H E R E B E C A U S E
  • 9. W E WA N T T O B U C K T R E N D S ( S A F E LY ) W E ’ R E H E R E B E C A U S E
  • 10. A P I A R C H I T E C T U R E D ATA B A S E C O D E Data
  • 11. A P I A R C H I T E C T U R E D ATA B A S E C O D E Data
  • 12. [ O U R WAY ] W O R K S F O R U S ! B U T …
  • 13. N O S Q L S O L U T I O N S C A N ’ T [ V E R B ] B U T …
  • 14. A ( P O L I T I C A L ) A S I D E
  • 15. T H E AV R E F E R E N D U M
  • 16. “ N O T O AV ”
  • 17. W E H AV E T O A S K O U R S E LV E S T H E R I G H T Q U E S T I O N S W H Y A M I T E L L I N G Y O U T H I S ?
  • 18. C A N A N O S Q L A P P R O A C H D O E V E RY T H I N G S Q L C A N ? S O W E S H O U L D N ’ T A S K
  • 19. W H AT W O U L D W E WA N T O U R I D E A L D ATA B A S E T O L O O K L I K E ? I N S T E A D W E S H O U L D A S K
  • 20. I WA N T T O D I S C U S S • What sorts of questions should be asking about your data when architecting a system? • What do the results of those questions mean for your database?
  • 21. H O W B I G D O E S I T N E E D T O B E ? A S K Y O U R S E L F
  • 22. W I T H E N O U G H D ATA , Y O U H AV E T O D I S T R I B U T E T H E H A R D T R U T H
  • 23. W H AT H A P P E N S W H E N O N E I N S TA N C E G O E S D O W N ? B U T …
  • 24. – 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.”
  • 25. – 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.”
  • 26. C O N S I S T E N C Y A B C
  • 27. C O N S I S T E N C Y A B C
  • 28. D Y N A M O I M P L E M E N TAT I O N S
  • 29. N O T G U A R A N T E E D C O N S I S T E N C Y T H E C O S T ?
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. “open source software project that enables distributed processing of large data sets across clusters of commodity servers”
  • 37. N O PA R T I T I O N T O L E R A N C E T H E C O S T ?
  • 38. C A P T H E O R E M • Choose Two: • Consistency • Availability • Partition Tolerance
  • 39. W H AT I F W E D O N ’ T N E E D T O D I S T R I B U T E ? B U T …
  • 40. W H AT S H A P E I S Y O U R D ATA ? A S K Y O U R S E L F
  • 41. R D B M S ( R E L AT I O N A L D ATA B A S E M A N A G E M E N T S Y S T E M )
  • 42. 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
  • 43. S E T- B A S E D O P E R AT I O N R E A D D A TA O U T W I T H
  • 44. “ W H E R E ” ( I N T E R S E C T I O N ) Name Species 1 Puss 2 Dinah 3 Einstein 4 Jess
  • 45. U N I O N S Name Species 1 Puss 2 Dinah 3 Einstein 4 Jess 5 Nemo 6 Moby Dick 7 Wanda
  • 46. J O I N S Name Species Species Coolness Rating 1 Puss 0 2 Dinah 0 3 Einstein 10 4 Jess 0
  • 47. C A R T E S I A N P R O D U C T S 0 10 0 10 0 10
  • 48. C A R T E S I A N P R O D U C T S 0 10 0 10 0 10
  • 49. W H AT S Q L D O E S W E L L • Modelling objects: • With a fixed structure and shape • With a limited number of relations • With no opinion or opinion of any deeper underlying domain R D B M S ( R E L AT I O N A L D ATA B A S E M A N A G E M E N T S Y S T E M )
  • 50. T H E R E A R E P R O B L E M S T H I S I S B A D F O R B U T …
  • 51. K E V I N B A C O N S I X D E G R E E S O F …
  • 52.
  • 53.
  • 54.
  • 55.
  • 56. T H E R E I S N O O P E N E L E C T I O N D ATA T H E P R O B L E M
  • 57. E L E C T I O N D ATA
  • 58. E L E C T I O N D ATA
  • 59. E L E C T I O N D ATA E = (e.g.) member of, held in, stood in… V = elections, constituencies, years, politicians and parties
  • 60. W O R L D ’ S L E A D I N G G R A P H D B :
  • 61. "embedded, disk-based, fully transactional Java persistence engine that stores data structured in graphs rather than in tables"
  • 62. D ATA S T O R A G E
  • 63. D ATA S T O R A G E
  • 64. D ATA S T O R A G E • Nodes and edges are all: • Stored as first-class objects on the file system • “typed” • Key-value stores
  • 65. D ATA I N T H E R E L AT I O N S • “Joins” are first class objects in the database that can be queried at no additional cost • Certain queries become trivial (e.g. Joins)
  • 66. P R O T O T Y P I N G • Easy to see and work with data • Schemaless • Active community with a lot of libraries
  • 67. N E O 4 J U S E R S
  • 68. T I M E S E R I E S D ATA B A S E
  • 69.
  • 70. Timestamp Value 2014-06-10T12:00:00+0100 17 2014-06-10T12:15:00+0100 17 2014-06-10T12:30:00+0100 20 2014-06-10T12:45:00+0100 22 2014-06-10T13:00:00+0100 24 2014-06-10T13:15:00+0100 28 2014-06-10T13:30:00+0100 32
  • 71.
  • 72. S C H E M A L E S S
  • 73. S O C I A L M E D I A S I T E
  • 74. S O C I A L M E D I A S I T E
  • 75. 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
  • 76. Y O U C A N N O T D E N O R M A L I S E D ATA * WA R N I N G
  • 77. H O W M U C H A R E Y O U W I L L I N G T O S P E N D ? A S K Y O U R S E L F
  • 78. T H I S M AY S E E M L I K E A T R I V I A L P O I N T…
  • 79. C O S T S … • Oracle: $50,000+ • SQL Server: $10,000+
  • 80. O P E N - S O U R C E F R A M E W O R K S • MySQL • PostgreSQL • Riak • Voldemort • MariaDB • Cassandra • MongoDB
  • 81. H O W A R E Y O U R E T R I E V I N G T H E D ATA ? A S K Y O U R S E L F
  • 82. T H I N G S H AV E T O U S E O U R D ATA … R E M E M B E R T H A T
  • 83. A P I A R C H I T E C T U R E D ATA B A S E C O D E Data
  • 84. A P I A R C H I T E C T U R E D ATA B A S E C O D E Data E N D U S E R
  • 85. A P I A R C H I T E C T U R E E N D U S E R What is the average age of …?
  • 86. A P I A R C H I T E C T U R E E N D U S E R Er…. I think it was something like “Campbell”?
  • 87. O U R C H O I C E I S I N F O R M E D B Y O U R P L A N S F O R T H E A P I R E M E M B E R T H A T
  • 88.
  • 89. G E O S PAT I A L I N D E X E S
  • 90.
  • 91. L I N K E D M E D I A F R A M E W O R K
  • 92. A PA C H E M A R M O T TA O U T O F T H E B O X …
  • 93. 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
  • 94.
  • 95. D O C U M E N T S T O R E S E A R C H A P I S
  • 96. D O C U M E N T S T O R E
  • 97. 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
  • 98. A PA C H E L U C E N E
  • 99. “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”
  • 100. 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
  • 101. { "query": { "match": {"hobbies": "skateboard"} } }
  • 102. { "query": { {"fuzzy": {"hobbies": “skateboarig"}} } }
  • 103. { "query": { {"match": {"hobbies": {"query": "writing reddit comments", "type": "phrase"}}} } }
  • 104. T O S U M U P…
  • 105. I S Y O U R D ATA B I G ? • You’ll need to distribute it - which means you have to choose one of CAP to sacrifice • Hadoop will provide consistent results, but isn’t built to fail • Cassandra and Riak will be highly available but slow to propagate new data
  • 106. I F I T ’ S N O T B I G … • You can store the data in a high-fidelity, way: • Denormalised - SQL • As a graph with Neo4j • Choosing an unsuitable method is costly!
  • 107. H O W D O Y O U WA N T I T B A C K ? • Some databases have custom indexing which we are optimised for some queries • Geospatial Indexes • In-text Indexing • Time Series
  • 108. S O … • Your requirements will be unique, so don’t lump with the industry standards • There are a range of modern DB solutions that are no longer bleeding- edge • Consider them on their own merits!
  • 109. A N Y Q U E S T I O N S ? D a v i d S i m o n s @ S w a m W i t h Tu r t l e s