SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
Relational Databases
An experience by a young startup aficionado
"The primary online data store for an
application is the worst place to take a risk with
new technology."
Adam D' Angelo - Quora CEO
CAP Theorem
"Of three properties of shared-data systems-data
Consistency, system Availability and tolerance to
network Partitions - only two can be achieved at any
given moment in time."
- 2000 Prof. Eric Brewer, PoDC Conference Keynote
- 2002 Seth Gilbert and Nancy Lynch, ACM SIGACT News 33(2)
How Do I choose the right Database?
How do elephants make decisions?
They make the smartest decisions,
hence no sacrifices are needed.
It’s all about the Trade-offs
Source: http://blog.nahurst.com/visual-guide-to-nosql-systems
But is it really just about trade-offs?
Trade-offs and theories are naturally
confusing!!!
Hands-on experience is the best
The most improvised white-board ever!
Requirement #1:
What do we know already?
Requirement #2:
What is trending?
Source: http://db-engines.com/en/ranking_trend
That was easy!!!
Requirement #3:
What about complex queries?
AHA!!! Relationships do matter right?
Requirement #4:
What about Transactions?
● Transactions ensure that you atomically make changes to your database.
Requirement #5:
What about Consistency?
● Achieved through ACID transactions.
● Consistency is about ensuring that all clients have the same view of the data.
Requirement #6:
How about Scaling?
● Option 1: I assume we can scale as we go...
● Option2: How about implementing Layers (Memecached) on top of Relational DBs.
(Facebook, Twitter and Airbnb)
● Option 3: If scaling is urgent, how about partitioning at the application level. (FriendFeed)
Use Case:
Kuai List
● We use PostgreSQL for writing and updating listings only.
● For retrieving at desirable speeds we use Amazon Elasticache (Redis - in-memory cache)
on top of our core relational database.
● NoSQL (MongoDB) for storing listings that never change.
Scaling Challenge #1:
Host in the cloud
● We migrated our core database to Amazon RDS (with zero downtime).
● Amazon RDS makes it easy to use replication to enhance availability and reliability for
production workloads.
Consistency:
Synchronous Replication
Datacenter A
Datacenter B
Datacenter C
Datacenter D

Contenu connexe

Similaire à Relational Databases: An Experience

Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist SoftServe
 
Big Data - Need of Converged Data Platform
Big Data - Need of Converged Data PlatformBig Data - Need of Converged Data Platform
Big Data - Need of Converged Data PlatformGeekNightHyderabad
 
MongoDB and In-Memory Computing
MongoDB and In-Memory ComputingMongoDB and In-Memory Computing
MongoDB and In-Memory ComputingDylan Tong
 
MongoDB World 2019: MongoDB Cluster Design: From Redundancy to GDPR
MongoDB World 2019: MongoDB Cluster Design: From Redundancy to GDPRMongoDB World 2019: MongoDB Cluster Design: From Redundancy to GDPR
MongoDB World 2019: MongoDB Cluster Design: From Redundancy to GDPRMongoDB
 
The Future of Distributed Databases
The Future of Distributed DatabasesThe Future of Distributed Databases
The Future of Distributed DatabasesNuoDB
 
Big Data made easy in the era of the Cloud - Demi Ben-Ari
Big Data made easy in the era of the Cloud - Demi Ben-AriBig Data made easy in the era of the Cloud - Demi Ben-Ari
Big Data made easy in the era of the Cloud - Demi Ben-AriDemi Ben-Ari
 
Five Ways To Do Data Analytics "The Wrong Way"
Five Ways To Do Data Analytics "The Wrong Way"Five Ways To Do Data Analytics "The Wrong Way"
Five Ways To Do Data Analytics "The Wrong Way"Discover Pinterest
 
Real time data viz with Spark Streaming, Kafka and D3.js
Real time data viz with Spark Streaming, Kafka and D3.jsReal time data viz with Spark Streaming, Kafka and D3.js
Real time data viz with Spark Streaming, Kafka and D3.jsBen Laird
 
How much money do you lose every time your ecommerce site goes down?
How much money do you lose every time your ecommerce site goes down?How much money do you lose every time your ecommerce site goes down?
How much money do you lose every time your ecommerce site goes down?DataStax
 
Keynote Address at 2013 CloudCon: Future of Big Data by Richard McDougall (In...
Keynote Address at 2013 CloudCon: Future of Big Data by Richard McDougall (In...Keynote Address at 2013 CloudCon: Future of Big Data by Richard McDougall (In...
Keynote Address at 2013 CloudCon: Future of Big Data by Richard McDougall (In...exponential-inc
 
Fai[ Away with Dynamo, Bigtabte, and Cassandra194 cHArlrEF.docx
Fai[ Away with Dynamo, Bigtabte, and Cassandra194 cHArlrEF.docxFai[ Away with Dynamo, Bigtabte, and Cassandra194 cHArlrEF.docx
Fai[ Away with Dynamo, Bigtabte, and Cassandra194 cHArlrEF.docxssuser454af01
 
Navigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skiesNavigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skiesshnkr_rmchndrn
 
Big data management
Big data managementBig data management
Big data managementzeba khanam
 
AI Scalability for the Next Decade
AI Scalability for the Next DecadeAI Scalability for the Next Decade
AI Scalability for the Next DecadePaula Koziol
 
Intro to Spark development
 Intro to Spark development  Intro to Spark development
Intro to Spark development Spark Summit
 
Document Databases In Online Publishing
Document  Databases In  Online Publishing Document  Databases In  Online Publishing
Document Databases In Online Publishing Irakli Nadareishvili
 
Availability in a cloud native world v1.6 (Feb 2019)
Availability in a cloud native world v1.6 (Feb 2019)Availability in a cloud native world v1.6 (Feb 2019)
Availability in a cloud native world v1.6 (Feb 2019)Haytham Elkhoja
 
SpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud ComputingSpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud ComputingSpringPeople
 

Similaire à Relational Databases: An Experience (20)

Big data business case
Big data   business caseBig data   business case
Big data business case
 
Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist
 
Big Data - Need of Converged Data Platform
Big Data - Need of Converged Data PlatformBig Data - Need of Converged Data Platform
Big Data - Need of Converged Data Platform
 
MongoDB and In-Memory Computing
MongoDB and In-Memory ComputingMongoDB and In-Memory Computing
MongoDB and In-Memory Computing
 
MongoDB World 2019: MongoDB Cluster Design: From Redundancy to GDPR
MongoDB World 2019: MongoDB Cluster Design: From Redundancy to GDPRMongoDB World 2019: MongoDB Cluster Design: From Redundancy to GDPR
MongoDB World 2019: MongoDB Cluster Design: From Redundancy to GDPR
 
Spark
SparkSpark
Spark
 
The Future of Distributed Databases
The Future of Distributed DatabasesThe Future of Distributed Databases
The Future of Distributed Databases
 
Big Data made easy in the era of the Cloud - Demi Ben-Ari
Big Data made easy in the era of the Cloud - Demi Ben-AriBig Data made easy in the era of the Cloud - Demi Ben-Ari
Big Data made easy in the era of the Cloud - Demi Ben-Ari
 
Five Ways To Do Data Analytics "The Wrong Way"
Five Ways To Do Data Analytics "The Wrong Way"Five Ways To Do Data Analytics "The Wrong Way"
Five Ways To Do Data Analytics "The Wrong Way"
 
Real time data viz with Spark Streaming, Kafka and D3.js
Real time data viz with Spark Streaming, Kafka and D3.jsReal time data viz with Spark Streaming, Kafka and D3.js
Real time data viz with Spark Streaming, Kafka and D3.js
 
How much money do you lose every time your ecommerce site goes down?
How much money do you lose every time your ecommerce site goes down?How much money do you lose every time your ecommerce site goes down?
How much money do you lose every time your ecommerce site goes down?
 
Keynote Address at 2013 CloudCon: Future of Big Data by Richard McDougall (In...
Keynote Address at 2013 CloudCon: Future of Big Data by Richard McDougall (In...Keynote Address at 2013 CloudCon: Future of Big Data by Richard McDougall (In...
Keynote Address at 2013 CloudCon: Future of Big Data by Richard McDougall (In...
 
Fai[ Away with Dynamo, Bigtabte, and Cassandra194 cHArlrEF.docx
Fai[ Away with Dynamo, Bigtabte, and Cassandra194 cHArlrEF.docxFai[ Away with Dynamo, Bigtabte, and Cassandra194 cHArlrEF.docx
Fai[ Away with Dynamo, Bigtabte, and Cassandra194 cHArlrEF.docx
 
Navigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skiesNavigating NoSQL in cloudy skies
Navigating NoSQL in cloudy skies
 
Big data management
Big data managementBig data management
Big data management
 
AI Scalability for the Next Decade
AI Scalability for the Next DecadeAI Scalability for the Next Decade
AI Scalability for the Next Decade
 
Intro to Spark development
 Intro to Spark development  Intro to Spark development
Intro to Spark development
 
Document Databases In Online Publishing
Document  Databases In  Online Publishing Document  Databases In  Online Publishing
Document Databases In Online Publishing
 
Availability in a cloud native world v1.6 (Feb 2019)
Availability in a cloud native world v1.6 (Feb 2019)Availability in a cloud native world v1.6 (Feb 2019)
Availability in a cloud native world v1.6 (Feb 2019)
 
SpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud ComputingSpringPeople - Introduction to Cloud Computing
SpringPeople - Introduction to Cloud Computing
 

Plus de Elvis Saravia

The Future of Brain-Powered Learning
The Future of Brain-Powered Learning The Future of Brain-Powered Learning
The Future of Brain-Powered Learning Elvis Saravia
 
Introduction to Fundamentals of RNNs
Introduction to Fundamentals of RNNsIntroduction to Fundamentals of RNNs
Introduction to Fundamentals of RNNsElvis Saravia
 
Text mining lab (summer 2017) - Word Vector Representation
Text mining lab (summer 2017) - Word Vector RepresentationText mining lab (summer 2017) - Word Vector Representation
Text mining lab (summer 2017) - Word Vector RepresentationElvis Saravia
 
Thesis oral defense 2015 elvis saravia
Thesis oral defense 2015  elvis saraviaThesis oral defense 2015  elvis saravia
Thesis oral defense 2015 elvis saraviaElvis Saravia
 
An Introduction to Apache Spark
An Introduction to Apache SparkAn Introduction to Apache Spark
An Introduction to Apache SparkElvis Saravia
 
The Neurochemistry of Music
The Neurochemistry of MusicThe Neurochemistry of Music
The Neurochemistry of MusicElvis Saravia
 
Crowdsource Delivery System - Improving traditional delivery systems
Crowdsource Delivery System - Improving traditional delivery systemsCrowdsource Delivery System - Improving traditional delivery systems
Crowdsource Delivery System - Improving traditional delivery systemsElvis Saravia
 
Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...
Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...
Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...Elvis Saravia
 

Plus de Elvis Saravia (8)

The Future of Brain-Powered Learning
The Future of Brain-Powered Learning The Future of Brain-Powered Learning
The Future of Brain-Powered Learning
 
Introduction to Fundamentals of RNNs
Introduction to Fundamentals of RNNsIntroduction to Fundamentals of RNNs
Introduction to Fundamentals of RNNs
 
Text mining lab (summer 2017) - Word Vector Representation
Text mining lab (summer 2017) - Word Vector RepresentationText mining lab (summer 2017) - Word Vector Representation
Text mining lab (summer 2017) - Word Vector Representation
 
Thesis oral defense 2015 elvis saravia
Thesis oral defense 2015  elvis saraviaThesis oral defense 2015  elvis saravia
Thesis oral defense 2015 elvis saravia
 
An Introduction to Apache Spark
An Introduction to Apache SparkAn Introduction to Apache Spark
An Introduction to Apache Spark
 
The Neurochemistry of Music
The Neurochemistry of MusicThe Neurochemistry of Music
The Neurochemistry of Music
 
Crowdsource Delivery System - Improving traditional delivery systems
Crowdsource Delivery System - Improving traditional delivery systemsCrowdsource Delivery System - Improving traditional delivery systems
Crowdsource Delivery System - Improving traditional delivery systems
 
Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...
Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...
Subconscious Crowdsourcing: A Feasible Data Collection Mechanism for Mental D...
 

Dernier

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
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 WorkerThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 

Dernier (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 

Relational Databases: An Experience

  • 1. Relational Databases An experience by a young startup aficionado
  • 2. "The primary online data store for an application is the worst place to take a risk with new technology." Adam D' Angelo - Quora CEO
  • 3. CAP Theorem "Of three properties of shared-data systems-data Consistency, system Availability and tolerance to network Partitions - only two can be achieved at any given moment in time." - 2000 Prof. Eric Brewer, PoDC Conference Keynote - 2002 Seth Gilbert and Nancy Lynch, ACM SIGACT News 33(2)
  • 4. How Do I choose the right Database? How do elephants make decisions? They make the smartest decisions, hence no sacrifices are needed.
  • 5. It’s all about the Trade-offs Source: http://blog.nahurst.com/visual-guide-to-nosql-systems
  • 6. But is it really just about trade-offs?
  • 7. Trade-offs and theories are naturally confusing!!!
  • 8. Hands-on experience is the best The most improvised white-board ever!
  • 9. Requirement #1: What do we know already?
  • 10. Requirement #2: What is trending? Source: http://db-engines.com/en/ranking_trend
  • 12. Requirement #3: What about complex queries? AHA!!! Relationships do matter right?
  • 13. Requirement #4: What about Transactions? ● Transactions ensure that you atomically make changes to your database.
  • 14. Requirement #5: What about Consistency? ● Achieved through ACID transactions. ● Consistency is about ensuring that all clients have the same view of the data.
  • 15. Requirement #6: How about Scaling? ● Option 1: I assume we can scale as we go... ● Option2: How about implementing Layers (Memecached) on top of Relational DBs. (Facebook, Twitter and Airbnb) ● Option 3: If scaling is urgent, how about partitioning at the application level. (FriendFeed)
  • 16. Use Case: Kuai List ● We use PostgreSQL for writing and updating listings only. ● For retrieving at desirable speeds we use Amazon Elasticache (Redis - in-memory cache) on top of our core relational database. ● NoSQL (MongoDB) for storing listings that never change.
  • 17. Scaling Challenge #1: Host in the cloud ● We migrated our core database to Amazon RDS (with zero downtime). ● Amazon RDS makes it easy to use replication to enhance availability and reliability for production workloads.