Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

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.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

NoSQL and mongoDB

Overview on NoSQL and dive into MongoDB implementation
by

Amihay Zer-Kavod

on 21 September 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of NoSQL and mongoDB

NoSQL &
MongoDB

Questions?
Thank you for your attention!
And one more thing...
NoSQL rocks!!!
...is a broad class of database management systems that differ from the classic model of the relational database management system (RDBMS) in some significant ways, most important being they do
not use SQL
as their primary query language. These data stores
may not require fixed table schemas, usually do not support join operations, may not give full ACID
(atomicity, consistency, isolation, durability) guarantees,
and typically scale horizontally.
Big Data Sets vs. Huge Data Sets
Scaling is possible but hard vs. Scaling is easy
SQL vs. Map reduce and hash lookups
Good availability vs. high availability
Strong consistency vs. eventual consistency
Strict Data model vs. Loose Data Models
Document-oriented storage -
JSON
-style documents with dynamic schemas.
Full Index Support
- Index on any attribute.
Replication & High Availability
- Mirror across LANs and WANs for scale and peace of mind.
Auto-Sharding
- Scale horizontally without compromising functionality.
Querying
- Rich, document-based queries.
Fast In-Place

Updates
- Atomic modifiers for contention-free performance.
Map/Reduce
- Flexible aggregation and data processing.
GridFS
- Store files of any size.
What is NoSQL
RDMS vs NoSQL
MongoDB- Features
Easy Schema Evaluation/Migration/Editing
Flexible Data Model: (related to schema)
lower Cost:
NoSQL database can run efficiently on commodity servers.
Open Source
Process temporary data
Process Mass data
Replication
High Availability
Partitioning and Sharding - easy scalability
Benefits of NoSQL
Graph databases
Neo4J
Infinite Graph
Sones
InfoGrid
HyperGraphDB
Trinity
DEX
AllegroGraph
BrightstarDB
Bigdata
Meronymy
OpenLink Virtuoso
VertexDB
FlockDB
http://www.mongodb.org
Interesting Links:
The CAP Theorem
Driving trends

Data Size
Connectedness of the data
Semi-Structured Data
RDBMS Performance vs App Requirements
The need for Speed
Availability
Maturity
Support? Open Source projects. Community support.
Analytics and Business Intelligence: No/Limited Business intelligence tools. Need to develop custom BI tools.
Administration: No DBA is required in the short term, but requires lot of effort to maintain.
Learning Curve.
NoSQL implementations are usually “Alpha”
Challenges of NoSQL
NoSQL Taxonomy
Key Value stores
Document Stores

Column-Stores
Graph databases
Column-Stores
Cassandra
Google BigTable
HBase
Hyperbase
Key Value stores
Amazon Dynamo
Amazon S3
Redis
Scalaris
Voldemort
Riak
Document Stores
Amazon SimpleDb
Apache Couchdb
MongoDb
Riak
Map -Reduce
Inherently distributed computing model
Bringing the processing code to the Data and not the data to the processing code.
Big Data Techniques
http://nosql-database.org/links.html
http://www.vineetgupta.com/2010/01/nosql-databases-part-1-landscape/
local resources: \\amaserver1\shared\info\NoSQL
Hadoop.The.Definitive.Guide.2nd.Edition.Oct.2010.pdf
Manning.Hadoop.in.Action.Dec.2010.pdf
WTF-is-a-SuperColumn.pdf
MongoDB_The_Definitive_Guide.pdf
http://research.google.com/archive/bigtable.html
MongoDB- Design
MongoDB- Data Model
A Mongo system holds a set of databases
A database holds a set of collections
A collection holds a set of documents
A document is a set of fields
A field is a key-value pair
A key is a name (string)
A value is a
basic type like string, integer, float, timestamp, binary, etc.,
a document, or
an array of values
MongoDB- getting dirty
Installing a mongoDb
Importing csv file
running a few queries
Running Map-Reduce
MongoDB- What we are doing

places
geonear.
weather
Secure distributed Replica Set.
MongoDB- Data Model
MongoDB- More Functionality
Advanced queries:
count
limit
sort
Javascript in the DB
Indexes
Auto Sharding
Javascript Shell
Rest API
BSON
Key Value stores
Strengths:
Simple data model
Great at scaling out horizontally
Scalable
Available
Weaknesses:
Simplistic data model
Poor for complex data
Column-Stores
Strengths
Data model supports semi-structured data
Naturally indexed (columns)
Good at scaling out horizontally
Weaknesses:
Unsuited for interconnected data
Complex but limited data model
Graph databases
Strengths
Powerful data model
Fast
For connected data, can be many orders of
magnitude faster than RDBMS
Weaknesses:
Sharding
Document Stores
Strengths
Simple, powerful data model
Good scaling
Weaknesses:
Unsuited for interconnected data
Query model limited to keys (and indexes)
Map reduce for larger queries
Full transcript