In 10 minutes Mohannad El Dafrawy Sara Rodriguez Lino Valdivia Jr.

Slides:



Advertisements
Similar presentations
Introduction to MongoDB
Advertisements

2 Proprietary & Confidential What is Sharding Benefits of Sharding Alternatives of Sharding When to start Sharding Agenda.
Jennifer Widom NoSQL Systems Overview (as of November 2011 )
NoSQL Databases: MongoDB vs Cassandra
Toolbox Mirror -Overview Effective Distributed Learning.
Introduction to Backend James Kahng. Install Node.js.
NoSQL and NewSQL Justin DeBrabant CIS Advanced Systems - Fall 2013.
MongoDB Introduction © Zoran Maksimovic
CS 405G: Introduction to Database Systems 24 NoSQL Reuse some slides of Jennifer Widom Chen Qian University of Kentucky.
An introduction to MongoDB Rácz Gábor ELTE IK, febr. 10.
What is MongoDB? Developed by 10gen It is a NoSQL database A document-oriented database It uses BSON format.
Building applications with MongoDB – An introduction Roger
A Social blog using MongoDB ITEC-810 Final Presentation Lucero Soria Supervisor: Dr. Jian Yang.
Massively Parallel Cloud Data Storage Systems S. Sudarshan IIT Bombay.
A Study in NoSQL & Distributed Database Systems John Hawkins.
1 Yasin N. Silva Arizona State University This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
AN INTRODUCTION TO NOSQL DATABASES Karol Rástočný, Eduard Kuric.
MONGODB NOSQL SERIES Karol Rástočný 1. Prominent Users 2  AppScale, bit.ly, Business Insider, CERN LHC, craigslist, diaspora, Disney Interactive Media.
Is Apache CouchDB for you?
:: Conférence :: NoSQL / Scalabilite Etat de l’art Samuel BERTHE10 Mars 2014Epitech Nantes.
NoSQL continued CMSC 461 Michael Wilson. MongoDB  MongoDB is another NoSQL solution  Provides a bit more structure than a solution like Accumulo  Data.
Getting Biologists off ACID Ryan Verdon 3/13/12. Outline Thesis Idea Specific database Effects of losing ACID What is a NoSQL database Types of NoSQL.
WTT Workshop de Tendências Tecnológicas 2014
Goodbye rows and tables, hello documents and collections.
NOSQL DATABASES Please remember to read the NOSQL Distilled book and the Seven Databases book.
Methodological Foundations of Biomedical Informatics (BMSC-GA 4449) Himanshu Grover.
Spatial Tajo Supporting Spatial Queries on Apache Tajo Slideshare Shorten URL : goo.gl/j0VLXpgoo.gl/j0VLXp.
MongoDB is a database management system designed for web applications and internet infrastructure. The data model and persistence strategies are built.
MongoDB Jer-Shuan Lin.
NOSQL Implementation and examples Maciej Matuszewski.
Clusterpoint Margarita Sudņika ms RDBMS & NoSQL Databases & tables → Document stores Columns, rows → Schemaless documents Scales UP → Scales UP.
NoSQL Or Peles. What is NoSQL A collection of various technologies meant to work around RDBMS limitations (mostly performance) Not much of a definition...
NoSQL Systems Motivation. NoSQL: The Name  “SQL” = Traditional relational DBMS  Recognition over past decade or so: Not every data management/analysis.
NOSQL DATABASE Not Only SQL DATABASE
Grid Technology CERN IT Department CH-1211 Geneva 23 Switzerland t DBCF GT IT Monitoring WG Technology for Storage/Analysis 28 November 2011.
Introduction to MongoDB. Database compared.
Data and Information Systems Laboratory University of Illinois Urbana-Champaign Data Mining Meeting Mar, From SQL to NoSQL Xiao Yu Mar 2012.
NoSQL databases A brief introduction NoSQL databases1.
BIG DATA/ Hadoop Interview Questions.
Abstract MarkLogic Database – Only Enterprise NoSQL DB Aashi Rastogi, Sanket V. Patel Department of Computer Science University of Bridgeport, Bridgeport,
COMP 430 Intro. to Database Systems MongoDB. What is MongoDB? “Humongous” DB NoSQL, no schemas DB Lots of similarities with SQL RDBMs, but with more flexibility.
A presentation on ElasticSearch
CSE-291 (Distributed Systems) Winter 2017 Gregory Kesden
CS 405G: Introduction to Database Systems
NO SQL for SQL DBA Dilip Nayak & Dan Hess.
DBSI Teaser Presentation
From DBA to DPA – Becoming a Data Platform Administrator
CS122B: Projects in Databases and Web Applications Winter 2017
Introduction In the computing system (web and business applications), there are enormous data that comes out every day from the web. A large section of.
MongoDB Er. Shiva K. Shrestha ME Computer, NCIT
NoSQL Database and Application
NOSQL.
Dineesha Suraweera.
Christian Stark and Odbayar Badamjav
Twitter & NoSQL Integration with MVC4 Web API
PHP / MySQL Introduction
NOSQL databases and Big Data Storage Systems
CSE-291 (Cloud Computing) Fall 2016 Gregory Kesden
NoSQL Systems Overview (as of November 2011).
Massively Parallel Cloud Data Storage Systems
1 Demand of your DB is changing Presented By: Ashwani Kumar
NoSQL Databases Antonino Virgillito.
Database Software.
NoSQL Not Only SQL University of Kurdistan Faculty of Engineering
relational thoughts on NoSql
CS5220 Advanced Topics in Web Programming Introduction to MongoDB
Building applications with MongoDB – An introduction
INTRODUCTION TO MONgodb
NoSQL Overview + Elasticsearch Quick Dive
NoSQL databases An introduction and comparison between Mongodb and Mysql document store.
Presentation transcript:

in 10 minutes Mohannad El Dafrawy Sara Rodriguez Lino Valdivia Jr

What is MongoDB? Document database o Data is structured as schema-less JSON documents One of the most popular NoSQL solutions Cross-platform and open source o written in C++ o supports Windows, Linux, Mac OS X, Solaris

Features (I) Document-based storage and querying o Queries themselves are JSON documents Full Index Support o Allows indexing on any attribute, just like in a traditional SQL solution Replication & High Availability o Supports mirroring of data for scalability

Features (II) Auto-Sharding (horizontal scaling) o Large data sets can be divided and distributed over multiple shards Fast In-Place Updates o Update operations are atomic for contention-free performance Integrated Map/Reduce framework o Can perform map/reduce operations on top of the data

History First developed by 10gen (later MongoDB, Inc.) in 2007 Name comes from “humongous” Became open source in 2009 Latest stable release (2.4.9) released Jan 2014

Basic Ideas { _id: 1234, author: { name: “Bob Jones”, }, post: “In these troubled times I like to...“, date: { $date: “ :23UTC” }, location: [ , ], rating: 2.2, comments: [ { user: upVotes: 22, downVotes: 14, text: “Great point! I agree” }, { user: upVotes: 421, downVotes: 22, text: “You are a...” } ], tags: [ “databases”, “mongo” ] } ●Collections of JSON objects ●Embed objects within a single document ●Flexible schema ●References

Query Example db.posts.find({ author.name: “mike” }) db.posts.find({ rating: { $gt: 2 }}) db.posts.find({ tags: “software” }) db.posts.find().sort({date: -1}).limit(10) // select * from posts where ‘economy’ in tags order by ts DESC db.posts find( {tags :‘economy’}).sort({ts :-1 }).limit(10);

Note on internals documents stored as BSON (Binary JSON) memory-mapped files indexes are B-Trees {_id: ObjectId(XXXXXXXXX), hello: “world”} \x27\x00\x00\x07 _i d\x00 X X X X X X X X\x02 h e l l o\x00\x06\x00 \x00\x00 w o r l d\x00\x00

Cassandra (1.2) Best used: When you write more than you read (logging). If every component of the system must be in Java. If you require Availability + Partition Tolerance For example: Banking, financial industry (though not necessarily for financial transactions, but these industries are much bigger than that.) Writes are faster than reads, so one natural niche is data analysis. MongoDB (2.2) Best used: If you need dynamic queries. If you prefer to define indexes, not map/reduce functions. If you need good performance on a big DB. If you require Consistency + Partition Tolerance For example: For most things that you would do with MySQL or PostgreSQL, but having predefined columns really holds you back. source: VS

Why (and why not) MongoDB? If you need dynamic queries If you prefer to define indexes, not map/reduce functions If you need good performance on a big DB If you wanted CouchDB, but your data changes too much, filling up disks It lacks transactions, so if you're a bank, don’t use it It doesn't support SQL It doesn't have any built-in revisioning like CouchDB It doesn't have real full text searching features

Production Users Archiving - Craigslist Content Management - MTV Networks E-Commerce - Customink Real-time Analytics - intuit Social Networking - Foursquare

Long-term goals for MongoDB To add new features as: Natural language processing Full text search engine More real-time search in data

Personal conclusion Getting up to speed with MongoDB (document oriented and schema free) Advanced usage (tons of features) Administration (Easy to admin,replication,sharding) Advanced usage (Index & aggregation) BSON and Memory-Mapped There are times where not all clients can read or write. CP (Consistency and Partition Tolerance).

References MongoDB.org ( Wikipedia: MongoDB ( DB-Engines Ranking ( Interview about the future of MongoDB ( mongodb.html) mongodb.html MongoDB Inside and Outside by Kyle Banker ( How This Web Site Uses MongoDB ( ) Cassandra and MongoDB comparison ( vs-redis)