an introduction to nosql

9
AN INTRODUCTION #NOSQL NoSQL

Upload: greprep

Post on 11-May-2015

5.017 views

Category:

Internet


0 download

DESCRIPTION

A beginners introduction to nosql in very basic terms and covering introduction to MongoDB

TRANSCRIPT

Page 1: An introduction to Nosql

AN INTRODUCTION#NOSQL

NoSQL

Page 2: An introduction to Nosql

What is NoSQL

Next Generation database

CharacteristicsNon-relationalDistributed Open-source Horizontally scalableNo Predefined Schema

Page 3: An introduction to Nosql

An example

{ "_id" : { "$oid" : "536ce8d1c25cf6e89fa7deeb"} , "name" : "USA" , "type" : "country" , "count" : "1" , "states" : { "1" : "MA" , "2" : "TX" , "3" : "CA"}}

Page 4: An introduction to Nosql

Types of NoSql

Document databases Similar to Key/Value but with a major difference that value is a document. Inspired by Lotus Notes. Example Couch DB, Mongo DB

Graph stores are used to store information about networks, such as social connections. Graph stores include Neo4J and HyperGraphDB.

Key-value stores are the simplest NoSQL databases. Every single item in the database is stored as an attribute name (or "key"), together with its value. Examples are Riak and Voldemort.

Wide-column stores such as Cassandra and HBase are optimized for queries over large datasets, and store columns of data together, instead of rows. Example Hadoop/ Hbase, Cassnadra, Level DB (from Google), BigTable

Page 5: An introduction to Nosql

Why #nosql

Dynamic SchemaLarge columns of structured, semi structured

data and unstructured dataEfficient scale out architecture (Sharding)Helps in Agile development

Page 6: An introduction to Nosql

SQL Databases No SQL Database

Example Oracle , mysql Mondo DB, CouchDB, Neo4J

Storage Model

Rows and tables Key-value. Data stored as single document in JSON, XML

Schemas Static Dynamic

Scaling Vertical & Horizontal

Horizontal

Transactions

Yes Certain levels

Data Manipulation

Select, Insert , Update

Through Object Oriented API’s

Differences

Page 7: An introduction to Nosql

MongoDB

It is type of Document databaseWritten in C++Development started in 2007Commercial supported and developed by

10GenSupports multiple types of indexingIn built Sharding

Page 8: An introduction to Nosql

What is Sharding

Sharding is the process of storing data records across multiple machines a.k.a Horizontal Scaling

Page 9: An introduction to Nosql

References

http://nosql-database.org/http://www.mongodb.com/nosql-explainedhttp://www.slideshare.net/dstainer/

introduction-to-nosql-databases