SlideShare a Scribd company logo
THE BEGINNERS GUIDE TO
noSQL
THE
WHY WE ARE STORING MORE DATA
NOW THAN WE EVER HAVE
BEFORE
THE
WHY WE ARE STORING MORE DATA
NOW THAN WE EVER HAVE
BEFORE
CONNECTIONS BETWEEN OUR
DATA ARE GROWING ALL THE
TIME
THE
WHY WE ARE STORING MORE DATA
NOW THAN WE EVER HAVE
BEFORE
CONNECTIONS BETWEEN OUR
DATA ARE GROWING ALL THE
TIME
WE DON’T MAKE THINGS
KNOWING THE STRUCTURE
FROM DAY 1
THE
WHY WE ARE STORING MORE DATA
NOW THAN WE EVER HAVE
BEFORE
CONNECTIONS BETWEEN OUR
DATA ARE GROWING ALL THE
TIME
WE DON’T MAKE THINGS
KNOWING THE STRUCTURE
FROM DAY 1
SERVER ARCHITECTURE IS NOW
AT A STAGE WHERE WE CAN
TAKE ADVANTAGE OF IT
salary lists
most web applications
social networks
semantic trading
SiZE
Complexity
relational databases
NOSQL
USE CASES
LARGE DATA VOLUMES
MASSIVELY DISTRIBUTED ARCHITECTURE
REQUIRED TO STORE THE DATA
GOOGLE, AMAZON, FACEBOOK, 100K SERVERS
NOSQL
USE CASES
LARGE DATA VOLUMES
MASSIVELY DISTRIBUTED ARCHITECTURE
REQUIRED TO STORE THE DATA
GOOGLE, AMAZON, FACEBOOK, 100K SERVERS
EXTREME QUERY WORKLOAD
IMPOSSIBLE TO EFFICIENTLY DO JOINS AT THAT
SCALE WITH AN RDBMS
NOSQL
USE CASES
LARGE DATA VOLUMES
MASSIVELY DISTRIBUTED ARCHITECTURE
REQUIRED TO STORE THE DATA
GOOGLE, AMAZON, FACEBOOK, 100K SERVERS
EXTREME QUERY WORKLOAD
IMPOSSIBLE TO EFFICIENTLY DO JOINS AT THAT
SCALE WITH AN RDBMS
SCHEMA EVOLUTION
SCEMA FLEXIBILITY IS NOT TRIVIAL AT A LARGE
SCALE BUT IT CAN BE WITH NO SQL
NOSQL
PROS AND CONS
PROS
MASSIVE SCALABILITY
HIGH AVAILABILITY
LOWER COST
SCHEMA FLEXIBILITY
SPARCE AND SEMI STRUCTURED DATA
NOSQL
PROS AND CONS
PROS
MASSIVE SCALABILITY
HIGH AVAILABILITY
LOWER COST
SCHEMA FLEXIBILITY
SPARCE AND SEMI STRUCTURED DATA
CONS
LIMITED QUERY CAPABILITIES
NOT STANDARDISED (PORTABILITY MAY BE AN ISSUE)
STILL A DEVELOPING TECHNOLOGY
OSQL NOSQL NOSQL NOSQL
QL BIGTABLE NOSQL NOSQL
QL NOSQL NOSQL NOSQL N
OSQL NOSQL KEY VALUE NO
SQL NOSQL NOSQL NOSQL N
NOSQL NOSQL NOSQL NOS
NOSQL NOSQL NOSQL NOSQ
QL NOSQL NOSQL NOSQL NO
GRAPHDB NOSQL NOSQL N
NOSQL NOSQL NOSQL NOS
OSQL NOSQL NOSQL NOSQL
SQL NOSQL DOCUMENT NOS
FOUREMERGING TRENDS IN
NOSQL DATABASES
BUT FIRST…
IMAGINE A LIBRARY
LOTS OF DIFFERENT FLOORS
DIFFERENT SECTIONS ON EACH FLOOR
DIFFERENT BOOKSHELVES IN EACH SECTION
LOTS OF BOOKS ON EACH SHELF
LOTS OF PAGES IN EACH BOOK
LOTS OF WORDS ON EACH PAGE
EVERYTHING IS WELL ORGANISED
AND EVERYTHING HAS A SPACE
BUT FIRST…
IMAGINE A LIBRARY
WHAT HAPPENS IF WE
BUY TOO MANY BOOKS!?
(THE WORLD EXPLODES AND THE KITTENS WIN)
BUT FIRST…
IMAGINE A LIBRARY
WHAT HAPPENS IF WE WANT TO
STORE CDS ALL OF A SUDDEN!?
(THE WORLD EXPLODES AND THE KITTENS WIN)
BUT FIRST…
IMAGINE A LIBRARY
WHAT HAPPENS IF WE WANT
TO GET RID OF ALL BOOKS
THAT MENTION KITTENS
(KITTENS STILL WIN)
BIG
BEHAVES LIKE A STANDARD RELATIONAL
DATABASE BUT WITH A SLIGHT CHANGE
http://research.google.com/archive/bigtable.html
http://research.google.com/archive/spanner.html
DESIGNED TO WORK WITH A LOT OF
DATA…A REALLY BIG CRAP TON
CREATED BY GOOGLE AND NOW USED
BY LOTS OF OTHERS
TABLE
THIS IS A STANDARD
RELATIONAL
DATABASE
BIG
TABLE
THIS IS A BIG
TABLE DATABASE
(AND NOW THE NAME MAKES SENCE!)
BIG
TABLE
“A Bigtable is a sparse, distributed, persistent
multidimensional sorted map. The map is indexed by a
row key, column key, and a timestamp; each value in
the map is an uninterpreted array of bytes.”
BIG
TABLE
“A Bigtable is a sparse, distributed, persistent
multidimensional sorted map. The map is indexed by a
row key, column key, and a timestamp; each value in
the map is an uninterpreted array of bytes.”
BIG
TABLE
“A Bigtable is a sparse, distributed, persistent
multidimensional sorted map. The map is indexed by a
row key, column key, and a timestamp; each value in
the map is an uninterpreted array of bytes.”
KEY
VALUE
AGAIN, DESIGNED TO WORK WITH A LOT
OF DATA
EACH BIT OF DATA IS STORED IN A
SINGLE COLLECTION
EACH COLLECTION CAN HAVE DIFFERENT
TYPES OF DATA
KEY
VALUE
A CB D E
KEY
VALUE
A C D E
OUR VALUES ARE HIDDEN INSIDE THE KEYS
TO FIND OUT WHAT THEY ARE WE NEED TO
QUERY THEM
What is in Key B?
The Triangle
B
KEY
VALUE
(VOLDERMORT)
DOCUMENT
STORE
DESIGNED TO WORK WITH A LOT OF
DATA (BEGINNING TO NOTICE A THEME?)
VERY SIMILAR TO A KEY VALUE DATABASE
MAIN DIFFERENCE IS THAT YOU CAN
ACTUALLY SEE THE VALUES
DOCUMENT
STORE
A CB D E
DOCUMENT
STORE
A CB D E
Bring me the triangles
Yes m’lord.
SIDENOTE
REMEMBER HOW SQL
DATABASES ARE LIBRARIES?
NO SQL IS MORE LIKE A BAG
OF CATS!
SIDENOTE
colour: tabby
name: Gunther
colour: ginger
name: Mylo
colour: grey
name: Ruffus
age: kitten
colour: ginger(ish)
name: Fred
age: kitten
colour: ginger(ish)
name: Quentin
legs: 3
WE CAN ADD IN
FIELDS AS AND
WHEN WE
NEED THEM
DOCUMENT
STORE
A CB D E
Bring me the KITTENS!
Of course m’lord.
DOCUMENT
STORE
GRAPH
DATABASE
FOCUS HERE IS ON MODELLING THE
STRUCTURE OF THE DATA
INSPIRED BY GRAPH THEORY (GO MATHS!)
SCALES REALLY WELL TO THE
STRUCTURE OF THE DATA
GRAPH
DATABASE
GRAPH
DATABASE
GRAPH
DATABASE
WORKS_WITH
WORKS_WITH
OWNS
OWNS
CARSHARES IN
GRAPH
DATABASE
name: “Michael”
twitter: “@mrmike
name: “John”
twitter:”@mrjohn”
brand: “Toyota”
currentState: “Broken”
brand: “Vauxhall”
currentState: “Working”
WORKS_WITH
WORKS_WITH
OWNS
OWNS
CARSHARES IN
GRAPH
DATABASE
name: “Michael”
twitter: “@mrmike
name: “John”
twitter:”@mrjohn”
brand: “Toyota”
currentState: “Broken”
brand: “Vauxhall”
currentState: “Working”
WORKS_WITH
WORKS_WITH
OWNS
propertyType: “car”
OWNS
propertyType: “car”
CARSHARES IN
GRAPH
DATABASE
key/value store
bigtable clone
document database
graph database
SiZE
Complexity
key/value store
bigtable clone
document database
graph database
SiZE
Complexity
>90% of use cases
WHEN TO USE
NOSQL
AND WHEN TO USE
SQL
THE BASICS
High availability and disaster recovery are a must
Understand the pros and cons of each design model
Don’t pick something just because it is new
Do you remember the zune?
Don’t pick something based JUST on performance
SQL
High performance for transactions. Think ACID
Highly structured, very portable
Small amounts of data
SMALL IS LESS THAN 500GB
Supports many tables with different types of data
Can fetch ordered data
Compatible with lots of tools
THE GOOD
ATOMICITY
CONSISTENCY
ISOLATION
DURABILITY
SQL
SQL
High performance for transactions. Think ACID
Highly structured, very portable
Small amounts of data
SMALL IS LESS THAN 500GB
Supports many tables with different types of data
Can fetch ordered data
Compatible with lots of tools
THE GOOD
SQL
Complex queries take a long time
The relational model takes a long time to learn
Not really scalable
Not suited for rapid development
THE BAD
noSQL
Fits well for volatile data
High read and write throughput
Scales really well
Rapid development is possible
In general it’s faster than SQL
THE GOOD
BASICALLY
AVAILABLE
SOFT STATE
EVENTUALLY CONSISTENT
noSQL
noSQL
Fits well for volatile data
High read and write throughput
Scales really well
Rapid development is possible
In general it’s faster than SQL
THE GOOD
noSQL
Key/Value pairs need to be packed/unpacked all the time
Still working on getting security for these working as well as SQL
Lack of relations from one key to another
THE GOOD
tl;dr
so use both, but think about when you want to use them!
works great, can’t scale for large data
works great, doesn't fit all situations
SQL
noSQL
A lot of this content is loving ripped from
lots of other (more impressive)
presentations that are already on
SlideShare - you should check them out!
FINALLY

More Related Content

What's hot

How to Teach and Learn with ChatGPT - BETT 2023
How to Teach and Learn with ChatGPT - BETT 2023How to Teach and Learn with ChatGPT - BETT 2023
How to Teach and Learn with ChatGPT - BETT 2023
Dominik Lukes
 
Episode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer RoadmapEpisode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Anant Corporation
 
Visual Silence can help your PowerPoint slides
Visual Silence can help your PowerPoint slidesVisual Silence can help your PowerPoint slides
Visual Silence can help your PowerPoint slides
Slides | Presentation Design Agency
 
Blueprint ChatGPT Lunch & Learn
Blueprint ChatGPT Lunch & LearnBlueprint ChatGPT Lunch & Learn
Blueprint ChatGPT Lunch & Learn
gnakan
 
AI and ML Series - Introduction to Generative AI and LLMs - Session 1
AI and ML Series - Introduction to Generative AI and LLMs - Session 1AI and ML Series - Introduction to Generative AI and LLMs - Session 1
AI and ML Series - Introduction to Generative AI and LLMs - Session 1
DianaGray10
 
What Are the Problems Associated with ChatGPT?
What Are the Problems Associated with ChatGPT?What Are the Problems Associated with ChatGPT?
What Are the Problems Associated with ChatGPT?
Windzoon Technologies
 
How Google Works
How Google WorksHow Google Works
How Google Works
Eric Schmidt
 
The Five Levels of Generative AI for Games
The Five Levels of Generative AI for GamesThe Five Levels of Generative AI for Games
The Five Levels of Generative AI for Games
Jon Radoff
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Pubudu Jayawardana
 
Five Killer Ways to Design The Same Slide
Five Killer Ways to Design The Same SlideFive Killer Ways to Design The Same Slide
Five Killer Ways to Design The Same Slide
Crispy Presentations
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
Nishanth K Hydru
 
The Science of Story: How Brands Can Use Storytelling To Get More Customers
The Science of Story: How Brands Can Use Storytelling To Get More CustomersThe Science of Story: How Brands Can Use Storytelling To Get More Customers
The Science of Story: How Brands Can Use Storytelling To Get More Customers
Digital Surgeons
 
The Science of a Great Career in Data Science
The Science of a Great Career in Data ScienceThe Science of a Great Career in Data Science
The Science of a Great Career in Data Science
Kate Matsudaira
 
An introduction to computer vision with Hugging Face
An introduction to computer vision with Hugging FaceAn introduction to computer vision with Hugging Face
An introduction to computer vision with Hugging Face
Julien SIMON
 
Learn Prompting with ChatGPT
Learn Prompting with ChatGPTLearn Prompting with ChatGPT
Learn Prompting with ChatGPT
Nikhil Gadkar
 
ChatGPT SEO Guide 2023
ChatGPT SEO Guide 2023ChatGPT SEO Guide 2023
ChatGPT SEO Guide 2023
Web Trainings Academy
 
LanGCHAIN Framework
LanGCHAIN FrameworkLanGCHAIN Framework
LanGCHAIN Framework
Keymate.AI
 
How to Build an App with ChatGPT.pdf
How to Build an App with ChatGPT.pdfHow to Build an App with ChatGPT.pdf
How to Build an App with ChatGPT.pdf
StephenAmell4
 
AI Prompt Engineering 101.pdf
AI Prompt Engineering 101.pdfAI Prompt Engineering 101.pdf
AI Prompt Engineering 101.pdf
AListDaily
 

What's hot (20)

How to Teach and Learn with ChatGPT - BETT 2023
How to Teach and Learn with ChatGPT - BETT 2023How to Teach and Learn with ChatGPT - BETT 2023
How to Teach and Learn with ChatGPT - BETT 2023
 
Episode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer RoadmapEpisode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
Episode 2: The LLM / GPT / AI Prompt / Data Engineer Roadmap
 
Visual Silence can help your PowerPoint slides
Visual Silence can help your PowerPoint slidesVisual Silence can help your PowerPoint slides
Visual Silence can help your PowerPoint slides
 
Blueprint ChatGPT Lunch & Learn
Blueprint ChatGPT Lunch & LearnBlueprint ChatGPT Lunch & Learn
Blueprint ChatGPT Lunch & Learn
 
AI and ML Series - Introduction to Generative AI and LLMs - Session 1
AI and ML Series - Introduction to Generative AI and LLMs - Session 1AI and ML Series - Introduction to Generative AI and LLMs - Session 1
AI and ML Series - Introduction to Generative AI and LLMs - Session 1
 
What Are the Problems Associated with ChatGPT?
What Are the Problems Associated with ChatGPT?What Are the Problems Associated with ChatGPT?
What Are the Problems Associated with ChatGPT?
 
How Google Works
How Google WorksHow Google Works
How Google Works
 
The Five Levels of Generative AI for Games
The Five Levels of Generative AI for GamesThe Five Levels of Generative AI for Games
The Five Levels of Generative AI for Games
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Five Killer Ways to Design The Same Slide
Five Killer Ways to Design The Same SlideFive Killer Ways to Design The Same Slide
Five Killer Ways to Design The Same Slide
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
 
The Science of Story: How Brands Can Use Storytelling To Get More Customers
The Science of Story: How Brands Can Use Storytelling To Get More CustomersThe Science of Story: How Brands Can Use Storytelling To Get More Customers
The Science of Story: How Brands Can Use Storytelling To Get More Customers
 
The Science of a Great Career in Data Science
The Science of a Great Career in Data ScienceThe Science of a Great Career in Data Science
The Science of a Great Career in Data Science
 
An introduction to computer vision with Hugging Face
An introduction to computer vision with Hugging FaceAn introduction to computer vision with Hugging Face
An introduction to computer vision with Hugging Face
 
Learn Prompting with ChatGPT
Learn Prompting with ChatGPTLearn Prompting with ChatGPT
Learn Prompting with ChatGPT
 
ChatGPT SEO Guide 2023
ChatGPT SEO Guide 2023ChatGPT SEO Guide 2023
ChatGPT SEO Guide 2023
 
LanGCHAIN Framework
LanGCHAIN FrameworkLanGCHAIN Framework
LanGCHAIN Framework
 
How to Build an App with ChatGPT.pdf
How to Build an App with ChatGPT.pdfHow to Build an App with ChatGPT.pdf
How to Build an App with ChatGPT.pdf
 
AI Prompt Engineering 101.pdf
AI Prompt Engineering 101.pdfAI Prompt Engineering 101.pdf
AI Prompt Engineering 101.pdf
 

Viewers also liked

Cloudera Impala: A modern SQL Query Engine for Hadoop
Cloudera Impala: A modern SQL Query Engine for HadoopCloudera Impala: A modern SQL Query Engine for Hadoop
Cloudera Impala: A modern SQL Query Engine for Hadoop
Cloudera, Inc.
 
Introduction to Hadoop and Cloudera, Louisville BI & Big Data Analytics Meetup
Introduction to Hadoop and Cloudera, Louisville BI & Big Data Analytics MeetupIntroduction to Hadoop and Cloudera, Louisville BI & Big Data Analytics Meetup
Introduction to Hadoop and Cloudera, Louisville BI & Big Data Analytics Meetup
iwrigley
 
Big Data Standards - Workshop, ExpBio, Boston, 2015
Big Data Standards - Workshop, ExpBio, Boston, 2015Big Data Standards - Workshop, ExpBio, Boston, 2015
Big Data Standards - Workshop, ExpBio, Boston, 2015
Susanna-Assunta Sansone
 
mini MAXI art exhibition
mini MAXI art exhibitionmini MAXI art exhibition
mini MAXI art exhibition
Anna Casey
 
Cloudera Big Data Integration Speedpitch at TDWI Munich June 2017
Cloudera Big Data Integration Speedpitch at TDWI Munich June 2017Cloudera Big Data Integration Speedpitch at TDWI Munich June 2017
Cloudera Big Data Integration Speedpitch at TDWI Munich June 2017
Stefan Lipp
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability Patterns
Jonas Bonér
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
Derek Stainer
 
Enabling the Industry 4.0 vision: Hype? Real Opportunity!
Enabling the Industry 4.0 vision: Hype? Real Opportunity!Enabling the Industry 4.0 vision: Hype? Real Opportunity!
Enabling the Industry 4.0 vision: Hype? Real Opportunity!
Boris Otto
 

Viewers also liked (8)

Cloudera Impala: A modern SQL Query Engine for Hadoop
Cloudera Impala: A modern SQL Query Engine for HadoopCloudera Impala: A modern SQL Query Engine for Hadoop
Cloudera Impala: A modern SQL Query Engine for Hadoop
 
Introduction to Hadoop and Cloudera, Louisville BI & Big Data Analytics Meetup
Introduction to Hadoop and Cloudera, Louisville BI & Big Data Analytics MeetupIntroduction to Hadoop and Cloudera, Louisville BI & Big Data Analytics Meetup
Introduction to Hadoop and Cloudera, Louisville BI & Big Data Analytics Meetup
 
Big Data Standards - Workshop, ExpBio, Boston, 2015
Big Data Standards - Workshop, ExpBio, Boston, 2015Big Data Standards - Workshop, ExpBio, Boston, 2015
Big Data Standards - Workshop, ExpBio, Boston, 2015
 
mini MAXI art exhibition
mini MAXI art exhibitionmini MAXI art exhibition
mini MAXI art exhibition
 
Cloudera Big Data Integration Speedpitch at TDWI Munich June 2017
Cloudera Big Data Integration Speedpitch at TDWI Munich June 2017Cloudera Big Data Integration Speedpitch at TDWI Munich June 2017
Cloudera Big Data Integration Speedpitch at TDWI Munich June 2017
 
Scalability, Availability & Stability Patterns
Scalability, Availability & Stability PatternsScalability, Availability & Stability Patterns
Scalability, Availability & Stability Patterns
 
Introduction to NoSQL Databases
Introduction to NoSQL DatabasesIntroduction to NoSQL Databases
Introduction to NoSQL Databases
 
Enabling the Industry 4.0 vision: Hype? Real Opportunity!
Enabling the Industry 4.0 vision: Hype? Real Opportunity!Enabling the Industry 4.0 vision: Hype? Real Opportunity!
Enabling the Industry 4.0 vision: Hype? Real Opportunity!
 

Similar to A Beginners Guide to noSQL

PostgreSQL, your NoSQL database
PostgreSQL, your NoSQL databasePostgreSQL, your NoSQL database
PostgreSQL, your NoSQL database
Reuven Lerner
 
Oracle's Take On NoSQL
Oracle's Take On NoSQLOracle's Take On NoSQL
Oracle's Take On NoSQL
Alexander Shopov
 
Introduction to Linked Data 1/5
Introduction to Linked Data 1/5Introduction to Linked Data 1/5
Introduction to Linked Data 1/5
Juan Sequeda
 
Super resize me
Super resize meSuper resize me
Super resize me
Axel Valdez
 
Wither OWL
Wither OWLWither OWL
Wither OWL
James Hendler
 
Following Google: Don’t Follow the Followers, Follow the Leaders
Following Google: Don’t Follow the Followers, Follow the LeadersFollowing Google: Don’t Follow the Followers, Follow the Leaders
Following Google: Don’t Follow the Followers, Follow the Leaders
C4Media
 
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
NoSQLmatters
 
CSC439-3.pdf
CSC439-3.pdfCSC439-3.pdf
CSC439-3.pdf
muazumuhammad6
 
sql.pdf
sql.pdfsql.pdf
Why nosql also_why_somany
Why nosql also_why_somanyWhy nosql also_why_somany
Why nosql also_why_somany
Prashanth Panduranga
 
Linked Data: The Real Web 2.0 (from 2008)
Linked Data: The Real Web 2.0 (from 2008)Linked Data: The Real Web 2.0 (from 2008)
Linked Data: The Real Web 2.0 (from 2008)
Uche Ogbuji
 
WTF is the Semantic Web
WTF is the Semantic WebWTF is the Semantic Web
WTF is the Semantic Web
Juan Sequeda
 
No sql distilled-distilled
No sql distilled-distilledNo sql distilled-distilled
No sql distilled-distilled
rICh morrow
 
To SQL or NoSQL, that is the question
To SQL or NoSQL, that is the questionTo SQL or NoSQL, that is the question
To SQL or NoSQL, that is the question
Krishnakumar S
 
Active Record PowerPoint
Active Record PowerPointActive Record PowerPoint
Active Record PowerPoint
Elizabeth Cruz
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
MongoDB
 
Enterprise NoSQL: Silver Bullet or Poison Pill
Enterprise NoSQL: Silver Bullet or Poison PillEnterprise NoSQL: Silver Bullet or Poison Pill
Enterprise NoSQL: Silver Bullet or Poison Pill
Billy Newport
 
NoSQL and MapReduce
NoSQL and MapReduceNoSQL and MapReduce
NoSQL and MapReduce
J Singh
 
Lessons learnt coverting from SQL to NoSQL
Lessons learnt coverting from SQL to NoSQLLessons learnt coverting from SQL to NoSQL
Lessons learnt coverting from SQL to NoSQL
Enda Farrell
 
NoSQL, SQL, NewSQL - methods of structuring data.
NoSQL, SQL, NewSQL - methods of structuring data.NoSQL, SQL, NewSQL - methods of structuring data.
NoSQL, SQL, NewSQL - methods of structuring data.
Tony Rogerson
 

Similar to A Beginners Guide to noSQL (20)

PostgreSQL, your NoSQL database
PostgreSQL, your NoSQL databasePostgreSQL, your NoSQL database
PostgreSQL, your NoSQL database
 
Oracle's Take On NoSQL
Oracle's Take On NoSQLOracle's Take On NoSQL
Oracle's Take On NoSQL
 
Introduction to Linked Data 1/5
Introduction to Linked Data 1/5Introduction to Linked Data 1/5
Introduction to Linked Data 1/5
 
Super resize me
Super resize meSuper resize me
Super resize me
 
Wither OWL
Wither OWLWither OWL
Wither OWL
 
Following Google: Don’t Follow the Followers, Follow the Leaders
Following Google: Don’t Follow the Followers, Follow the LeadersFollowing Google: Don’t Follow the Followers, Follow the Leaders
Following Google: Don’t Follow the Followers, Follow the Leaders
 
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
Rob Harrop- Key Note The God, the Bad and the Ugly - NoSQL matters Paris 2015
 
CSC439-3.pdf
CSC439-3.pdfCSC439-3.pdf
CSC439-3.pdf
 
sql.pdf
sql.pdfsql.pdf
sql.pdf
 
Why nosql also_why_somany
Why nosql also_why_somanyWhy nosql also_why_somany
Why nosql also_why_somany
 
Linked Data: The Real Web 2.0 (from 2008)
Linked Data: The Real Web 2.0 (from 2008)Linked Data: The Real Web 2.0 (from 2008)
Linked Data: The Real Web 2.0 (from 2008)
 
WTF is the Semantic Web
WTF is the Semantic WebWTF is the Semantic Web
WTF is the Semantic Web
 
No sql distilled-distilled
No sql distilled-distilledNo sql distilled-distilled
No sql distilled-distilled
 
To SQL or NoSQL, that is the question
To SQL or NoSQL, that is the questionTo SQL or NoSQL, that is the question
To SQL or NoSQL, that is the question
 
Active Record PowerPoint
Active Record PowerPointActive Record PowerPoint
Active Record PowerPoint
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
 
Enterprise NoSQL: Silver Bullet or Poison Pill
Enterprise NoSQL: Silver Bullet or Poison PillEnterprise NoSQL: Silver Bullet or Poison Pill
Enterprise NoSQL: Silver Bullet or Poison Pill
 
NoSQL and MapReduce
NoSQL and MapReduceNoSQL and MapReduce
NoSQL and MapReduce
 
Lessons learnt coverting from SQL to NoSQL
Lessons learnt coverting from SQL to NoSQLLessons learnt coverting from SQL to NoSQL
Lessons learnt coverting from SQL to NoSQL
 
NoSQL, SQL, NewSQL - methods of structuring data.
NoSQL, SQL, NewSQL - methods of structuring data.NoSQL, SQL, NewSQL - methods of structuring data.
NoSQL, SQL, NewSQL - methods of structuring data.
 

More from Mike Crabb

Hard to Reach Users in Easy to Reach Places
Hard to Reach Users in Easy to Reach PlacesHard to Reach Users in Easy to Reach Places
Hard to Reach Users in Easy to Reach Places
Mike Crabb
 
Accessible and Assistive Interfaces
Accessible and Assistive InterfacesAccessible and Assistive Interfaces
Accessible and Assistive Interfaces
Mike Crabb
 
Accessible Everyone
Accessible EveryoneAccessible Everyone
Accessible Everyone
Mike Crabb
 
The Peer Review Process
The Peer Review ProcessThe Peer Review Process
The Peer Review Process
Mike Crabb
 
Managing Quality In Qualitative Research
Managing Quality In Qualitative ResearchManaging Quality In Qualitative Research
Managing Quality In Qualitative Research
Mike Crabb
 
Analysing Qualitative Data
Analysing Qualitative DataAnalysing Qualitative Data
Analysing Qualitative Data
Mike Crabb
 
Conversation Discourse and Document Analysis
Conversation Discourse and Document AnalysisConversation Discourse and Document Analysis
Conversation Discourse and Document Analysis
Mike Crabb
 
Ethnographic and Observational Research
Ethnographic and Observational ResearchEthnographic and Observational Research
Ethnographic and Observational Research
Mike Crabb
 
Doing Focus Groups
Doing Focus GroupsDoing Focus Groups
Doing Focus Groups
Mike Crabb
 
Doing Interviews
Doing InterviewsDoing Interviews
Doing Interviews
Mike Crabb
 
Designing Qualitative Research
Designing Qualitative ResearchDesigning Qualitative Research
Designing Qualitative Research
Mike Crabb
 
Introduction to Accessible Design
Introduction to Accessible DesignIntroduction to Accessible Design
Introduction to Accessible Design
Mike Crabb
 
Accessible Everyone
Accessible EveryoneAccessible Everyone
Accessible Everyone
Mike Crabb
 
Texture and Glyph Design
Texture and Glyph DesignTexture and Glyph Design
Texture and Glyph Design
Mike Crabb
 
Pattern Perception and Map Design
Pattern Perception and Map DesignPattern Perception and Map Design
Pattern Perception and Map Design
Mike Crabb
 
Dealing with Enterprise Level Data
Dealing with Enterprise Level DataDealing with Enterprise Level Data
Dealing with Enterprise Level Data
Mike Crabb
 
Using Cloud in an Enterprise Environment
Using Cloud in an Enterprise EnvironmentUsing Cloud in an Enterprise Environment
Using Cloud in an Enterprise Environment
Mike Crabb
 
Teaching Cloud to the Programmers of Tomorrow
Teaching Cloud to the Programmers of TomorrowTeaching Cloud to the Programmers of Tomorrow
Teaching Cloud to the Programmers of Tomorrow
Mike Crabb
 
Sql Injection and XSS
Sql Injection and XSSSql Injection and XSS
Sql Injection and XSS
Mike Crabb
 
Forms and Databases in PHP
Forms and Databases in PHPForms and Databases in PHP
Forms and Databases in PHP
Mike Crabb
 

More from Mike Crabb (20)

Hard to Reach Users in Easy to Reach Places
Hard to Reach Users in Easy to Reach PlacesHard to Reach Users in Easy to Reach Places
Hard to Reach Users in Easy to Reach Places
 
Accessible and Assistive Interfaces
Accessible and Assistive InterfacesAccessible and Assistive Interfaces
Accessible and Assistive Interfaces
 
Accessible Everyone
Accessible EveryoneAccessible Everyone
Accessible Everyone
 
The Peer Review Process
The Peer Review ProcessThe Peer Review Process
The Peer Review Process
 
Managing Quality In Qualitative Research
Managing Quality In Qualitative ResearchManaging Quality In Qualitative Research
Managing Quality In Qualitative Research
 
Analysing Qualitative Data
Analysing Qualitative DataAnalysing Qualitative Data
Analysing Qualitative Data
 
Conversation Discourse and Document Analysis
Conversation Discourse and Document AnalysisConversation Discourse and Document Analysis
Conversation Discourse and Document Analysis
 
Ethnographic and Observational Research
Ethnographic and Observational ResearchEthnographic and Observational Research
Ethnographic and Observational Research
 
Doing Focus Groups
Doing Focus GroupsDoing Focus Groups
Doing Focus Groups
 
Doing Interviews
Doing InterviewsDoing Interviews
Doing Interviews
 
Designing Qualitative Research
Designing Qualitative ResearchDesigning Qualitative Research
Designing Qualitative Research
 
Introduction to Accessible Design
Introduction to Accessible DesignIntroduction to Accessible Design
Introduction to Accessible Design
 
Accessible Everyone
Accessible EveryoneAccessible Everyone
Accessible Everyone
 
Texture and Glyph Design
Texture and Glyph DesignTexture and Glyph Design
Texture and Glyph Design
 
Pattern Perception and Map Design
Pattern Perception and Map DesignPattern Perception and Map Design
Pattern Perception and Map Design
 
Dealing with Enterprise Level Data
Dealing with Enterprise Level DataDealing with Enterprise Level Data
Dealing with Enterprise Level Data
 
Using Cloud in an Enterprise Environment
Using Cloud in an Enterprise EnvironmentUsing Cloud in an Enterprise Environment
Using Cloud in an Enterprise Environment
 
Teaching Cloud to the Programmers of Tomorrow
Teaching Cloud to the Programmers of TomorrowTeaching Cloud to the Programmers of Tomorrow
Teaching Cloud to the Programmers of Tomorrow
 
Sql Injection and XSS
Sql Injection and XSSSql Injection and XSS
Sql Injection and XSS
 
Forms and Databases in PHP
Forms and Databases in PHPForms and Databases in PHP
Forms and Databases in PHP
 

Recently uploaded

Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 

Recently uploaded (20)

Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 

A Beginners Guide to noSQL

  • 2. THE WHY WE ARE STORING MORE DATA NOW THAN WE EVER HAVE BEFORE
  • 3. THE WHY WE ARE STORING MORE DATA NOW THAN WE EVER HAVE BEFORE CONNECTIONS BETWEEN OUR DATA ARE GROWING ALL THE TIME
  • 4. THE WHY WE ARE STORING MORE DATA NOW THAN WE EVER HAVE BEFORE CONNECTIONS BETWEEN OUR DATA ARE GROWING ALL THE TIME WE DON’T MAKE THINGS KNOWING THE STRUCTURE FROM DAY 1
  • 5. THE WHY WE ARE STORING MORE DATA NOW THAN WE EVER HAVE BEFORE CONNECTIONS BETWEEN OUR DATA ARE GROWING ALL THE TIME WE DON’T MAKE THINGS KNOWING THE STRUCTURE FROM DAY 1 SERVER ARCHITECTURE IS NOW AT A STAGE WHERE WE CAN TAKE ADVANTAGE OF IT
  • 6. salary lists most web applications social networks semantic trading SiZE Complexity relational databases
  • 7. NOSQL USE CASES LARGE DATA VOLUMES MASSIVELY DISTRIBUTED ARCHITECTURE REQUIRED TO STORE THE DATA GOOGLE, AMAZON, FACEBOOK, 100K SERVERS
  • 8. NOSQL USE CASES LARGE DATA VOLUMES MASSIVELY DISTRIBUTED ARCHITECTURE REQUIRED TO STORE THE DATA GOOGLE, AMAZON, FACEBOOK, 100K SERVERS EXTREME QUERY WORKLOAD IMPOSSIBLE TO EFFICIENTLY DO JOINS AT THAT SCALE WITH AN RDBMS
  • 9. NOSQL USE CASES LARGE DATA VOLUMES MASSIVELY DISTRIBUTED ARCHITECTURE REQUIRED TO STORE THE DATA GOOGLE, AMAZON, FACEBOOK, 100K SERVERS EXTREME QUERY WORKLOAD IMPOSSIBLE TO EFFICIENTLY DO JOINS AT THAT SCALE WITH AN RDBMS SCHEMA EVOLUTION SCEMA FLEXIBILITY IS NOT TRIVIAL AT A LARGE SCALE BUT IT CAN BE WITH NO SQL
  • 10. NOSQL PROS AND CONS PROS MASSIVE SCALABILITY HIGH AVAILABILITY LOWER COST SCHEMA FLEXIBILITY SPARCE AND SEMI STRUCTURED DATA
  • 11. NOSQL PROS AND CONS PROS MASSIVE SCALABILITY HIGH AVAILABILITY LOWER COST SCHEMA FLEXIBILITY SPARCE AND SEMI STRUCTURED DATA CONS LIMITED QUERY CAPABILITIES NOT STANDARDISED (PORTABILITY MAY BE AN ISSUE) STILL A DEVELOPING TECHNOLOGY
  • 12. OSQL NOSQL NOSQL NOSQL QL BIGTABLE NOSQL NOSQL QL NOSQL NOSQL NOSQL N OSQL NOSQL KEY VALUE NO SQL NOSQL NOSQL NOSQL N NOSQL NOSQL NOSQL NOS NOSQL NOSQL NOSQL NOSQ QL NOSQL NOSQL NOSQL NO GRAPHDB NOSQL NOSQL N NOSQL NOSQL NOSQL NOS OSQL NOSQL NOSQL NOSQL SQL NOSQL DOCUMENT NOS FOUREMERGING TRENDS IN NOSQL DATABASES
  • 13. BUT FIRST… IMAGINE A LIBRARY LOTS OF DIFFERENT FLOORS DIFFERENT SECTIONS ON EACH FLOOR DIFFERENT BOOKSHELVES IN EACH SECTION LOTS OF BOOKS ON EACH SHELF LOTS OF PAGES IN EACH BOOK LOTS OF WORDS ON EACH PAGE EVERYTHING IS WELL ORGANISED AND EVERYTHING HAS A SPACE
  • 14. BUT FIRST… IMAGINE A LIBRARY WHAT HAPPENS IF WE BUY TOO MANY BOOKS!? (THE WORLD EXPLODES AND THE KITTENS WIN)
  • 15. BUT FIRST… IMAGINE A LIBRARY WHAT HAPPENS IF WE WANT TO STORE CDS ALL OF A SUDDEN!? (THE WORLD EXPLODES AND THE KITTENS WIN)
  • 16. BUT FIRST… IMAGINE A LIBRARY WHAT HAPPENS IF WE WANT TO GET RID OF ALL BOOKS THAT MENTION KITTENS (KITTENS STILL WIN)
  • 17. BIG BEHAVES LIKE A STANDARD RELATIONAL DATABASE BUT WITH A SLIGHT CHANGE http://research.google.com/archive/bigtable.html http://research.google.com/archive/spanner.html DESIGNED TO WORK WITH A LOT OF DATA…A REALLY BIG CRAP TON CREATED BY GOOGLE AND NOW USED BY LOTS OF OTHERS TABLE
  • 18. THIS IS A STANDARD RELATIONAL DATABASE BIG TABLE THIS IS A BIG TABLE DATABASE (AND NOW THE NAME MAKES SENCE!)
  • 19. BIG TABLE “A Bigtable is a sparse, distributed, persistent multidimensional sorted map. The map is indexed by a row key, column key, and a timestamp; each value in the map is an uninterpreted array of bytes.”
  • 20. BIG TABLE “A Bigtable is a sparse, distributed, persistent multidimensional sorted map. The map is indexed by a row key, column key, and a timestamp; each value in the map is an uninterpreted array of bytes.”
  • 21. BIG TABLE “A Bigtable is a sparse, distributed, persistent multidimensional sorted map. The map is indexed by a row key, column key, and a timestamp; each value in the map is an uninterpreted array of bytes.”
  • 22. KEY VALUE AGAIN, DESIGNED TO WORK WITH A LOT OF DATA EACH BIT OF DATA IS STORED IN A SINGLE COLLECTION EACH COLLECTION CAN HAVE DIFFERENT TYPES OF DATA
  • 24. KEY VALUE A C D E OUR VALUES ARE HIDDEN INSIDE THE KEYS TO FIND OUT WHAT THEY ARE WE NEED TO QUERY THEM What is in Key B? The Triangle B
  • 26. DOCUMENT STORE DESIGNED TO WORK WITH A LOT OF DATA (BEGINNING TO NOTICE A THEME?) VERY SIMILAR TO A KEY VALUE DATABASE MAIN DIFFERENCE IS THAT YOU CAN ACTUALLY SEE THE VALUES
  • 28. DOCUMENT STORE A CB D E Bring me the triangles Yes m’lord.
  • 29. SIDENOTE REMEMBER HOW SQL DATABASES ARE LIBRARIES? NO SQL IS MORE LIKE A BAG OF CATS!
  • 30. SIDENOTE colour: tabby name: Gunther colour: ginger name: Mylo colour: grey name: Ruffus age: kitten colour: ginger(ish) name: Fred age: kitten colour: ginger(ish) name: Quentin legs: 3 WE CAN ADD IN FIELDS AS AND WHEN WE NEED THEM
  • 31. DOCUMENT STORE A CB D E Bring me the KITTENS! Of course m’lord.
  • 33. GRAPH DATABASE FOCUS HERE IS ON MODELLING THE STRUCTURE OF THE DATA INSPIRED BY GRAPH THEORY (GO MATHS!) SCALES REALLY WELL TO THE STRUCTURE OF THE DATA
  • 37. GRAPH DATABASE name: “Michael” twitter: “@mrmike name: “John” twitter:”@mrjohn” brand: “Toyota” currentState: “Broken” brand: “Vauxhall” currentState: “Working” WORKS_WITH WORKS_WITH OWNS OWNS CARSHARES IN
  • 38. GRAPH DATABASE name: “Michael” twitter: “@mrmike name: “John” twitter:”@mrjohn” brand: “Toyota” currentState: “Broken” brand: “Vauxhall” currentState: “Working” WORKS_WITH WORKS_WITH OWNS propertyType: “car” OWNS propertyType: “car” CARSHARES IN
  • 40. key/value store bigtable clone document database graph database SiZE Complexity
  • 41. key/value store bigtable clone document database graph database SiZE Complexity >90% of use cases
  • 42. WHEN TO USE NOSQL AND WHEN TO USE SQL
  • 43. THE BASICS High availability and disaster recovery are a must Understand the pros and cons of each design model Don’t pick something just because it is new Do you remember the zune? Don’t pick something based JUST on performance
  • 44. SQL High performance for transactions. Think ACID Highly structured, very portable Small amounts of data SMALL IS LESS THAN 500GB Supports many tables with different types of data Can fetch ordered data Compatible with lots of tools THE GOOD
  • 46. SQL High performance for transactions. Think ACID Highly structured, very portable Small amounts of data SMALL IS LESS THAN 500GB Supports many tables with different types of data Can fetch ordered data Compatible with lots of tools THE GOOD
  • 47. SQL Complex queries take a long time The relational model takes a long time to learn Not really scalable Not suited for rapid development THE BAD
  • 48. noSQL Fits well for volatile data High read and write throughput Scales really well Rapid development is possible In general it’s faster than SQL THE GOOD
  • 50. noSQL Fits well for volatile data High read and write throughput Scales really well Rapid development is possible In general it’s faster than SQL THE GOOD
  • 51. noSQL Key/Value pairs need to be packed/unpacked all the time Still working on getting security for these working as well as SQL Lack of relations from one key to another THE GOOD
  • 52. tl;dr so use both, but think about when you want to use them! works great, can’t scale for large data works great, doesn't fit all situations SQL noSQL
  • 53. A lot of this content is loving ripped from lots of other (more impressive) presentations that are already on SlideShare - you should check them out! FINALLY