SlideShare a Scribd company logo
1 of 42
NoSQL Roundup
- DAN FIELDS (@DANIELSFIELDS)
“What is NoSQL”?
What if NoSQL?
What if NoSQL?
Map/Reduce (HBase, CouchDB)
What if NoSQL?
Map/Reduce (HBase, CouchDB)
Query DSL (MongoDB, ElasticSearch, ReThink)
What if NoSQL?
Map/Reduce (HBase, CouchDB)
Query DSL (MongoDB, ElasticSearch, ReThink)
Key-Value (Redis, Membase)
What if NoSQL?
Map/Reduce (HBase, CouchDB)
Query DSL (MongoDB, ElasticSearch, ReThink)
Key-Value (Redis, Membase)
Other (Cypher, Pig Latin)
What if NoSQL?
Map/Reduce (HBase, CouchDB)
Query DSL (MongoDB, ElasticSearch, ReThink)
Key-Value (Redis, Membase)
Other (Cypher, Pig Latin)
Uh…Structured Query Language…?
“No”SQL
“N.O.”SQL
”Not Only” SQL?
SQL-like
N1QL (Couchbase)
SPARQL (RDF – AllegroGraph, BlazeGraph)
CQL (Cassandra)
…and so on…
No, seriously, what the heck is “NoSQL”?
No, seriously, what the heck is “NoSQL”?
So, then NoSQL === NoRel?
So, then NoSQL === NoRel?
NoSQL === (NoSQL !== RDBMS)
But why NoSQL?
NoSQL === (NoSQL !== RDBMS)
NoSQL solves specific problems
NoSQL solves specific problems
Horizontal scalability
NoSQL solves specific problems
Horizontal scalability
Availability
NoSQL solves specific problems
Horizontal scalability
Availability
Schema updates
NoSQL solves specific problems
Horizontal scalability
Availability
Schema updates
Performance
NoSQL solves specific problems
Horizontal scalability
Availability
Schema updates
Performance
Data gets very large
NoSQL solves specific problems
Horizontal scalability
Availability
Schema updates
Performance
Data gets very large
Data gets very wide
NoSQL solves specific problems
Horizontal scalability
Availability
Schema updates
Performance
Data gets very large
Data gets very wide
High volatility
NoSQL solves specific problems
Horizontal scalability
Availability
Schema updates
Performance
Data gets very large
Data gets very wide
High volatility
CPU-bound operations
“NoSQL” is not a monolith
Key-value
Document
Graph
Inverted Index
Object
RDF (triplestore/quadstore)
Columnar
Key-value
Description Pros Cons Examples
Data is modeled
as key-value pairs.
• Simplicity
• In-memory
• Flexibility
• Easy to partition
• Limited query
capabilities
• Limited ability
to build out
complex data
relationships
• Redis
• Couchbase
• Membase
• DynamoDB
• Riak
Document
Description Pros Cons Examples
Data is
represented as a
“document,” and
is serialized in a
hierarchical data
format.
• Flexibility • Limited ability
to build out
complex data
relationships
• ArrangoDB
• Couchbase
• CouchDB
• DynamoDB
• ElasticSearch
• MongoDB
• RethinkDB
• Riak
Graph
Description Pros Cons Examples
Based on graph
theory. Data is
represented as
edges and
vertices.
• Data
relationships
are stored with
the data itself at
the logical level
• Complexity • Apache Giraph
• ArrangoDB
• BlazeGraph
• InfinitGraph
• Neo4j
Inverted Index
Description Pros Cons Examples
An index that
builds
relationships
between the
contents of
documents. Full-
text indexes, and
probability
searches.
• Flexibility
• Robust querying
• Mutations are
slow
• Requires a lot
of storage
• Probability
searches may
not be what
you want.
• ElasticSearch
• Solr
Object
Description Pros Cons Examples
Models data as
you would model
them in an object-
oriented language.
• Automatic
schema updates
• Simplicity
• Lightweight
• Lack of
standards
• Lack of tooling
• db4o
• JADE
• ObjectDB
• Perst
• Zope
RDF (triplestore/quadstore)
Description Pros Cons Examples
A type of graph
database where
vertices and edges
are represented as
semantic
expressions.
• Extremely
scalable
• Engines are
incredibly fast
• Complexity • AllegroGraph
• BlazeGraph
• MarkLogic
• Oracle NoSQL
Columnar
Description Pros Cons Examples
Tabular data is
stored by column
instead of rows. A
single table
typically consists
of many files.
• Supports wide
tables (100s of
columns)
• Aggregates on
pico-scale data
is fast
• Write
performance
• Complexity
• Mutations are a
no-no
• Cannot query
by row
• Accumulo
• Cassandra
• Druid
• HBase
• Vertica
Other considerations
Other considerations
Multi-modal
Other considerations
Multi-modal
Approach to CAP theorem
Other considerations
Multi-modal
Approach to CAP theorem
Memory management
Other considerations
Multi-modal
Approach to CAP theorem
Memory management
Durability
Other considerations
Multi-modal
Approach to CAP theorem
Memory management
Durability
NewSQL
Thank you!
Dan Fields
Technologist, Liberty Mutual Insurance
Twitter: @danielsfields
GitHub: dsfields
LinkedIn: /in/danielsfields

More Related Content

What's hot

Graph databases & data integration v2
Graph databases & data integration v2Graph databases & data integration v2
Graph databases & data integration v2Dimitris Kontokostas
 
PhD thesis defense: Large-scale multilingual knowledge extraction, publishin...
PhD thesis defense:  Large-scale multilingual knowledge extraction, publishin...PhD thesis defense:  Large-scale multilingual knowledge extraction, publishin...
PhD thesis defense: Large-scale multilingual knowledge extraction, publishin...Dimitris Kontokostas
 
Evolution of the Graph Schema
Evolution of the Graph SchemaEvolution of the Graph Schema
Evolution of the Graph SchemaJoshua Shinavier
 
Analyzing Web Archives
Analyzing Web ArchivesAnalyzing Web Archives
Analyzing Web Archivesvinaygo
 
GraphDB Cloud: Enterprise Ready RDF Database on Demand
GraphDB Cloud: Enterprise Ready RDF Database on DemandGraphDB Cloud: Enterprise Ready RDF Database on Demand
GraphDB Cloud: Enterprise Ready RDF Database on DemandOntotext
 
Introduction to ArangoDB (nosql matters Barcelona 2012)
Introduction to ArangoDB (nosql matters Barcelona 2012)Introduction to ArangoDB (nosql matters Barcelona 2012)
Introduction to ArangoDB (nosql matters Barcelona 2012)ArangoDB Database
 
Graph Databases
Graph DatabasesGraph Databases
Graph Databasesthai
 
Cogapp Open Studios 2012 - Adventures with Linked Data
Cogapp Open Studios 2012 - Adventures with Linked DataCogapp Open Studios 2012 - Adventures with Linked Data
Cogapp Open Studios 2012 - Adventures with Linked DataCogapp
 
Scalable Data Models with Elasticsearch
Scalable Data Models with ElasticsearchScalable Data Models with Elasticsearch
Scalable Data Models with ElasticsearchBeyondTrees
 
Comparison with storing data using NoSQL(CouchDB) and a relational database.
Comparison with storing data using NoSQL(CouchDB) and a relational database.Comparison with storing data using NoSQL(CouchDB) and a relational database.
Comparison with storing data using NoSQL(CouchDB) and a relational database.eross77
 
Open Location Data and Linked Open Data
Open Location Data and Linked Open DataOpen Location Data and Linked Open Data
Open Location Data and Linked Open DataApps4Finland
 
Deriving an Emergent Relational Schema from RDF Data
Deriving an Emergent Relational Schema from RDF DataDeriving an Emergent Relational Schema from RDF Data
Deriving an Emergent Relational Schema from RDF DataGraph-TA
 
Publishing RDF SKOS with microservices
Publishing RDF SKOS with microservicesPublishing RDF SKOS with microservices
Publishing RDF SKOS with microservicesBart Hanssens
 
Future of pandas
Future of pandasFuture of pandas
Future of pandasJeff Reback
 
JDD 2016 - Michal Matloka - Small Intro To Big Data
JDD 2016 - Michal Matloka - Small Intro To Big DataJDD 2016 - Michal Matloka - Small Intro To Big Data
JDD 2016 - Michal Matloka - Small Intro To Big DataPROIDEA
 

What's hot (20)

Graph databases & data integration v2
Graph databases & data integration v2Graph databases & data integration v2
Graph databases & data integration v2
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
Data quality in Real Estate
Data quality in Real EstateData quality in Real Estate
Data quality in Real Estate
 
PhD thesis defense: Large-scale multilingual knowledge extraction, publishin...
PhD thesis defense:  Large-scale multilingual knowledge extraction, publishin...PhD thesis defense:  Large-scale multilingual knowledge extraction, publishin...
PhD thesis defense: Large-scale multilingual knowledge extraction, publishin...
 
Evolution of the Graph Schema
Evolution of the Graph SchemaEvolution of the Graph Schema
Evolution of the Graph Schema
 
Analyzing Web Archives
Analyzing Web ArchivesAnalyzing Web Archives
Analyzing Web Archives
 
Graph database
Graph database Graph database
Graph database
 
GraphDB Cloud: Enterprise Ready RDF Database on Demand
GraphDB Cloud: Enterprise Ready RDF Database on DemandGraphDB Cloud: Enterprise Ready RDF Database on Demand
GraphDB Cloud: Enterprise Ready RDF Database on Demand
 
Introduction to ArangoDB (nosql matters Barcelona 2012)
Introduction to ArangoDB (nosql matters Barcelona 2012)Introduction to ArangoDB (nosql matters Barcelona 2012)
Introduction to ArangoDB (nosql matters Barcelona 2012)
 
Graph Database
Graph DatabaseGraph Database
Graph Database
 
Graph Databases
Graph DatabasesGraph Databases
Graph Databases
 
Cogapp Open Studios 2012 - Adventures with Linked Data
Cogapp Open Studios 2012 - Adventures with Linked DataCogapp Open Studios 2012 - Adventures with Linked Data
Cogapp Open Studios 2012 - Adventures with Linked Data
 
Scalable Data Models with Elasticsearch
Scalable Data Models with ElasticsearchScalable Data Models with Elasticsearch
Scalable Data Models with Elasticsearch
 
Comparison with storing data using NoSQL(CouchDB) and a relational database.
Comparison with storing data using NoSQL(CouchDB) and a relational database.Comparison with storing data using NoSQL(CouchDB) and a relational database.
Comparison with storing data using NoSQL(CouchDB) and a relational database.
 
DBpedia Japanese
DBpedia JapaneseDBpedia Japanese
DBpedia Japanese
 
Open Location Data and Linked Open Data
Open Location Data and Linked Open DataOpen Location Data and Linked Open Data
Open Location Data and Linked Open Data
 
Deriving an Emergent Relational Schema from RDF Data
Deriving an Emergent Relational Schema from RDF DataDeriving an Emergent Relational Schema from RDF Data
Deriving an Emergent Relational Schema from RDF Data
 
Publishing RDF SKOS with microservices
Publishing RDF SKOS with microservicesPublishing RDF SKOS with microservices
Publishing RDF SKOS with microservices
 
Future of pandas
Future of pandasFuture of pandas
Future of pandas
 
JDD 2016 - Michal Matloka - Small Intro To Big Data
JDD 2016 - Michal Matloka - Small Intro To Big DataJDD 2016 - Michal Matloka - Small Intro To Big Data
JDD 2016 - Michal Matloka - Small Intro To Big Data
 

Similar to NoSQL Roundup

NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...Felix Gessert
 
NoSQL and MapReduce
NoSQL and MapReduceNoSQL and MapReduce
NoSQL and MapReduceJ Singh
 
Presentation: mongo db & elasticsearch & membase
Presentation: mongo db & elasticsearch & membasePresentation: mongo db & elasticsearch & membase
Presentation: mongo db & elasticsearch & membaseArdak Shalkarbayuli
 
A rubyist's naive comparison of some database systems and toolkits
A rubyist's naive comparison of some database systems and toolkitsA rubyist's naive comparison of some database systems and toolkits
A rubyist's naive comparison of some database systems and toolkitsBelighted
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and HowBigBlueHat
 
Mongodb - NoSql Database
Mongodb - NoSql DatabaseMongodb - NoSql Database
Mongodb - NoSql DatabasePrashant Gupta
 
Ephedra: efficiently combining RDF data and services using SPARQL federation
Ephedra: efficiently combining RDF data and services using SPARQL federationEphedra: efficiently combining RDF data and services using SPARQL federation
Ephedra: efficiently combining RDF data and services using SPARQL federationPeter Haase
 
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesDropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesKyle Banerjee
 
Mongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMohan Rathour
 
No SQL : Which way to go? Presented at DDDMelbourne 2015
No SQL : Which way to go?  Presented at DDDMelbourne 2015No SQL : Which way to go?  Presented at DDDMelbourne 2015
No SQL : Which way to go? Presented at DDDMelbourne 2015Himanshu Desai
 
Nosql databases for the .net developer
Nosql databases for the .net developerNosql databases for the .net developer
Nosql databases for the .net developerJesus Rodriguez
 

Similar to NoSQL Roundup (20)

Taming NoSQL with Spring Data
Taming NoSQL with Spring DataTaming NoSQL with Spring Data
Taming NoSQL with Spring Data
 
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
 
NoSQL and MapReduce
NoSQL and MapReduceNoSQL and MapReduce
NoSQL and MapReduce
 
NoSQL and MongoDB
NoSQL and MongoDBNoSQL and MongoDB
NoSQL and MongoDB
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
Presentation: mongo db & elasticsearch & membase
Presentation: mongo db & elasticsearch & membasePresentation: mongo db & elasticsearch & membase
Presentation: mongo db & elasticsearch & membase
 
A rubyist's naive comparison of some database systems and toolkits
A rubyist's naive comparison of some database systems and toolkitsA rubyist's naive comparison of some database systems and toolkits
A rubyist's naive comparison of some database systems and toolkits
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and How
 
Mongodb - NoSql Database
Mongodb - NoSql DatabaseMongodb - NoSql Database
Mongodb - NoSql Database
 
Ephedra: efficiently combining RDF data and services using SPARQL federation
Ephedra: efficiently combining RDF data and services using SPARQL federationEphedra: efficiently combining RDF data and services using SPARQL federation
Ephedra: efficiently combining RDF data and services using SPARQL federation
 
Apache Drill
Apache DrillApache Drill
Apache Drill
 
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesDropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
 
NoSQL
NoSQLNoSQL
NoSQL
 
Mongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorial
 
No SQL : Which way to go? Presented at DDDMelbourne 2015
No SQL : Which way to go?  Presented at DDDMelbourne 2015No SQL : Which way to go?  Presented at DDDMelbourne 2015
No SQL : Which way to go? Presented at DDDMelbourne 2015
 
NoSQL, which way to go?
NoSQL, which way to go?NoSQL, which way to go?
NoSQL, which way to go?
 
Nosql databases for the .net developer
Nosql databases for the .net developerNosql databases for the .net developer
Nosql databases for the .net developer
 
NoSQL Databases
NoSQL DatabasesNoSQL Databases
NoSQL Databases
 
Drop acid
Drop acidDrop acid
Drop acid
 
Big data overview
Big data overviewBig data overview
Big data overview
 

Recently uploaded

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 

Recently uploaded (20)

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 

NoSQL Roundup

Editor's Notes

  1. The goal of this talk is provide a definition for the term “NoSQL,” and give a high-level overview of the various kinds of NoSQL databases.
  2. What NoSQL is and is not has caused confusion. There are a lot of options. NoSQL is not. A monolith. The name implies that these are database that do not use SQL to query data.
  3. Well, then how the heck are we getting data? There are a number of alternatives.
  4. Map performs filtering and sorting Reduce performs aggregates (counts, summations, unions, etc)
  5. Queries are objects built using a domain specific language. Different keys and structures result in different filter criteria and logical conjunctions/disjunctions.
  6. Gigantic hashtables. Simple hash lookup.
  7. Completely different languages for expressing queries.
  8. And of course there’s…SQL. But it’s called “NoSQL”!
  9. Are we just being trolled here? As it turns out, SQL is a pretty good tool. It makes it easy to build highly-complex queries and database mutations. Collectively a lot of knowledge about SQL within the development community.
  10. The term “NoSQL” has morphed from “there is no SQL” to “not only SQL.”
  11. We have this broad classification of databases. That are no SQL technologies. But also use SQL. It’s a bit confusing. What’s the difference between something like MySQL or PostgreSQL?
  12. What we start to find is that many of these technologies approach the modeling of data in dramatically different ways. There is often is no construct of a “relationship” as a first-class citizen in the database.
  13. Not exactly. The primitives for defining objects in a graph database are called vertices and edges. Edges are the relationship between vertices.
  14. Really, NoSQL is what it is not. That is, a database that is not an RDBMS.
  15. Perhaps at this point you may be saying, “yo, Dan, imma let you finish, but PostgreSQL is the greatest database of all time!”
  16. If you find that an RDBMS solves your problems, then use it. NoSQL is not an “alternative” to using RDBMS databases. Nor is NoSQL a panacea for data storage.
  17. The rise of these NoSQL database technologies has been about solving specific problems.
  18. Generally, scaling a traditional RDBMS means adding more disks, CPUs, and memory This can get costly, and has limitations Being able to simply add new nodes to a cluster to scale out a single database instance is compelling
  19. With RDBMS, if our database goes down, we have to fail over to a replica. Some NoSQL databases approach this problem by running hot-hot replicas. Traffic is simply routed away from an unhealthy node.
  20. If you have to change a database table, this can be a complicated exercise. Especially if you need to automate this as part of your continuous deployment pipeline. Some NoSQL technologies approach this by going ”schemaless.”
  21. Generally, RDBMS databases are pretty fast. There are situations where they are start to break down.
  22. Indexes begin to get difficult to manage and query.
  23. Many RDBS systems have a number of optimizations built into them that help it handle the efficient storage of data. Often the trade off is often limitations on the number of columns in a database.
  24. Lots of data mutations means lots of recomputing of indexes, and index fragmentation.
  25. CPUs tend to be the most limited resource on a server. Lots of CPU-intensive operations can result in the CPU getting pegged, which means your database is no longer available.
  26. Again, NoSQL databases solve specific problems. Consequently, there are a number of types of databases that often get associated with the “NoSQL” moniker. The different types are defined by the various ways a database will internally model data. They all have their pros and cons. Lets take a deeper look.
  27. Giant hashtable. Often in-memory. Typically used for caching Couchbase has additional methods of querying Redis has data structures DynamoDB has range keys
  28. Typically requires a fair amount of denormalization.
  29. The advantage of a graph database over an RDBMS is the ability to represent and query deeply-nested hierarchies.
  30. Typically associated with full-text indexes. Can be used as a document database. ElasticSearch offers additional, non-probably queries.
  31. This is a type of database that does not get a lot of publicity. The original “NoSQL” database (Strozzi).
  32. ”Humans are animals” / “Bob is human” / “Bob has hair” / “Bob is 35" / "Bob knows Fred” / “Sarah has hair” Engines are mind-bogglingly fast. BlazeGraph running on GPU servers has been clocked at 50 billion edge traversals per second Query language is SPARQL
  33. NO MUTATIONS! Often used for time series Typically stored in a tabular format
  34. This is a lot of information, so here’s some more!
  35. You may have noticed some databases appear on multiple NoSQL type lists. These are called multi-modal databases. Models data internally in multiple forms to overcome limitations of individual models.
  36. Consistency Availability Partition-tolerance. For example… CP gives you immediate consistency by running hot-cold replicas. This impacts availability because of warmup time for replicas. AP is the opposite.
  37. Some in-memory databases do not support larger-than-memory datasets with persistence (Redis).
  38. Eventually durable.
  39. There is another category worth mention here called NewSQL.