SlideShare a Scribd company logo
1 of 139
Download to read offline
A D D I N G N O S Q L T O
Y O U R A R S E N A L
A D D I N G N O S Q L T O
Y O U R A R S E N A L
A K A
T E N D ATA B A S E S
I N H A L F A N H O U R
SQL
D A TA B A S E # 1 :
T H E
I N D U S T RY
S TA N D A R D
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 )
R D B M S
• Schema-driven
• Set-based operations
• ACID transactionality
S C H E M A
D R I V E N
Name Species
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
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
“ 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
– R O N E R N E S T
( & T H E S Q L C O M M U N I T Y AT L A R G E )
“Cursors are evil.”
A C I D
W R I T E D A TA I N W I T H
Name Species
1 Puss
2 Dinah
3 Einstein
4 Jess
DonaldPlutoMickey
{ }
Ducks aren’t mammals
Name Species
1 Puss
2 Dinah
3 Einstein
4 Jess
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
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
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
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
A C I D
• Atomicity
• Consistency
• Isolation
• Durability
W H AT I S W R O N G
W I T H S Q L ?
N O T H I N G
N O T H I N G *
* As long as you use it for the right job
– M A S L O W ’ S H A M M E R
“If all you have is a hammer,
everything looks like a nail.”
T O C O M E
• 10 different ‘flavours’ of
NoSQL Databases
• Just enough to whet the
appetite!
MongoDB
D A TA B A S E # 2 :
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 ”
Name Species
1 Puss
2 Dinah
3 Einstein
4 Jess
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
B E WA R E !
T H AT ’ S T H E P O I N T
D E N O R M A L I S E D D ATA
F O R E X A M P L 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
E A S Y
S H A R D I N G
G E O S PAT I A L
I N D E X E S
S C H E M A L E S S
Eloquera
D A TA B A S E # 3 :
O B J E C T
D ATA B A S E
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
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
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;}
}
T R A N S PA R E N C Y T O T H E D B
neo4j
D A TA B A S E # 4 :
G R A P H D ATA B A S E
N E O 4 J
I M P L E M E N T E D B Y …
T H E D ATA
I S T H E
R E L AT I O N S
Voldemort
D A TA B A S E # 5 :
– 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
“Experience at Amazon has shown that data stores
that provide ACID guarantees tend to have poor
availability”
– 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
V O L D E M O R T
K E Y / VA L U E
S T O R E
store.put(key, value)
value = store.get(key)
store.delete(key)
B E WA R E :
I T ’ S V E RY
L I M I T E D …
L O W
L AT E N C Y
H I G H
AVA I L A B I L I T Y
HBase/Hadoop
D A TA B A S E # 6 :
B I G
D ATA
W H E N T O U S E H A D O O P …
– C H R I S S T U C C H I O
“Don't use Hadoop - your data isn't that big.”
L I N E A R
S C A L A B I L I T Y
A U T O M AT I C
S H A R D I N G
A N D S T R O N G
C O N S I S T E N C Y
B U I LT- I N
E F F I C I E N T
Q U E RY
M E T H O D S
Marmotta
D A TA B A S E # 7 :
L I N K E D
M E D I A
F R A M E W O R K
– L I N K E D M E D I A G U I D E L I N E S
Use URIs as names for things.
Use HTTP URIs, so that people can look up those names.
– L I N K E D M E D I A G U I D E L I N E S
When someone looks up a URI, provide useful
information, using the standards (RDF, SPARQL).
– L I N K E D M E D I A G U I D E L I N E S
Include links to other URIs, so that they can discover
more things.
C O O L
S K AT I N G
V I D E O
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
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
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
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
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
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
ElasticSearch
D A TA B A S E # 8 :
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"}}}
}
}
TempoDB
D A TA B A S E # 9 :
T I M E S E R I E S
D ATA B A S E
T I M E S TA M P /
VA L U E
PA I R S
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
T I M E S E R I E S
D ATA B A S E A S
A S E R V I C E
!
T E M P O D B
S P E C I A L I S E D Q U E R I E S
T I M E R O L L U P S
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:45:00+0100 36
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:45:00+0100 36
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:45:00+0100 36
Timestamp Average Max Min
2014-06-10T12:00:00+0100 35 36 17
2014-06-11T12:00:00+0100 21 22 20
2014-06-12T12:30:00+0100 20.5 21 19
2014-06-13T12:45:00+0100 20 20 20
2014-06-14T13:00:00+0100 18.5 19 18
T E M P O R A L I N T E R P O L AT I O N
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:45:00+0100 36
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 31.5
2014-06-10T13:45:00+0100 36
PostgreSQL
D A TA B A S E # 1 0 :
A L L T H E
G O O D S T U F F
O F S Q L
– 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.”
O P E N
S O U R C E A N D
M AT U R E
F O R E I G N
D ATA
W R A P P E R S
F O R E I G N D ATA W R A P P E R S
neo4j File Store
Legacy Oracle
System
F O R E I G N D ATA W R A P P E R S
neo4j File Store
Legacy Oracle
System
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
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
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
In conclusion…
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
A N Y Q U E S T I O N S ?
T H A N K Y O U …

More Related Content

What's hot

The net is dark and full of terrors - James Bennett
The net is dark and full of terrors - James BennettThe net is dark and full of terrors - James Bennett
The net is dark and full of terrors - James Bennett
Leo Zhou
 

What's hot (20)

Decoupled APIs through Microservices
Decoupled APIs through MicroservicesDecoupled APIs through Microservices
Decoupled APIs through Microservices
 
iCue - an Intuitive To-Do List Reminder App- Pitch Deck
iCue - an Intuitive To-Do List Reminder App- Pitch DeckiCue - an Intuitive To-Do List Reminder App- Pitch Deck
iCue - an Intuitive To-Do List Reminder App- Pitch Deck
 
Statistical Programming with JavaScript
Statistical Programming with JavaScriptStatistical Programming with JavaScript
Statistical Programming with JavaScript
 
April Wensel - Crafting Compassionate Code
April Wensel - Crafting Compassionate CodeApril Wensel - Crafting Compassionate Code
April Wensel - Crafting Compassionate Code
 
Will 3D printing change everything?
Will 3D printing change everything?Will 3D printing change everything?
Will 3D printing change everything?
 
The net is dark and full of terrors - James Bennett
The net is dark and full of terrors - James BennettThe net is dark and full of terrors - James Bennett
The net is dark and full of terrors - James Bennett
 
CIA For WordPress Developers
CIA For WordPress DevelopersCIA For WordPress Developers
CIA For WordPress Developers
 
How To Take Your Business From Survive To Thrive
How To Take Your Business From Survive To ThriveHow To Take Your Business From Survive To Thrive
How To Take Your Business From Survive To Thrive
 
Infographics webinar
Infographics webinar Infographics webinar
Infographics webinar
 
Erik Hanson -- Innovation in the Enterprise: Beyond the Pixels
Erik Hanson -- Innovation in the Enterprise: Beyond the PixelsErik Hanson -- Innovation in the Enterprise: Beyond the Pixels
Erik Hanson -- Innovation in the Enterprise: Beyond the Pixels
 
How to Write a Book in Four Easy Steps
How to Write a Book in Four Easy StepsHow to Write a Book in Four Easy Steps
How to Write a Book in Four Easy Steps
 
IoT_CONASTA64
IoT_CONASTA64IoT_CONASTA64
IoT_CONASTA64
 
Data Visualizations in Digital Products (ProductCamp Boston 2016)
Data Visualizations in Digital Products (ProductCamp Boston 2016)Data Visualizations in Digital Products (ProductCamp Boston 2016)
Data Visualizations in Digital Products (ProductCamp Boston 2016)
 
You Created a Plugin. Now What?
You Created a Plugin. Now What?You Created a Plugin. Now What?
You Created a Plugin. Now What?
 
Tournament trends 2018
Tournament trends 2018Tournament trends 2018
Tournament trends 2018
 
How to Reuse Your Content - Search Marketing Summit Sydney
How to Reuse Your Content - Search Marketing Summit SydneyHow to Reuse Your Content - Search Marketing Summit Sydney
How to Reuse Your Content - Search Marketing Summit Sydney
 
SearchLove San Diego 2018 | Ashley Ward | Reuse, Recycle: How to Repurpose Yo...
SearchLove San Diego 2018 | Ashley Ward | Reuse, Recycle: How to Repurpose Yo...SearchLove San Diego 2018 | Ashley Ward | Reuse, Recycle: How to Repurpose Yo...
SearchLove San Diego 2018 | Ashley Ward | Reuse, Recycle: How to Repurpose Yo...
 
DATA FLOWS & NATIONAL SECURITY
DATA FLOWS & NATIONAL SECURITYDATA FLOWS & NATIONAL SECURITY
DATA FLOWS & NATIONAL SECURITY
 
AUA Data Science Meetup
AUA Data Science MeetupAUA Data Science Meetup
AUA Data Science Meetup
 
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
 

Similar to 10 d bs in 30 minutes

Accidental Ecologist
Accidental EcologistAccidental Ecologist
Accidental Ecologist
Laura James
 
Thinking Outside the Book KPR
Thinking Outside the Book KPRThinking Outside the Book KPR
Thinking Outside the Book KPR
lrougeux
 

Similar to 10 d bs in 30 minutes (20)

SEO orientado a Ventas - DSMVALENCIA 2017
SEO orientado a Ventas - DSMVALENCIA 2017SEO orientado a Ventas - DSMVALENCIA 2017
SEO orientado a Ventas - DSMVALENCIA 2017
 
Pro Dev Day 2018 - Passwords are Dead
Pro Dev Day 2018 - Passwords are DeadPro Dev Day 2018 - Passwords are Dead
Pro Dev Day 2018 - Passwords are Dead
 
The New Norm(al): Confronting What Open Means for Higher Education
The New Norm(al): Confronting What Open Means for Higher EducationThe New Norm(al): Confronting What Open Means for Higher Education
The New Norm(al): Confronting What Open Means for Higher Education
 
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...
 
Accidental Ecologist
Accidental EcologistAccidental Ecologist
Accidental Ecologist
 
How to Become a Martian
How to Become a MartianHow to Become a Martian
How to Become a Martian
 
A Twenty-Minute Intro to Scrum Lean Agile Scotland 2015
A Twenty-Minute Intro to Scrum Lean Agile Scotland 2015 A Twenty-Minute Intro to Scrum Lean Agile Scotland 2015
A Twenty-Minute Intro to Scrum Lean Agile Scotland 2015
 
Master Track B: “Innovation, Design, & the Seamless User Experience”
Master Track B: “Innovation, Design, & the Seamless User Experience”Master Track B: “Innovation, Design, & the Seamless User Experience”
Master Track B: “Innovation, Design, & the Seamless User Experience”
 
What is Student Centered Coaching?
What is Student Centered Coaching?What is Student Centered Coaching?
What is Student Centered Coaching?
 
i-lovelearning Madrid 2017 | The Role of L&D in the Modern Organisation [EN]
i-lovelearning Madrid 2017 | The Role of L&D in the Modern Organisation [EN]i-lovelearning Madrid 2017 | The Role of L&D in the Modern Organisation [EN]
i-lovelearning Madrid 2017 | The Role of L&D in the Modern Organisation [EN]
 
Thinking Outside the Book KPR
Thinking Outside the Book KPRThinking Outside the Book KPR
Thinking Outside the Book KPR
 
Trends, organisatie impact en social media presentatie
Trends, organisatie impact en social media presentatieTrends, organisatie impact en social media presentatie
Trends, organisatie impact en social media presentatie
 
Dropbox
DropboxDropbox
Dropbox
 
APItheDocs: How Can API Documentation Be Agile?
APItheDocs: How Can API Documentation Be Agile?APItheDocs: How Can API Documentation Be Agile?
APItheDocs: How Can API Documentation Be Agile?
 
The Ethics of Everybody Else
The Ethics of Everybody ElseThe Ethics of Everybody Else
The Ethics of Everybody Else
 
In de weerd presentatie social media
In de weerd presentatie social mediaIn de weerd presentatie social media
In de weerd presentatie social media
 
TECHnosterone and UXtrogens: field check
TECHnosterone and UXtrogens: field checkTECHnosterone and UXtrogens: field check
TECHnosterone and UXtrogens: field check
 
Should we have a pedagogy of technology?
Should we have a pedagogy of technology?Should we have a pedagogy of technology?
Should we have a pedagogy of technology?
 
Security and Privacy in Healthcare
Security and Privacy in HealthcareSecurity and Privacy in Healthcare
Security and Privacy in Healthcare
 
Encontrar puntos de acuerdo ante los retos digitales
Encontrar puntos de acuerdo ante los retos digitalesEncontrar puntos de acuerdo ante los retos digitales
Encontrar puntos de acuerdo ante los retos digitales
 

More from David Simons

More from David Simons (12)

Four Architectural Patterns
Four Architectural Patterns Four Architectural Patterns
Four Architectural Patterns
 
Data Modelling at Scale
Data Modelling at ScaleData Modelling at Scale
Data Modelling at Scale
 
Non-Functional Requirements
Non-Functional RequirementsNon-Functional Requirements
Non-Functional Requirements
 
High quality Front-End
High quality Front-EndHigh quality Front-End
High quality Front-End
 
Build Tools & Maven
Build Tools & MavenBuild Tools & Maven
Build Tools & Maven
 
Graph Modelling
Graph ModellingGraph Modelling
Graph Modelling
 
Graph theory in Practise
Graph theory in PractiseGraph theory in Practise
Graph theory in Practise
 
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

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

10 d bs in 30 minutes

  • 1. A D D I N G N O S Q L T O Y O U R A R S E N A L
  • 2. A D D I N G N O S Q L T O Y O U R A R S E N A L
  • 3. A K A T E N D ATA B A S E S I N H A L F A N H O U R
  • 4. SQL D A TA B A S E # 1 :
  • 5. T H E I N D U S T RY S TA N D A R D
  • 6. 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 )
  • 7. R D B M S • Schema-driven • Set-based operations • ACID transactionality
  • 8. S C H E M A D R I V E N
  • 10. 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
  • 11. 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
  • 12. “ 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
  • 13. U N I O N S Name Species 1 Puss 2 Dinah 3 Einstein 4 Jess 5 Nemo 6 Moby Dick 7 Wanda
  • 14. J O I N S Name Species Species Coolness Rating 1 Puss 0 2 Dinah 0 3 Einstein 10 4 Jess 0
  • 15. C A R T E S I A N P R O D U C T S 0 10 0 10 0 10
  • 16. C A R T E S I A N P R O D U C T S 0 10 0 10 0 10
  • 17. – R O N E R N E S T ( & T H E S Q L C O M M U N I T Y AT L A R G E ) “Cursors are evil.”
  • 18. A C I D W R I T E D A TA I N W I T H
  • 19. Name Species 1 Puss 2 Dinah 3 Einstein 4 Jess
  • 22. Name Species 1 Puss 2 Dinah 3 Einstein 4 Jess
  • 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
  • 28. W H AT I S W R O N G W I T H S Q L ?
  • 29. N O T H I N G
  • 30. N O T H I N G * * As long as you use it for the right job
  • 31. – M A S L O W ’ S H A M M E R “If all you have is a hammer, everything looks like a nail.”
  • 32. T O C O M E • 10 different ‘flavours’ of NoSQL Databases • Just enough to whet the appetite!
  • 33. MongoDB D A TA B A S E # 2 :
  • 34. D O C U M E N T S T O R E
  • 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
  • 37. B E WA R E !
  • 38. T H AT ’ S T H E P O I 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
  • 41.
  • 42. E A S Y S H A R D I N G
  • 43.
  • 44. G E O S PAT I A L I N D E X E S
  • 45.
  • 46. S C H E M A L E S S
  • 47. Eloquera D A TA B A S E # 3 :
  • 48. O B J E C T D ATA B A S E
  • 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;} }
  • 52. T R A N S PA R E N C Y T O T H E D B
  • 53. neo4j D A TA B A S E # 4 :
  • 54. G R A P H D ATA B A S E
  • 55.
  • 56. N E O 4 J I M P L E M E N T E D B Y …
  • 57.
  • 58. T H E D ATA I S T H E R E L AT I O N S
  • 59.
  • 60.
  • 61.
  • 62. Voldemort D A TA B A S E # 5 :
  • 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.”
  • 66. C O N S I S T E N C Y A B C
  • 67. C O N S I S T E N C Y A B C
  • 68. D Y N A M O I M P L E M E N TAT I O N S
  • 69. V O L D E M O R T
  • 70. K E Y / VA L U E S T O R E
  • 74. B E WA R E : I T ’ S V E RY L I M I T E D …
  • 75. L O W L AT E N C Y
  • 76. H I G H AVA I L A B I L I T Y
  • 77. HBase/Hadoop D A TA B A S E # 6 :
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85. B I G D ATA W H E N T O U S E H A D O O P …
  • 86. – C H R I S S T U C C H I O “Don't use Hadoop - your data isn't that big.”
  • 87.
  • 88. L I N E A R S C A L A B I L I T Y
  • 89. A U T O M AT I C S H A R D I N G A N D S T R O N G C O N S I S T E N C Y
  • 90. B U I LT- I N E F F I C I E N T Q U E RY M E T H O D S
  • 91. Marmotta D A TA B A S E # 7 :
  • 92. L I N K E D M E D I A F R A M E W O R K
  • 93. – L I N K E D M E D I A G U I D E L I N E S Use URIs as names for things. Use HTTP URIs, so that people can look up those names.
  • 94. – L I N K E D M E D I A G U I D E L I N E S When someone looks up a URI, provide useful information, using the standards (RDF, SPARQL).
  • 95. – L I N K E D M E D I A G U I D E L I N E S Include links to other URIs, so that they can discover more things.
  • 96.
  • 97. C O O L S K AT I N G V I D E O
  • 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 …
  • 102. T R I P L E VA L U E S T O R E
  • 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
  • 105. ElasticSearch D A TA B A S E # 8 :
  • 106. D O C U M E N T S T O R E
  • 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
  • 108. A PA C H E L U C E N E
  • 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
  • 111. { "query": { "match": {"hobbies": "skateboard"} } }
  • 112. { "query": { {"fuzzy": {"hobbies": “skateboarig"}} } }
  • 113. { "query": { {"match": {"hobbies": {"query": "writing reddit comments", "type": "phrase"}}} } }
  • 114. TempoDB D A TA B A S E # 9 :
  • 115. T I M E S E R I E S D ATA B A S E
  • 116. T I M E S TA M P / VA L U E PA I R S
  • 117.
  • 118. 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
  • 119. T I M E S E R I E S D ATA B A S E A S A S E R V I C E ! T E M P O D B
  • 120. S P E C I A L I S E D Q U E R I E S
  • 121. T I M E R O L L U P S
  • 122. 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:45:00+0100 36 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:45:00+0100 36 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:45:00+0100 36
  • 123. Timestamp Average Max Min 2014-06-10T12:00:00+0100 35 36 17 2014-06-11T12:00:00+0100 21 22 20 2014-06-12T12:30:00+0100 20.5 21 19 2014-06-13T12:45:00+0100 20 20 20 2014-06-14T13:00:00+0100 18.5 19 18
  • 124. T E M P O R A L I N T E R P O L AT I O N
  • 125. 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:45:00+0100 36
  • 126. 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 31.5 2014-06-10T13:45:00+0100 36
  • 127. PostgreSQL D A TA B A S E # 1 0 :
  • 128. A L L T H E G O O D S T U F F O F S Q L
  • 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.”
  • 130. O P E N S O U R C E A N D M AT U R E
  • 131. F O R E I G N D ATA W R A P P E R S
  • 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
  • 139. A N Y Q U E S T I O N S ? T H A N K Y O U …