lecture 12 kv - github pages · rdms developers still recruiting developers to the nosql camp...

32
CS639: Data Management for Data Science Lecture 12: NoSql and KeyValue stores Theodoros Rekatsinas Slides borrowed by Kathleen Durant 1

Upload: others

Post on 12-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

CS639:DataManagementfor

DataScienceLecture12:NoSql andKeyValue stores

TheodorosRekatsinas

SlidesborrowedbyKathleenDurant

1

Page 2: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

Today’sLecture

1. IntrotoNoSQL

2. NoSQLAssumptionsandtheCAPTheorem

3. StrengthsandweaknessesofNoSQL

4. Example:MongoDB

2

Page 3: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

1. IntrotoNoSQL

3

Page 4: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

TaxonomyofNoSQL

Page 5: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

TypicalNoSQLarchitecture

Page 6: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

2.NoSQLAssumptionsandtheCAPTheorem

6

Page 7: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

CAPtheoremforNoSQL

• WhattheCAPtheoremreallysays: Ifyoucannotlimitthenumberoffaultsandrequestscanbedirectedtoanyserverandyouinsistonservingeveryrequestyoureceivethenyoucannotpossiblybeconsistent

• Howitisinterpreted: Youmustalwaysgivesomethingup:consistency,availabilityortolerancetofailureandreconfiguration

Page 8: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

CAPtheoremforNoSQL

Page 9: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

9

Page 10: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

Sharding ofdata

Page 11: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

ReplicaSets

Page 12: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

3.StrengthsandweaknessesofNoSQL

12

Page 13: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

HowdoesNoSQLvaryfromRDBMS?

Page 14: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

BenefitsofNoSQL

Page 15: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

BenefitsofNoSQL

Page 16: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

DrawbacksofNoSQL

Page 17: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

DrawbacksofNoSQL

Page 18: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

ACIDorBASE

Page 19: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

4.MongoDB

19

Page 20: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

WhatisMongoDB?

Page 21: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

FunctionalityofMongoDB

Page 22: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

WhyuseMongoDB?

Page 23: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

MongoDB:CAPapproach

Page 24: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

MongoDBDatamodel:HierarchicalObjects

Page 25: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

SchemaFree

Page 26: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

MongoDBFeatures

Page 27: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

IndexFunctionality

Page 28: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

CRUDoperations

Page 29: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

Queryoperations

Page 30: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

Aggregatedfunctionality

Page 31: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

Mapreducefunctionality

Page 32: Lecture 12 KV - GitHub Pages · RDMS developers Still recruiting developers to the NoSQL camp Analytics and Business Intelligence RDMS designed to address this niche NoSQL designed

Summary