description
What is Nosql
transcript
- NoSQL & MongoDBNoSQL & MongoDB {{ 'Name''Name':: 'Anju
Singh''Anju Singh',, 'Team''Team':: 'Cloud Team''Cloud Team',,
'Group''Group':: 'Bio-info''Bio-info' }}
- Overview What is RDBMS ACID and CAP What is NoSQL Types of
NoSql DB Introduction of MongoDB Demo Conclusion Questions
- Well Organised Collections of data.Well Organised Collections
of data. What is Database?What is Database?
- An interface between user and database.An interface between
user and database. It is a collection of programs that enables you
toIt is a collection of programs that enables you to store, modify
and extract information fromstore, modify and extract information
from databases.databases. What is DBMS?What is DBMS?
- Determines logical structure of dataDetermines logical
structure of data What is Database Model?What is Database
Model?
- Hierarchical ModelHierarchical Model Network ModelNetwork Model
Relational ModelRelational Model ER ModelER Model Document
ModelDocument Model Object ModelObject Model Various Data
ModelsVarious Data Models
- RDBMSRDBMS (Relational DataBase Management System)(Relational
DataBase Management System) RDBMS is a database management
systemdatabase management system based on relational model defined
by E.F.Codd. Data is stored in the form of rows and columns in a
table and relations among tables are also stored in the form of the
table.
- SQL SQL is a most popular query language on RDBMS.
- Features of RDBMS 1. ACID is a set of properties that
guarantees that DB transactions are processed reliably. Atomicity:
Either all or none. Consistency: Data is always accurate.
Isolation: No interfere with other. Durability: Commit is
persistent. 2. Very rich set of query and functionality.
- RDBMS is solving every problem
- RDBMS is best
- Data Tsunami
- Started increasing the capacity of RDBMS Severs for
scalability.
- RDBMS is not working
- Solutions they tried
- Problems in RDBMS RDBMS uses centalized storage not
distributed. ACID doesn't provide scalability for distributed
system. It is only for structured data.
- Solutions Need Distributed System and Distributed DB.
- Started developing their own DB that fulfils their
requirements.
- CAP Thorem Consistency: Data is same across cluster.
Availability: All nodes are ready for read and write operations
always. Partition Tolerance: Cluster is working perfectly even if
there is a partition in nodes.
- Partition tolerance is must for scalability and choose any one
between Consistency & Availability
- NoSQL A generic term for all DB that do not follow Relational
model.
- Design Goals of NoSQL DB
Designedforbetterscalabilityandperformancebygivingupsomethingliketransaction.
Notalldatacanfitinrowandcolumnformat. NotdesignedtoreplaceSQL.
- Sql vs Nosql
- What we are giving up Join Group By Order By ACID
transactions
- NoSQL DB Types Key-Value Column Store Document Store Graph
Based
- Column (HBASE) Column (HBASE) Graph (Neo4J) Graph (Neo4J)
Key-value (Memecache) Key-value (Memecache) Document (MongoDB)
Document (MongoDB) RDBMS (MySql) RDBMS (MySql)
- MongoDB (from "humongous")
- Contains both Equally
- MongoDB Document
- terminology
- MongoDB Application (In more than 12 Languages) MongoDB Driver
MongoDB Drivers
- Real Life Use Case
- Aadhar Card Indias Unique Identification project, aka Aadhar,
is the worlds biggest biometrics database. Aadhar is in the process
of capturing demographic and biometric data of over 1.2 billion
residents. Aadhar has used MongoDB as one of its database to store
this huge amount of data.
- ebay is an American multinational internet consumer-to-consumer
corporation, headquartered in San Jose. eBay has a number of
projects running on MongoDB for search suggestions, metadata
storage, cloud management and merchandizing categorization.
- Conclusion RDBMS is a tool for solving ACID problem. 1. When
data validity is super important. 2. When you want rich query like
join. NoSQL is good for data availability and
scalabilityscalability. 1. when its important to have fast data
than right data. 2. When you need to scale on the change of
requirement. NoSQL is not a replacement of SQL and vice versa. Use
them in combination for best result. Pick the right Tool for
Job.
- References http://www.mongodb.org/
http://en.wikipedia.org/wiki/NoSQL
http://en.wikipedia.org/wiki/Relational_database_managem