SlideShare a Scribd company logo
1 of 43
How and When to use NoSQL DBs 
Denis V. Batalov, Solutions Architect 
denisb@amazon.lu @dbatalov 
© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
We will talk about
We will talk about 
• What is NoSQL DB
We will talk about 
• What is NoSQL DB 
• When it is time to consider NoSQL
We will talk about 
• What is NoSQL DB 
• When it is time to consider NoSQL 
• DynamoDB as an AWS NoSQL solution
We will talk about 
• What is NoSQL DB 
• When it is time to consider NoSQL 
• DynamoDB as an AWS NoSQL solution 
• Case studies for DynamoDB
What is a “database”?
What is a “database”? 
• Data Persistence
What is a “database”? 
• Data Persistence 
• Data Model
What is a “database”? 
• Data Persistence 
• Data Model 
• Data Retrieval
Traditional RDBMS vs NoSQL 
RDBMS NoSQL 
Data Model 
Data Retrieval
Traditional RDBMS vs NoSQL 
RDBMS NoSQL 
Data Model Relational 
Data Retrieval SQL
Traditional RDBMS vs NoSQL 
RDBMS NoSQL 
Data Model Relational Not Relational 
Data Retrieval SQL Not SQL
Relational Databases 
Scale 
Database Query Performance 
Desired consistency, predictability
Relational Databases 
Scale 
Database Query Performance 
Desired consistency, predictability 
Actual 
degraded 
performance 
with scale
Scale 
Database Query Performance 
Desired consistency, predictability 
Actual 
degraded 
performance 
with scale 
Management problems 
Data sharding 
Data caching 
Provisioning 
Cluster management 
Fault management 
Relational Databases
NoSQL DB typical features 
• Non-relational 
• Distributed 
• Eventually consistent 
• Horizontally scalable 
• Support replication 
• Schema-free
Typical use cases for NoSQL 
• Fast reads/writes with very low jitter 
• Huge amounts of data
NoSQL on AWS
NoSQL on AWS 
• Deploy popular third-party solutions via EC2 
– MongoDB 
– Cassandra 
– Redis
NoSQL on AWS 
• Deploy popular third-party solutions via EC2 
– MongoDB 
– Cassandra 
– Redis 
OR 
• Use a managed AWS service – DynamoDB
Tools Positioning Matrix 
S3 
Glacier 
Redshift 
Elastic MapReduce 
RDS 
Large 
Size 
Small 
Dynamo 
DB 
Elasti 
Cache 
Low Latency / Complexity High
Amazon DynamoDB
Amazon DynamoDB 
NoSQL Database 
Fast & predictable performance 
Seamless Scalability 
Easy administration 
“Even though we have years of experience with large, complex NoSQL 
architectures, we are happy to be finally out of the business of managing it 
ourselves.” - Don MacAskill, CEO 
ADMIN
Access and Query Model 
Two primary key options 
 Hash key: Key lookups: “Give me the status for user foo” 
 Composite key (Hash with Range): “Give me all the status updates for user ‘foo’ that occurred 
within the past 24 hours” 
Support for multiple data types 
 Scalar: number, string, binary 
 Multi-valued: number set, string set, binary set 
Consistency: Supports both strong and eventual consistency 
 Pick consistency mode at per API call 
 Different parts of applications can make different choices
Operations 
Table Operations 
 CreateTable, UpdateTable, DeleteTable 
 ListTables, DescribeTable 
Item Operations 
 GetItem, BatchGetItem 
 PutItem, UpdateItem, DeleteItem, BatchWriteItem 
Query & Scan 
 Query, Scan 
Atomic Counters and Conditional updates
Social Network 
hash + range schemas
Social Network 
• Store info about users 
• Query for a user’s friends
Social Network 
Friends Table Users Table
User Birthday 
Bob 11.02 
Alice 15.10 
Carol 30.06 
Dan 05.01 
Social Network 
Users Table
User Birthday 
Bob 11.02 
Alice 15.10 
Carol 30.06 
Dan 05.01 
Social Network 
Users Table 
Item
User Birthday 
Bob 11.02 
Alice 15.10 
Carol 30.06 
Dan 05.01 
Social Network 
Users Table 
Attribute 
(string, number, binary, set)
User Birthday 
Bob 11.02 
Alice 15.10 
Carol 30.06 
Dan 05.01 
Social Network 
Users Table 
Primary Key 
(Hash)
User Birthday 
Bob 11.02 
Alice 15.10 
Carol 30.06 
Dan 05.01 
Social Network 
Friends Table 
User Friend 
Bob Alice 
Alice Bob 
Alice Carol 
Alice Dan 
Users Table
Social Network 
Friends Table 
User Friend 
Bob Alice 
Alice Bob 
Alice Carol 
Alice Dan 
Hash-and-Range 
Primary Key Schema 
Users Table 
User Birthday 
Bob 11.02 
Alice 15.10 
Carol 30.06 
Dan 05.01
Social Network 
Friends Table 
User Friend 
Bob Alice 
Alice Bob 
Alice Carol 
Alice Dan 
Query for Alice’s friends 
Users Table 
User Birthday 
Bob 11.02 
Alice 15.10 
Carol 30.06 
Dan 05.01
DynamoDB Highlights: Performance 
Typical service-side latency: single digit milliseconds 
Solid State Drive (SSD)-backed service 
Latency is consistent 
– As throughput increases 
– As storage grows 
No need for tuning.
DynamoDB Highlights: Reliability 
Durability 
– Synchronous replication for high durability 
– A write is only acknowledged (committed) once it exists in at least two 
physical data centers 
– All writes occur to disk, not memory 
Availability 
– Regional service 
– spans multiple availability zones 
– All data is continuously 
replicated to multiple AZ’s
Provisioned Throughput 
Reserve the throughput needed for each table 
– Set at table creation 
– Example: My table needs 1,000 writes/second and 5,000 
reads/seconds of capacity 
Increase / decrease any time via API call 
Pay for throughput and storage (not instances)
Provisioned Throughput 
Why? 
– Simpler capacity planning 
– Easy to translate calls to Apps => calls to database 
– Not in terms of servers and disk IOPS 
– Do not be locked in your peak for month or year!
Capacity we needed before DynamoDB 
Actual traffic 
Capacity we can provision 
with DynamoDB
DynamoDB Customer Highlights 
x
Thanks! 
How and When to use NoSQL DBs 
Denis V. Batalov, Solutions Architect 
denisb@amazon.lu @dbatalov 
© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

More Related Content

What's hot

Dynamo db pros and cons
Dynamo db  pros and consDynamo db  pros and cons
Dynamo db pros and cons
Saniya Khalsa
 

What's hot (20)

Almacenamiento en la nube con AWS
Almacenamiento en la nube con AWSAlmacenamiento en la nube con AWS
Almacenamiento en la nube con AWS
 
Роман Новиков "Best Practices for MySQL Performance & Troubleshooting with th...
Роман Новиков "Best Practices for MySQL Performance & Troubleshooting with th...Роман Новиков "Best Practices for MySQL Performance & Troubleshooting with th...
Роман Новиков "Best Practices for MySQL Performance & Troubleshooting with th...
 
From 100s to 100s of Millions
From 100s to 100s of MillionsFrom 100s to 100s of Millions
From 100s to 100s of Millions
 
Compare DynamoDB vs. MongoDB
Compare DynamoDB vs. MongoDBCompare DynamoDB vs. MongoDB
Compare DynamoDB vs. MongoDB
 
Spark Streaming & Kafka-The Future of Stream Processing
Spark Streaming & Kafka-The Future of Stream ProcessingSpark Streaming & Kafka-The Future of Stream Processing
Spark Streaming & Kafka-The Future of Stream Processing
 
HBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at DidiHBaseCon2017 Apache HBase at Didi
HBaseCon2017 Apache HBase at Didi
 
Cassandra Community Webinar: MySQL to Cassandra - What I Wish I'd Known
Cassandra Community Webinar: MySQL to Cassandra - What I Wish I'd KnownCassandra Community Webinar: MySQL to Cassandra - What I Wish I'd Known
Cassandra Community Webinar: MySQL to Cassandra - What I Wish I'd Known
 
Benefícios e melhores práticas no uso do Amazon Redshift
Benefícios e melhores práticas no uso do Amazon RedshiftBenefícios e melhores práticas no uso do Amazon Redshift
Benefícios e melhores práticas no uso do Amazon Redshift
 
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...
Best practices for Data warehousing with Amazon Redshift - AWS PS Summit Canb...
 
Introduction to CosmosDB - Azure Bootcamp 2018
Introduction to CosmosDB - Azure Bootcamp 2018Introduction to CosmosDB - Azure Bootcamp 2018
Introduction to CosmosDB - Azure Bootcamp 2018
 
Scylla Summit 2022: Stream Processing with ScyllaDB
Scylla Summit 2022: Stream Processing with ScyllaDBScylla Summit 2022: Stream Processing with ScyllaDB
Scylla Summit 2022: Stream Processing with ScyllaDB
 
How & When to Use NoSQL at Websummit Dublin
How & When to Use NoSQL at Websummit DublinHow & When to Use NoSQL at Websummit Dublin
How & When to Use NoSQL at Websummit Dublin
 
Scylla Summit 2022: How ScyllaDB Powers This Next Tech Cycle
Scylla Summit 2022: How ScyllaDB Powers This Next Tech CycleScylla Summit 2022: How ScyllaDB Powers This Next Tech Cycle
Scylla Summit 2022: How ScyllaDB Powers This Next Tech Cycle
 
Dynamo db pros and cons
Dynamo db  pros and consDynamo db  pros and cons
Dynamo db pros and cons
 
AWS re:Invent 2016: How Telltale Games migrated its story analytics from Apac...
AWS re:Invent 2016: How Telltale Games migrated its story analytics from Apac...AWS re:Invent 2016: How Telltale Games migrated its story analytics from Apac...
AWS re:Invent 2016: How Telltale Games migrated its story analytics from Apac...
 
Change Data Capture using Kafka
Change Data Capture using KafkaChange Data Capture using Kafka
Change Data Capture using Kafka
 
Securing Your MongoDB Deployment
Securing Your MongoDB DeploymentSecuring Your MongoDB Deployment
Securing Your MongoDB Deployment
 
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
 
Overview and Best Practices for Amazon Elastic Block Store - September 2016 W...
Overview and Best Practices for Amazon Elastic Block Store - September 2016 W...Overview and Best Practices for Amazon Elastic Block Store - September 2016 W...
Overview and Best Practices for Amazon Elastic Block Store - September 2016 W...
 
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech Talks
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech TalksMigrating Your Oracle Database to PostgreSQL - AWS Online Tech Talks
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech Talks
 

Viewers also liked

AWS Summit 2013 | Auckland - Big Data Analytics
AWS Summit 2013 | Auckland - Big Data AnalyticsAWS Summit 2013 | Auckland - Big Data Analytics
AWS Summit 2013 | Auckland - Big Data Analytics
Amazon Web Services
 
AWS Cloud Kata | Hong Kong - Getting to Scale on AWS, Customer Presentation b...
AWS Cloud Kata | Hong Kong - Getting to Scale on AWS, Customer Presentation b...AWS Cloud Kata | Hong Kong - Getting to Scale on AWS, Customer Presentation b...
AWS Cloud Kata | Hong Kong - Getting to Scale on AWS, Customer Presentation b...
Amazon Web Services
 
AWS Customer Presentation - VMIX AWS Experience
AWS Customer Presentation - VMIX AWS ExperienceAWS Customer Presentation - VMIX AWS Experience
AWS Customer Presentation - VMIX AWS Experience
Amazon Web Services
 

Viewers also liked (20)

Deep Dive: Scaling Up to Your First 10 Million Users
Deep Dive: Scaling Up to Your First 10 Million UsersDeep Dive: Scaling Up to Your First 10 Million Users
Deep Dive: Scaling Up to Your First 10 Million Users
 
AWS初心者向けWebinar AWSでのNoSQLの活用
AWS初心者向けWebinar AWSでのNoSQLの活用AWS初心者向けWebinar AWSでのNoSQLの活用
AWS初心者向けWebinar AWSでのNoSQLの活用
 
AWS Summit 2013 | Auckland - Big Data Analytics
AWS Summit 2013 | Auckland - Big Data AnalyticsAWS Summit 2013 | Auckland - Big Data Analytics
AWS Summit 2013 | Auckland - Big Data Analytics
 
Dole Food's Global Collaboration Platform and Web Presence on AWS (ENT209) | ...
Dole Food's Global Collaboration Platform and Web Presence on AWS (ENT209) | ...Dole Food's Global Collaboration Platform and Web Presence on AWS (ENT209) | ...
Dole Food's Global Collaboration Platform and Web Presence on AWS (ENT209) | ...
 
CPN203 Saving with EC2 Spot Instances - AWS re: Invent 2012
CPN203 Saving with EC2 Spot Instances - AWS re: Invent 2012CPN203 Saving with EC2 Spot Instances - AWS re: Invent 2012
CPN203 Saving with EC2 Spot Instances - AWS re: Invent 2012
 
CPN202 More for Less - AWS re: Invent 2012
CPN202 More for Less - AWS re: Invent 2012CPN202 More for Less - AWS re: Invent 2012
CPN202 More for Less - AWS re: Invent 2012
 
AWS - Managing Your Cloud Assets 2013
AWS - Managing Your Cloud Assets 2013AWS - Managing Your Cloud Assets 2013
AWS - Managing Your Cloud Assets 2013
 
AWSome Day Jakarta - Opening Keynote
AWSome Day Jakarta - Opening KeynoteAWSome Day Jakarta - Opening Keynote
AWSome Day Jakarta - Opening Keynote
 
Protecting Your Data in AWS
Protecting Your Data in AWSProtecting Your Data in AWS
Protecting Your Data in AWS
 
Masterclass Live: Amazon EC2
Masterclass Live: Amazon EC2 Masterclass Live: Amazon EC2
Masterclass Live: Amazon EC2
 
0. series overview
0. series overview0. series overview
0. series overview
 
AWS Cloud Kata | Hong Kong - Getting to Scale on AWS, Customer Presentation b...
AWS Cloud Kata | Hong Kong - Getting to Scale on AWS, Customer Presentation b...AWS Cloud Kata | Hong Kong - Getting to Scale on AWS, Customer Presentation b...
AWS Cloud Kata | Hong Kong - Getting to Scale on AWS, Customer Presentation b...
 
AWS Customer Presentation - SOASTA
AWS Customer Presentation - SOASTAAWS Customer Presentation - SOASTA
AWS Customer Presentation - SOASTA
 
Everything You Need to Develop Apps Faster and Scale to Millions of Users
Everything You Need to Develop Apps Faster and Scale to Millions of UsersEverything You Need to Develop Apps Faster and Scale to Millions of Users
Everything You Need to Develop Apps Faster and Scale to Millions of Users
 
AWS Summit Sydney 2014 | Running Complex Enterprise Workloads on AWS - Sessio...
AWS Summit Sydney 2014 | Running Complex Enterprise Workloads on AWS - Sessio...AWS Summit Sydney 2014 | Running Complex Enterprise Workloads on AWS - Sessio...
AWS Summit Sydney 2014 | Running Complex Enterprise Workloads on AWS - Sessio...
 
AWS Customer Presentation - VMIX AWS Experience
AWS Customer Presentation - VMIX AWS ExperienceAWS Customer Presentation - VMIX AWS Experience
AWS Customer Presentation - VMIX AWS Experience
 
Accelerate Go-To-Market Speed in a CI/CD Environment
Accelerate Go-To-Market Speed in a CI/CD EnvironmentAccelerate Go-To-Market Speed in a CI/CD Environment
Accelerate Go-To-Market Speed in a CI/CD Environment
 
(DVO207) Defending Your Workloads Against the Next Zero-Day Attack
(DVO207) Defending Your Workloads Against the Next Zero-Day Attack(DVO207) Defending Your Workloads Against the Next Zero-Day Attack
(DVO207) Defending Your Workloads Against the Next Zero-Day Attack
 
Security Day - Intro
Security Day - IntroSecurity Day - Intro
Security Day - Intro
 
AWS Enterprise Summit London | National Rail Enquiries Darwin Migration
AWS Enterprise Summit London | National Rail Enquiries Darwin MigrationAWS Enterprise Summit London | National Rail Enquiries Darwin Migration
AWS Enterprise Summit London | National Rail Enquiries Darwin Migration
 

Similar to How and when to use NoSQL

NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
Adi Challa
 

Similar to How and when to use NoSQL (20)

(DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services
(DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services(DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services
(DAT204) NoSQL? No Worries: Build Scalable Apps on AWS NoSQL Services
 
(DAT202) Managed Database Options on AWS
(DAT202) Managed Database Options on AWS(DAT202) Managed Database Options on AWS
(DAT202) Managed Database Options on AWS
 
AWS Summit 2013 | Singapore - Understanding Databases Options
AWS Summit 2013 | Singapore - Understanding Databases OptionsAWS Summit 2013 | Singapore - Understanding Databases Options
AWS Summit 2013 | Singapore - Understanding Databases Options
 
Minnebar 2013 - Scaling with Cassandra
Minnebar 2013 - Scaling with CassandraMinnebar 2013 - Scaling with Cassandra
Minnebar 2013 - Scaling with Cassandra
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit Dublin
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit Dublin
 
NoSQL
NoSQLNoSQL
NoSQL
 
Getting Started with Managed Database Services on AWS - September 2016 Webina...
Getting Started with Managed Database Services on AWS - September 2016 Webina...Getting Started with Managed Database Services on AWS - September 2016 Webina...
Getting Started with Managed Database Services on AWS - September 2016 Webina...
 
NoSQL_Night
NoSQL_NightNoSQL_Night
NoSQL_Night
 
Selecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
Selecting the Right AWS Database Solution - AWS 2017 Online Tech TalksSelecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
Selecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
 
Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databases
 
MinneBar 2013 - Scaling with Cassandra
MinneBar 2013 - Scaling with CassandraMinneBar 2013 - Scaling with Cassandra
MinneBar 2013 - Scaling with Cassandra
 
Journey Towards Scaling Your Application to Million Users
Journey Towards Scaling Your Application to Million UsersJourney Towards Scaling Your Application to Million Users
Journey Towards Scaling Your Application to Million Users
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
 
Create cloud service on AWS
Create cloud service on AWSCreate cloud service on AWS
Create cloud service on AWS
 
Understanding AWS Database Options (DAT201) | AWS re:Invent 2013
Understanding AWS Database Options (DAT201) | AWS re:Invent 2013Understanding AWS Database Options (DAT201) | AWS re:Invent 2013
Understanding AWS Database Options (DAT201) | AWS re:Invent 2013
 
Nosql seminar
Nosql seminarNosql seminar
Nosql seminar
 
Scaling the Platform for Your Startup
Scaling the Platform for Your StartupScaling the Platform for Your Startup
Scaling the Platform for Your Startup
 
Intro to database_services_fg_aws_summit_2014
Intro to database_services_fg_aws_summit_2014Intro to database_services_fg_aws_summit_2014
Intro to database_services_fg_aws_summit_2014
 

More from Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

How and when to use NoSQL

  • 1. How and When to use NoSQL DBs Denis V. Batalov, Solutions Architect denisb@amazon.lu @dbatalov © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
  • 2. We will talk about
  • 3. We will talk about • What is NoSQL DB
  • 4. We will talk about • What is NoSQL DB • When it is time to consider NoSQL
  • 5. We will talk about • What is NoSQL DB • When it is time to consider NoSQL • DynamoDB as an AWS NoSQL solution
  • 6. We will talk about • What is NoSQL DB • When it is time to consider NoSQL • DynamoDB as an AWS NoSQL solution • Case studies for DynamoDB
  • 7. What is a “database”?
  • 8. What is a “database”? • Data Persistence
  • 9. What is a “database”? • Data Persistence • Data Model
  • 10. What is a “database”? • Data Persistence • Data Model • Data Retrieval
  • 11. Traditional RDBMS vs NoSQL RDBMS NoSQL Data Model Data Retrieval
  • 12. Traditional RDBMS vs NoSQL RDBMS NoSQL Data Model Relational Data Retrieval SQL
  • 13. Traditional RDBMS vs NoSQL RDBMS NoSQL Data Model Relational Not Relational Data Retrieval SQL Not SQL
  • 14. Relational Databases Scale Database Query Performance Desired consistency, predictability
  • 15. Relational Databases Scale Database Query Performance Desired consistency, predictability Actual degraded performance with scale
  • 16. Scale Database Query Performance Desired consistency, predictability Actual degraded performance with scale Management problems Data sharding Data caching Provisioning Cluster management Fault management Relational Databases
  • 17. NoSQL DB typical features • Non-relational • Distributed • Eventually consistent • Horizontally scalable • Support replication • Schema-free
  • 18. Typical use cases for NoSQL • Fast reads/writes with very low jitter • Huge amounts of data
  • 20. NoSQL on AWS • Deploy popular third-party solutions via EC2 – MongoDB – Cassandra – Redis
  • 21. NoSQL on AWS • Deploy popular third-party solutions via EC2 – MongoDB – Cassandra – Redis OR • Use a managed AWS service – DynamoDB
  • 22. Tools Positioning Matrix S3 Glacier Redshift Elastic MapReduce RDS Large Size Small Dynamo DB Elasti Cache Low Latency / Complexity High
  • 24. Amazon DynamoDB NoSQL Database Fast & predictable performance Seamless Scalability Easy administration “Even though we have years of experience with large, complex NoSQL architectures, we are happy to be finally out of the business of managing it ourselves.” - Don MacAskill, CEO ADMIN
  • 25. Access and Query Model Two primary key options  Hash key: Key lookups: “Give me the status for user foo”  Composite key (Hash with Range): “Give me all the status updates for user ‘foo’ that occurred within the past 24 hours” Support for multiple data types  Scalar: number, string, binary  Multi-valued: number set, string set, binary set Consistency: Supports both strong and eventual consistency  Pick consistency mode at per API call  Different parts of applications can make different choices
  • 26. Operations Table Operations  CreateTable, UpdateTable, DeleteTable  ListTables, DescribeTable Item Operations  GetItem, BatchGetItem  PutItem, UpdateItem, DeleteItem, BatchWriteItem Query & Scan  Query, Scan Atomic Counters and Conditional updates
  • 27. Social Network hash + range schemas
  • 28. Social Network • Store info about users • Query for a user’s friends
  • 29. Social Network Friends Table Users Table
  • 30. User Birthday Bob 11.02 Alice 15.10 Carol 30.06 Dan 05.01 Social Network Users Table
  • 31. User Birthday Bob 11.02 Alice 15.10 Carol 30.06 Dan 05.01 Social Network Users Table Item
  • 32. User Birthday Bob 11.02 Alice 15.10 Carol 30.06 Dan 05.01 Social Network Users Table Attribute (string, number, binary, set)
  • 33. User Birthday Bob 11.02 Alice 15.10 Carol 30.06 Dan 05.01 Social Network Users Table Primary Key (Hash)
  • 34. User Birthday Bob 11.02 Alice 15.10 Carol 30.06 Dan 05.01 Social Network Friends Table User Friend Bob Alice Alice Bob Alice Carol Alice Dan Users Table
  • 35. Social Network Friends Table User Friend Bob Alice Alice Bob Alice Carol Alice Dan Hash-and-Range Primary Key Schema Users Table User Birthday Bob 11.02 Alice 15.10 Carol 30.06 Dan 05.01
  • 36. Social Network Friends Table User Friend Bob Alice Alice Bob Alice Carol Alice Dan Query for Alice’s friends Users Table User Birthday Bob 11.02 Alice 15.10 Carol 30.06 Dan 05.01
  • 37. DynamoDB Highlights: Performance Typical service-side latency: single digit milliseconds Solid State Drive (SSD)-backed service Latency is consistent – As throughput increases – As storage grows No need for tuning.
  • 38. DynamoDB Highlights: Reliability Durability – Synchronous replication for high durability – A write is only acknowledged (committed) once it exists in at least two physical data centers – All writes occur to disk, not memory Availability – Regional service – spans multiple availability zones – All data is continuously replicated to multiple AZ’s
  • 39. Provisioned Throughput Reserve the throughput needed for each table – Set at table creation – Example: My table needs 1,000 writes/second and 5,000 reads/seconds of capacity Increase / decrease any time via API call Pay for throughput and storage (not instances)
  • 40. Provisioned Throughput Why? – Simpler capacity planning – Easy to translate calls to Apps => calls to database – Not in terms of servers and disk IOPS – Do not be locked in your peak for month or year!
  • 41. Capacity we needed before DynamoDB Actual traffic Capacity we can provision with DynamoDB
  • 43. Thanks! How and When to use NoSQL DBs Denis V. Batalov, Solutions Architect denisb@amazon.lu @dbatalov © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

Editor's Notes

  1. No compromise on durability or availability for performance Scale will be our problem and not customers DynamoDB will be extremely easy to use with no administration Help express scale needs in simpler terms instead of servers and disks Provide consistently low latencies
  2. This lets you do efficient key-value lookups, but not more complex queries. But for this table and use case, this is all we need.
  3. So, who is using DynamoDB? Many companies within Amazon and outside Amazon. Amazon CloudDrive, Smugmug, Amazon retail are examples within Amazon. Smugmug is using us for storing their metadata on DynamoDB. Formpsring and Tapjoy are one of our early adopters. Finally, the shazam the popular voice recognition application for ads and music is using us to store its data for various applications.