NOSQL
NOSQL Not Only SQL 4 Categories More than the traditional database Document Based Key Value Based Column-based Graph-based
Uses for NoSQL
Why NOSQL Google Mail, Yahoo Mail Facebook/Instagram Last volume of users, emails as well as large storage need SQL system provides too many services Structured data might be too restrictive Facebook/Instagram Millions of users submitting posts Images Videos Posts Limited users can see these posts
Google – Big Table Written in Java Maps to row key and column key and a timestamp Sparse, distributed multi-dimensional stored map Scalable into the petabyte range with hundreds or thousands of machines Bases for Hbase on HDFS
Amazon - DynamoDB Used for Amazon cloud service This is key-value data store
Facebook - Cassandra Supports both key-valued stores and column-bases system
NOSQL Family Tree Clustrix.com
Characteristics of NOSQL Systems Scalability Horizontal or vertical NOSQL - horizontal scalability Vertical – adding storage Need to be able to extend vertically while system online Availability, Replication and eventual Consistency Data is backed up in multiple nodes Update is difficult over multiple node Consistency is delayed
Characteristics of NOSQL Systems cont. Replication Models Master – Slave Master – Master Sharding of Files Horizontal partitioning File are spread between multiple nodes. High-Performance Data Access Hashing Key fore fast access
NOSQL Data Model Not Requiring a Schema Less Powerful Query Language semi-structured, self describing data Less Powerful Query Language Via Program API CRUD operation – Create, Read , Update, Delete SCRUD operation – Search, Create, Read , Update, Delete Versioning Storage of multiple versions of data
CAP Theorem Consistency (among replicated copies) – consistency of data stored in multiple node, but necessarily other consistency. Availability (for read and write) – either read or write is processed or error message is sent Partition Tolerance (Nodes are partitioned due to network fault)
MongoDB
MongoDB
MongoDB
MongoDB