Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


NoSQL Databases

No description

Radu Chilom

on 14 March 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of NoSQL Databases

Means : Not Only SQL NoSQL Databases Why NoSQL? NoSQL Databases NoSQL Atomicity
Durability In order to deliver scalability : Schema free Goal : not to reject SQL but, rather to compensate for the technical limitations Started as a solution to a modern problem : - unprecedented transaction volumes
- expectations of low-latency access to massive
- frequent schema changes SCALABILITY SQL Databases Scalability is given by "Bigger Servers" "Relax" or redefine ACID Consistency changed to something called
“eventual consistency". “CAP theorem ” In a distributed system you can’t continually maintain perfect consistency, availability, and partition tolerance simultaneously. You must make tradeoffs among them. The basics of any transaction : is Types : Key-Value Store Document Store : Graph - CouchDB(JSON), MongoDB(BSON) - Amazon DynamoDB - DEX, InfiniteGraph Column Family - Apache Casandra NoSQL Facts - No concept of tables or rows - Do not uses/allows JOINS - Cannot give full ACID guarantees - Schema free Simply add more commodity web servers behind a load balancer to support more users. - Uses Map Reduce framework - Provides API for most programming languages UnQL Unstructured Query Language standardized interface to this data,
an unstructured equivalent to SQL MongoDB Data Types Strings
Embedded Documents
Regular Expressions
Numbers Binary Data
MongoDB::Timestamp Mongo DB - A top NoSQL Database - Provides very complete API for Java,C#,PHP,etc - Supports Map Reduce functions - Syntax easy to understand MongoDB Advices NoSQL solutions will work alongside SQL solutions. Each has its strengths and weaknesses Neither will entirely displace the other Conclusions NoSQL is good for : Elastic scaling Big data Flexible data models Economics -> Never decide on a solution without
having first put that product through
rigorous testing. -> Spend some time understanding particular
views on eventual consistency, durability, CAP,
and replication, and be certain you understand
how those tradeoffs will impact your design Bibliography http://static.usenix.org/publications/login/2011-10/openpdfs/Burd.pdf http://www.techrepublic.com/blog/10things/10-things-you-should-know-about-nosql-databases/1772 http://en.wikipedia.org/wiki/NoSQL Thank you for your time. Questions ? NoSQL Rigid Schema "Ideal" scalability Radu CHILOM Structure : - database - collections - document - value
- embedded document > db.ces.insert({"name" : "Radu" , "lastName" : "Chilom"});
> db.ces.insert({"name" : "George" , "lastName" : "Popescu"}); > db.ces.find(); { "_id" : ObjectId("5141c37474b88cf06950f00f"),
"name" : "Radu", "lastName" : "Chilom" }
{ "_id" : ObjectId("5141c38274b88cf06950f010"),
"name" : "George", "lastName" : "Popescu" } > db.ces.insert({"name" : "George" , "lastName" : "Popescu", "grade" : 8}); > db.ces.find(); { "_id" : ObjectId("5141c37474b88cf06950f00f"),
"name" : "Radu", "lastName" : "Chilom" }
{ "_id" : ObjectId("5141c38274b88cf06950f010"),
"name" : "George", "lastName" : "Popescu" }
{ "_id" : ObjectId("5141c3a774b88cf06950f011"),
"name" : "George", "lastName" : "Popescu", "grade" : 8 } > db.ces.find({}, {"grade" : true});
{ "_id" : ObjectId("5141c37474b88cf06950f00f") }
{ "_id" : ObjectId("5141c38274b88cf06950f010") }
{ "_id" : ObjectId("5141c3a774b88cf06950f011"), "grade" : 8 }
Full transcript