Key-Value NoSQL Database
-
Upload
heman-hosainpana -
Category
Technology
-
view
241 -
download
0
Transcript of Key-Value NoSQL Database
![Page 1: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/1.jpg)
Distributed Database
![Page 2: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/2.jpg)
Data Model
• Relation
• The Dominant Data Model of Last Couple Decade
• Table, Column, Rows
• Cannot Nest One Tuple Within Another
• Aggregate
• Collection of related object that we wish to treat as a unit
• Consistency Unit
![Page 3: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/3.jpg)
Relational Data Model
![Page 4: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/4.jpg)
Aggregate Data Model
![Page 5: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/5.jpg)
• Aggregate-Ignorant• Relational Data Model
• Graph
• Aggregate-Oriented• Key-Value
• Document
• Column Family
Data Model Types
![Page 6: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/6.jpg)
Distribution Model
• Single Server
• Sharding (Horizontal Scalability)• Put different data on different node.
• Replication • Take the same data and copies it over multiple node.
![Page 7: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/7.jpg)
Sharding
![Page 8: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/8.jpg)
Master-Slave Replication
![Page 9: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/9.jpg)
Peer-to-Peer Replication
![Page 10: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/10.jpg)
Combining Sharding and Replication
![Page 11: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/11.jpg)
Combining Sharding and Replication
![Page 12: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/12.jpg)
Consistency
![Page 13: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/13.jpg)
Update Consistency
• Write-Write Conflict• Lost Update
• Pessimistic Consistency
• Optimistic Consistency
![Page 14: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/14.jpg)
Read Consistency
![Page 15: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/15.jpg)
Replication Inconsistency
![Page 16: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/16.jpg)
Relaxing Consistency
• Eventual Consistency• Quorums
• CAP Theorem• Consistency
• Availability
• Partition Tolerance
![Page 17: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/17.jpg)
CAP Theorem
![Page 18: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/18.jpg)
Key-Value
Group A
![Page 19: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/19.jpg)
What's Key-Value Store
• Simple Hash Table
• Collection of Key-Value Pair
• Associate Array
• The Key Unique Within Collection
![Page 20: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/20.jpg)
Basic Operation
• Insert Pair
• Delete Pair
• Update Value Of Existing Pair
• Find Value Associate With a Particular Key
![Page 21: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/21.jpg)
Performance Factor
• The efficiency of the hashing function.
• The design of the keys and the size of the values being stored and retrieved.
• The distribution of data across partitions.
• The functional patterns that applications follow to store and retrieve data.
![Page 22: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/22.jpg)
Storing All the Data in a Single Bucket
![Page 23: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/23.jpg)
Terminology – Oracle vs. Riak
![Page 24: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/24.jpg)
Some of The Popular Key-Value Databases
• Redis
• Riak
• Memcache DB
• BerkeleyDB
• HamsterDB
• Amazon DynamoDB
• Project Voldemort
![Page 25: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/25.jpg)
Key-Value Store Features
• Consistency• Consistency is applicable only for operations on a single key• Eventually Consistent in Distribute Implementation
• Transaction• Quorum
• Query
• Structure Of Data
• Scaling • Sharding• CAP
![Page 26: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/26.jpg)
Suitable Use Case
• Storing Session Information
• User Profiles, Preferences
• Shopping Cart Data
![Page 27: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/27.jpg)
When Not to Use
• Relation Among Data
• Multioperation Transactions
• Query by Data
• Operations by Sets
![Page 28: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/28.jpg)
Distributed, Masterless, Highly-Available Key-Value Store
![Page 29: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/29.jpg)
Replication
![Page 30: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/30.jpg)
Demo
![Page 31: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/31.jpg)
![Page 32: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/32.jpg)
Redis Features
• Extremely Fast!
• Ability to store more than just strings
• Persistence
• Replication
• Built in LUA support
![Page 33: Key-Value NoSQL Database](https://reader033.fdocuments.us/reader033/viewer/2022042602/55a5c3161a28ab444e8b45ce/html5/thumbnails/33.jpg)
Demo