Some notes on NoSQL, in particular MongoDB Bettina Berendt (with thanks to Matthijs van Leeuwen for some of the slides) 8 December 2015.

Slides:



Advertisements
Similar presentations
Management Information Systems, Sixth Edition
Advertisements

Jennifer Widom NoSQL Systems Overview (as of November 2011 )
Relational Database Alternatives NoSQL. Choosing A Data Model Relational database underpin legacy applications and meet business needs However, companies.
MongoDB Introduction © Zoran Maksimovic
CS 405G: Introduction to Database Systems 24 NoSQL Reuse some slides of Jennifer Widom Chen Qian University of Kentucky.
Confidential ODBC May 7, Features What is ODBC? Why Create an ODBC Driver for Rochade? How do we Expose Rochade as Relational Transformation.
What is MongoDB? Developed by 10gen It is a NoSQL database A document-oriented database It uses BSON format.
A Social blog using MongoDB ITEC-810 Final Presentation Lucero Soria Supervisor: Dr. Jian Yang.
A Study in NoSQL & Distributed Database Systems John Hawkins.
AN INTRODUCTION TO NOSQL DATABASES Karol Rástočný, Eduard Kuric.
Database Lecture # 1 By Ubaid Ullah.
Database Technical Session By: Prof. Adarsh Patel.
NoSQL continued CMSC 461 Michael Wilson. MongoDB  MongoDB is another NoSQL solution  Provides a bit more structure than a solution like Accumulo  Data.
WTT Workshop de Tendências Tecnológicas 2014
Databases. Database A database is an organized collection of related data.
Unit 23 Database and Spreadsheets Prepared by :Nahed Al-Salah.
NoSQL Databases NoSQL Concepts SoftUni Team Technical Trainers Software University
Chapter 6 1 © Prentice Hall, 2002 The Physical Design Stage of SDLC (figures 2.4, 2.5 revisited) Project Identification and Selection Project Initiation.
Methodological Foundations of Biomedical Informatics (BMSC-GA 4449) Himanshu Grover.
© Copyright 2013 STI INNSBRUCK
Database Essentials. Key Terms Big Data Describes a dataset that cannot be stored or processed using traditional database software. Examples: Google search.
Database Management Systems.  Database management system (DBMS)  Store large collections of data  Organize the data  Becomes a data storage system.
Tutorial 91 Databases A database is an organized collection of related information stored in a file on a disk A database allows companies to store information.
CSE 3330 Database Concepts MongoDB. Big Data Surge in “big data” Larger datasets frequently need to be stored in dbs Traditional relational db were not.
Introduction to MongoDB
Jennifer Widom NoSQL Systems Motivation. Jennifer Widom NoSQL: The Name  “SQL” = Traditional relational DBMS  Recognition over past decade or so: Not.
NoSQL Systems Motivation. NoSQL: The Name  “SQL” = Traditional relational DBMS  Recognition over past decade or so: Not every data management/analysis.
CS5604: Final Presentation ProjOpenDSA: Log Support Victoria Suwardiman Anand Swaminathan Shiyi Wei Department of Computer Science, Virginia Tech December.
Introduction to MongoDB. Database compared.
Relational Database Systems Bartosz Zagorowicz. Flat Databases  Originally databases were flat.  All information was stored in a long text file, called.
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.
CSC314 DAY 8 Introduction to SQL 1. Chapter 6 © 2013 Pearson Education, Inc. Publishing as Prentice Hall SQL OVERVIEW  Structured Query Language  The.
Welcome: To the fifth learning sequence “ Data Models “ Recap : In the previous learning sequence, we discussed The Database concepts. Present learning:
CS422 Principles of Database Systems Introduction to NoSQL Chengyu Sun California State University, Los Angeles.
Group members: Phạm Hoàng Long Nguyễn Huy Hùng Lê Minh Hiếu Phan Thị Thanh Thảo Nguyễn Đức Trí 1 BIG DATA & NoSQL Topic 1:
Introduction to Database Programming with Python Gary Stewart
Management Information Systems by Prof. Park Kyung-Hye Chapter 7 (8th Week) Databases and Data Warehouses 07.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Cloud Data Models Lecturer.
Introduction to Mongo DB(NO SQL data Base)
Plan for Cloud Data Models
CS 405G: Introduction to Database Systems
NO SQL for SQL DBA Dilip Nayak & Dan Hess.
and Big Data Storage Systems
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.
javascript for your data
NOSQL databases and Big Data Storage Systems
MongoDB for Developers
What is database? Types and Examples
11/18/2018 2:14 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
NoSQL Systems Motivation.
MIT GSL 2018 week 3 | thursday Meteor and App Ideation.
Intro to NoSQL Databases
Intro to NoSQL Databases
NoSQL Databases Antonino Virgillito.
Data Model.
Intro to NoSQL Databases
CSE 482 Lecture 5: NoSQL.
PostgreSQL as a Document Storage for .NET applications
relational thoughts on NoSql
CS5220 Advanced Topics in Web Programming Introduction to MongoDB
Database Management Systems
INTRODUCTION TO MONgodb
Intro to NoSQL Databases
Presentation transcript:

Some notes on NoSQL, in particular MongoDB Bettina Berendt (with thanks to Matthijs van Leeuwen for some of the slides) 8 December 2015

Overview: NoSQL ‘Not only SQL’ No tables, but storage of, e.g. – Collections of documents (e.g. JSON, XML) – Key-value pairs – Columns of values – Graphs – Objects – … 2

NoSQL Advantages – horizontally scalable (as opposed to vertically) – No static schema or data model – Cheaper in maintenance Disadvantages – Possibilities can be very system-specific  no universal query language – Often, some coding is necessary – Fewer a/o weaker theoretical guarantees 3

Example systems: NoSQL 4

MongoDB, the most popular system for document stores (see and references there) MongoDB is “schema-free“!

Understanding the MongoDB / NoSQL notion of “document“ – Good example of what computer scientists call “semi- structured data“ (see previous week) – But actually fairly structured in comparison to e.g. a textual document: MongoDB‘s format is called BSON, a binary form of JSON See – Note: JSON can be thought of as an alternative to XML, as described for example on the – certainly not disinterested - but not the type of XML you often see for annotating texts, as for example in the Letters of 1916 projecthttp:// 6

INSERT a row (SQL)  insert a document (MongoDB) db.inventory.insert( { item: "ABC1", details: { model: "14Q3", manufacturer: "XYZ Company" }, stock: [ { size: "S", qty: 25 }, { size: "M", qty: 50 } ], category: "clothing" } ) 7

SELECT (SQL)  find documents (MongoDB) db.inventory.find( { type: { $in: [ 'food', 'snacks' ] } } ) db.inventory.find( { type: 'food', price: { $lt: 9.95 } } ) 8

SELECT and SORT 9

UPDATE (SQL)  update documents (MongoDB) db.inventory.update( { item: "MNO2" }, { $set: { category: "apparel", details: { model: "14Q3", manufacturer: "XYZ" } }, $currentDate: { lastModified: true } } ) 10

Other useful constructs such as GROUP BY are also available (see Wikipedia description)... And python interfaces exist. 11

Setting indexes in MongoDB: Usage (1): BSON structure Given the following document in the users collection { “_id“ : ObjectID(...), “name“ : “Alice“, “age“ : 27 “score“ : 25 } the following command creates an index on the score field: db.users.createIndex ( { “score“ : 1 } )

Usage (2)

SELECT and SORT (shown with reference to an index) 14

Importance for DHers? – Certainly growing, but probably not necessary for everyone My personal rule of thumb: – Very useful if you know the query you have (for example because you have worked it out on a small data sample, with SQL, python, or whatever), and you need to process LOTS of data – Less useful for very exploratory analysis, since there you may need a universal query language. 15