CSCC09F Programming on the Web. Mongo DB

Size: px
Start display at page:

Download "CSCC09F Programming on the Web. Mongo DB"

Transcription

1 CSCC09F Programming on the Web Mongo DB A document-oriented Database, mongoose for Node.js, DB operations 52 MongoDB CSCC09 Programming on the Web 1 CSCC09 Programming on the Web 1

2 What s Different in MongoDB? You already know about traditional relational DB s (C43) 52 MongoDB CSCC09 Programming on the Web 2 CSCC09 Programming on the Web 2

3 What s Different in MongoDB? Query results returned in JavaScript-friendly format > db.user.findone({age:21}) { "_id" :ObjectId("5327f8ea17 "), "first" : "Jeff", "last" : "Lee", "age" : 21, "interests" : [ "photography", "gaming"] "favorites": { "color": "red", "sport": "tennis"} } 52 MongoDB CSCC09 Programming on the Web 3 CSCC09 Programming on the Web 3

4 Create CRUD(Mongo native API) db.collection.insert( <document> ) db.collection.save( <document> ) db.collection.update( <query>, <update>, { upsert: true } ) // insert query not matched Read db.collection.find( <query>, <projection> ) db.collection.findone( <query>, <projection> ) Update db.collection.update( <query>, <update>, <options> ) Delete db.collection.remove( <query>, <justone> ) 52 MongoDB CSCC09 Programming on the Web 4 CSCC09 Programming on the Web 4

5 CRUD example > db.user.insert({ first: "Jeff", last : "Lee", age: 21 }) > db.user.find () { "_id" : ObjectId("51 "), "first" : "Jeff", "last" : "Lee", "age" : 21 } > db.user.update( {"_id": ObjectId("51 ")}, { $set: { age: 22, salary: 77000} } ) 5 > db.user.remove({ "first": /^J/ }) 52 MongoDB CSCC09 Programming on the Web CSCC09 Programming on the Web 5

6 Mongo Features Document-Oriented storage Full Index Support Replication +High Availability Auto-Sharding Flexible Queryingincluding Geospatial Map/Reducefor processing large datasets Agile Scalable 52 MongoDB CSCC09 Programming on the Web 6 CSCC09 Programming on the Web 6

7 Is Mongo Mainstream? Mongo isn t just an open-source project used for tinkering As of Oct 2015, is ranked as the 4 th most-used DB overall and 1 st place among NoSQL (document) DB s! 52 MongoDB CSCC09 Programming on the Web 7 CSCC09 Programming on the Web 7

8 Mongo: a Document DB Mongo is a document-oriented datastore, as compared with a set of related tables in a relational DB Document-oriented store maps more easily to domain models in JavaScript, e.g. Movie, Review Mongo represents documents as JSON, making it very easy to interface with Web apps, especially when the app server-side is implemented in JavaScript (e.g. Node.js) for efficiency DB stores a binary form of JSON named BSON Unlike a traditional relational DB, Mongo does not rely on a rigid table structure with columns and types (although can define schemas with types, as in Mongoose for Asst2) 52 MongoDB CSCC09 Programming on the Web 8 CSCC09 Programming on the Web 8

9 Mongo: a Document DB A Mongo DB is schema-less although we will define schemas in Mongoose which get evaluated every time you restart your Node.js server This means that like JavaScript s collections, the models in a MongoDB collection can have different field sets! This is advantageous if you need to change the structure of your data, as in an agile environment changing structure/schema of relational-database tables is a delicate operation get it wrong and your code is broken in a Mongo environment, change schema, restart Node.js. Any new model instances will have the new structure, old models will have undefined values for new field (beware!) 52 MongoDB CSCC09 Programming on the Web 9 CSCC09 Programming on the Web 9

10 Mongo with Node.js: Mongoose Mongoose module provides object modeling for Node.js similar idea to Object-Relational-Mapping (ORM) for traditional relational databases goal is to reduce the friction or gap between the objects/models used in the app programming language and the data stored in the database Mongoose translates DB data to JavaScript objects and vice versa Advantage is that as a developer you can think of the database as storing the same models used in your clientside code (Backbone Models) 52 MongoDB CSCC09 Programming on the Web 11 CSCC09 Programming on the Web 10

11 Mongo with Node.js: Mongoose Mongoose module provides object modeling for Node.js var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test'); // create Dog model-constructor, using circled Schema // 'Dog' is the singular name of the model s collection var Dog = mongoose.model('dog',{name: String}); // instantiate a new Dog model using constructor var pup = new Dog({ name: 'Boof' }); pup.save(function (err) { }); if (err) { //... } else { console.log('woof!'); } 52 MongoDB CSCC09 Programming on the Web 12 CSCC09 Programming on the Web 11

12 Mongo with Node.js: Mongoose var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test'); var Dog = mongoose.model('dog',{name: String}); var pup = new Dog({ name: 'Boof' }); pup.save(function (err) { }); if (err) { //... } else { console.log('woof!'); } In mongoose.model('dog',{ }), Dogis the singular name of the collection (Dogs). The function-call result is a Model-constructor function that can be used to create instances of the model, which in turn are documents persisted by Mongo. pup is one such instance See save() example below for Asst2 related model 52 MongoDB CSCC09 Programming on the Web 13 CSCC09 Programming on the Web 12

13 Mongoose Connect to DB When using an authenticated database need to specify extra details at connect time (notethe :port part can be dropped when using the standard port, as on mathlab): var uri = 'mongodb://username:password Should specify username, password, database_namein your options.jsmodule 52 MongoDB CSCC09 Programming on the Web 14 CSCC09 Programming on the Web 13

14 Mongoose Schemas and Models A mongoose schemais associated with the model for a collection same idea as a collection-model in Backbone // Schemas var MovieSchema = new mongoose.schema({ }); title: { type: String, required: true }, director: { type: String, required:true }, // ADD CODE for other Movie attributes To be able to modify Movie, we need: Singular name of collection Schema name var Movie=mongoose.model('Movie',MovieSchema); 52 MongoDB CSCC09 Programming on the Web 17 CSCC09 Programming on the Web 14

15 Mongoose Schemas and Indices A mongoose schemais associated with the model for a collection same idea as a collection model in Backbone // Schemas var MovieSchema = new mongoose.schema({ }); title: { type: String, required: true }, director: { type: String, required:true }, // ADD CODE for other Movie attributes // impose constraint such as unique field-pair MovieSchema.index({ // field list }, { // constraint list }); 52 MongoDB CSCC09 Programming on the Web 18 CSCC09 Programming on the Web 15

16 Queries To retrieve all Movie instances: Movie.find({}, function(error, movies){ }); if (!error) res.send(movies); You can omit the {}parameter, as a syntactic abbreviation In general, the first parameter of.find() can be a JSON object such as: { title: 'Wild' } which behaves like SQL clause: WHERE title="wild" 52 MongoDB CSCC09 Programming on the Web 19 CSCC09 Programming on the Web 16

17 More Queries A special case of find()is used when model s id is known: Movie.findById(req.params.id, }); function(error, data){ res.json(data); Another special case of find is used when you want just a single result (here matches field-value pair): Movie.findOne({field: value}, }); function(error, data){ res.json(data); 52 MongoDB CSCC09 Programming on the Web 20 CSCC09 Programming on the Web 17

18 More Queries Queries are quite flexible: by field value, e.g. movie title: Movie.find({title: "Wild"}) by ranges, e.g. price value in range Movie.find({released:{$gt:2009,$lt:2014}}) by regular expression, comparable to SQL s LIKE Movie.find({starring: /Keanu/}) Result of a query can be one or more documents (models) or fields of those documents, e.g. could return just the director (and id) field from all movies matching query by specifying projection as 2 nd parameter to find(): Movie.find({starring:/Keanu/},{director:1}) 52 MongoDB CSCC09 Programming on the Web 21 CSCC09 Programming on the Web 18

19 Saving New Model // create new movie instance var movie = new Movie( attributes ); // save to database, with callback to // return result and handle errors movie.save(function(error, movie){ }); if(!error){ // return model to client res.status(200).send(movie); } else {... handle errors } 52 MongoDB CSCC09 Programming on the Web 24 CSCC09 Programming on the Web 19

20 Updating Existing Model Movie.findById(req.params.id, function(finderr, movie){ if(!finderr && movie){ // update movie attributes from req.body movie.save(function(saveerr, movieresp) { if (!saveerr) { // return model res.status(200).send(movieresp); } else {... handle error } }); } else {... handle error }; }); 52 MongoDB CSCC09 Programming on the Web 25 CSCC09 Programming on the Web 20

21 Mongo: performance features Any document field can be designated as an index, for faster index-based querying Mongo supports DB replication, so that if your primary datastorefails, a replica datastore takes over Mongo supports shardingfor load balancing, with set of documents in a DB distributed across multiple servers, based on user-selected shard-key, e.g. city field 52 MongoDB CSCC09 Programming on the Web 26 CSCC09 Programming on the Web 21

NoSQL web apps. w/ MongoDB, Node.js, AngularJS. Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013

NoSQL web apps. w/ MongoDB, Node.js, AngularJS. Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013 NoSQL web apps w/ MongoDB, Node.js, AngularJS Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013 About us Passionate (web) dev. since fallen in love with Sinclair ZX Spectrum Academic background in natural

More information

MongoDB Developer and Administrator Certification Course Agenda

MongoDB Developer and Administrator Certification Course Agenda MongoDB Developer and Administrator Certification Course Agenda Lesson 1: NoSQL Database Introduction What is NoSQL? Why NoSQL? Difference Between RDBMS and NoSQL Databases Benefits of NoSQL Types of NoSQL

More information

Getting Started with MongoDB

Getting Started with MongoDB Getting Started with MongoDB TCF IT Professional Conference March 14, 2014 Michael P. Redlich @mpredli about.me/mpredli/ 1 1 Who s Mike? BS in CS from Petrochemical Research Organization Ai-Logix, Inc.

More information

Introduction to NoSQL and MongoDB. Kathleen Durant Lesson 20 CS 3200 Northeastern University

Introduction to NoSQL and MongoDB. Kathleen Durant Lesson 20 CS 3200 Northeastern University Introduction to NoSQL and MongoDB Kathleen Durant Lesson 20 CS 3200 Northeastern University 1 Outline for today Introduction to NoSQL Architecture Sharding Replica sets NoSQL Assumptions and the CAP Theorem

More information

MongoDB: document-oriented database

MongoDB: document-oriented database MongoDB: document-oriented database Software Languages Team University of Koblenz-Landau Ralf Lämmel, Sebastian Jackel and Andrei Varanovich Motivation Need for a flexible schema High availability Scalability

More information

Perl & NoSQL Focus on MongoDB. Jean-Marie Gouarné http://jean.marie.gouarne.online.fr [email protected]

Perl & NoSQL Focus on MongoDB. Jean-Marie Gouarné http://jean.marie.gouarne.online.fr jmgdoc@cpan.org Perl & NoSQL Focus on MongoDB Jean-Marie Gouarné http://jean.marie.gouarne.online.fr [email protected] AGENDA A NoIntroduction to NoSQL The document store data model MongoDB at a glance MongoDB Perl API

More information

Scaling up = getting a better machine. Scaling out = use another server and add it to your cluster.

Scaling up = getting a better machine. Scaling out = use another server and add it to your cluster. MongoDB 1. Introduction MongoDB is a document-oriented database, not a relation one. It replaces the concept of a row with a document. This makes it possible to represent complex hierarchical relationships

More information

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code. Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...

More information

.NET User Group Bern

.NET User Group Bern .NET User Group Bern Roger Rudin bbv Software Services AG [email protected] Agenda What is NoSQL Understanding the Motivation behind NoSQL MongoDB: A Document Oriented Database NoSQL Use Cases What is

More information

Big Data & Data Science Course Example using MapReduce. Presented by Juan C. Vega

Big Data & Data Science Course Example using MapReduce. Presented by Juan C. Vega Big Data & Data Science Course Example using MapReduce Presented by What is Mongo? Why Mongo? Mongo Model Mongo Deployment Mongo Query Language Built-In MapReduce Demo Q & A Agenda Founders Max Schireson

More information

Frictionless Persistence in.net with MongoDB. Mogens Heller Grabe Trifork [email protected]

Frictionless Persistence in.net with MongoDB. Mogens Heller Grabe Trifork mhg@trifork.com Frictionless Persistence in.net with MongoDB Mogens Heller Grabe Trifork [email protected] Agenda Document-oriented databases Introduction to MongoDB JavaScript, baby! How to do it with C# Tiny web app sample

More information

MongoDB. Or how I learned to stop worrying and love the database. Mathias Stearn. N*SQL Berlin October 22th, 2009. 10gen

MongoDB. Or how I learned to stop worrying and love the database. Mathias Stearn. N*SQL Berlin October 22th, 2009. 10gen What is? Or how I learned to stop worrying and love the database 10gen N*SQL Berlin October 22th, 2009 What is? 1 What is? Document Oriented JavaScript Enabled Fast, Scalable, Available, and Reliable 2

More information

NO SQL! NO INJECTION?

NO SQL! NO INJECTION? NO SQL! NO INJECTION? A talk on the state of NoSQL security IBM Cyber Security Center of Excellence Aviv Ron Alexandra Shulman-Peleg IBM AppScan Emanuel Bronshtein AVIV RON Security Researcher for IBM

More information

Cloud Powered Mobile Apps with Azure

Cloud Powered Mobile Apps with Azure Cloud Powered Mobile Apps with Azure Malte Lantin Technical Evanglist Microsoft Azure Agenda Mobile Services Features and Demos Advanced Features Scaling and Pricing 2 What is Mobile Services? Storage

More information

MongoDB in the NoSQL and SQL world. Horst Rechner [email protected] Berlin, 2012-05-15

MongoDB in the NoSQL and SQL world. Horst Rechner horst.rechner@fokus.fraunhofer.de Berlin, 2012-05-15 MongoDB in the NoSQL and SQL world. Horst Rechner [email protected] Berlin, 2012-05-15 1 MongoDB in the NoSQL and SQL world. NoSQL What? Why? - How? Say goodbye to ACID, hello BASE You

More information

NoSQL in der Cloud Why? Andreas Hartmann

NoSQL in der Cloud Why? Andreas Hartmann NoSQL in der Cloud Why? Andreas Hartmann 17.04.2013 17.04.2013 2 NoSQL in der Cloud Why? Quelle: http://res.sys-con.com/story/mar12/2188748/cloudbigdata_0_0.jpg Why Cloud??? 17.04.2013 3 NoSQL in der Cloud

More information

Hacettepe University Department Of Computer Engineering BBM 471 Database Management Systems Experiment

Hacettepe University Department Of Computer Engineering BBM 471 Database Management Systems Experiment Hacettepe University Department Of Computer Engineering BBM 471 Database Management Systems Experiment Subject NoSQL Databases - MongoDB Submission Date 20.11.2013 Due Date 26.12.2013 Programming Environment

More information

The MongoDB Tutorial Introduction for MySQL Users. Stephane Combaudon April 1st, 2014

The MongoDB Tutorial Introduction for MySQL Users. Stephane Combaudon April 1st, 2014 The MongoDB Tutorial Introduction for MySQL Users Stephane Combaudon April 1st, 2014 Agenda 2 Introduction Install & First Steps CRUD Aggregation Framework Performance Tuning Replication and High Availability

More information

L7_L10. MongoDB. Big Data and Analytics by Seema Acharya and Subhashini Chellappan Copyright 2015, WILEY INDIA PVT. LTD.

L7_L10. MongoDB. Big Data and Analytics by Seema Acharya and Subhashini Chellappan Copyright 2015, WILEY INDIA PVT. LTD. L7_L10 MongoDB Agenda What is MongoDB? Why MongoDB? Using JSON Creating or Generating a Unique Key Support for Dynamic Queries Storing Binary Data Replication Sharding Terms used in RDBMS and MongoDB Data

More information

No SQL! no injection? A talk on the state of NoSQL security

No SQL! no injection? A talk on the state of NoSQL security No SQL! no injection? A talk on the state of NoSQL security IBM Cyber Security Center of Excellence Aviv Ron Alexandra Shulman-Peleg Anton Puzanov Aviv Ron Security Researcher for IBM Cyber Security Center

More information

Big Data. Facebook Wall Data using Graph API. Presented by: Prashant Patel-2556219 Jaykrushna Patel-2619715

Big Data. Facebook Wall Data using Graph API. Presented by: Prashant Patel-2556219 Jaykrushna Patel-2619715 Big Data Facebook Wall Data using Graph API Presented by: Prashant Patel-2556219 Jaykrushna Patel-2619715 Outline Data Source Processing tools for processing our data Big Data Processing System: Mongodb

More information

Understanding NoSQL Technologies on Windows Azure

Understanding NoSQL Technologies on Windows Azure David Chappell Understanding NoSQL Technologies on Windows Azure Sponsored by Microsoft Corporation Copyright 2013 Chappell & Associates Contents Data on Windows Azure: The Big Picture... 3 Windows Azure

More information

MarkLogic Server. Node.js Application Developer s Guide. MarkLogic 8 February, 2015. Copyright 2016 MarkLogic Corporation. All rights reserved.

MarkLogic Server. Node.js Application Developer s Guide. MarkLogic 8 February, 2015. Copyright 2016 MarkLogic Corporation. All rights reserved. Node.js Application Developer s Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-5, March, 2016 Copyright 2016 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Node.js

More information

How To Write A Web Server In Javascript

How To Write A Web Server In Javascript LIBERATED: A fully in-browser client and server web application debug and test environment Derrell Lipman University of Massachusetts Lowell Overview of the Client/Server Environment Server Machine Client

More information

NoSQL Database - mongodb

NoSQL Database - mongodb NoSQL Database - mongodb Andreas Hartmann 19.10.11 Agenda NoSQL Basics MongoDB Basics Map/Reduce Binary Data Sets Replication - Scaling Monitoring - Backup Schema Design - Ecosystem 19.10.11 2 NoSQL Database

More information

Document Oriented Database

Document Oriented Database Document Oriented Database What is Document Oriented Database? What is Document Oriented Database? Not Really What is Document Oriented Database? The central concept of a document-oriented database is

More information

NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases

NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases NoSQL replacement for SQLite (for Beatstream) Antti-Jussi Kovalainen Seminar OHJ-1860: NoSQL databases Background Inspiration: postgresapp.com demo.beatstream.fi (modern desktop browsers without

More information

Visualizing a Neo4j Graph Database with KeyLines

Visualizing a Neo4j Graph Database with KeyLines Visualizing a Neo4j Graph Database with KeyLines Introduction 2! What is a graph database? 2! What is Neo4j? 2! Why visualize Neo4j? 3! Visualization Architecture 4! Benefits of the KeyLines/Neo4j architecture

More information

Lecture 21: NoSQL III. Monday, April 20, 2015

Lecture 21: NoSQL III. Monday, April 20, 2015 Lecture 21: NoSQL III Monday, April 20, 2015 Announcements Issues/questions with Quiz 6 or HW4? This week: MongoDB Next class: Quiz 7 Make-up quiz: 04/29 at 6pm (or after class) Reminders: HW 4 and Project

More information

MongoDB. An introduction and performance analysis. Seminar Thesis

MongoDB. An introduction and performance analysis. Seminar Thesis MongoDB An introduction and performance analysis Seminar Thesis Master of Science in Engineering Major Software and Systems HSR Hochschule für Technik Rapperswil www.hsr.ch/mse Advisor: Author: Prof. Stefan

More information

Big Data Solutions. Portal Development with MongoDB and Liferay. Solutions

Big Data Solutions. Portal Development with MongoDB and Liferay. Solutions Big Data Solutions Portal Development with MongoDB and Liferay Solutions Introduction Companies have made huge investments in Business Intelligence and analytics to better understand their clients and

More information

Building Your First MongoDB Application

Building Your First MongoDB Application Building Your First MongoDB Application Ross Lawley Python Engineer @ 10gen Web developer since 1999 Passionate about open source Agile methodology email: [email protected] twitter: RossC0 Today's Talk Quick

More information

Certified MongoDB Professional VS-1058

Certified MongoDB Professional VS-1058 VS-1058 Certified MongoDB Professional Certification Code VS-1058 Vskills certification for MongoDB Professional assesses the candidate for MongoDB. The certification tests the candidates on various areas

More information

MONGODB - THE NOSQL DATABASE

MONGODB - THE NOSQL DATABASE MONGODB - THE NOSQL DATABASE Akhil Latta Software Engineer Z Systems, Mohali, Punjab MongoDB is an open source document-oriented database system developed and supported by 10gen. It is part of the NoSQL

More information

Open Source Technologies on Microsoft Azure

Open Source Technologies on Microsoft Azure Open Source Technologies on Microsoft Azure A Survey @DChappellAssoc Copyright 2014 Chappell & Associates The Main Idea i Open source technologies are a fundamental part of Microsoft Azure The Big Questions

More information

these three NoSQL databases because I wanted to see a the two different sides of the CAP

these three NoSQL databases because I wanted to see a the two different sides of the CAP Michael Sharp Big Data CS401r Lab 3 For this paper I decided to do research on MongoDB, Cassandra, and Dynamo. I chose these three NoSQL databases because I wanted to see a the two different sides of the

More information

Why NoSQL? Your database options in the new non- relational world. 2015 IBM Cloudant 1

Why NoSQL? Your database options in the new non- relational world. 2015 IBM Cloudant 1 Why NoSQL? Your database options in the new non- relational world 2015 IBM Cloudant 1 Table of Contents New types of apps are generating new types of data... 3 A brief history on NoSQL... 3 NoSQL s roots

More information

Attacking MongoDB. Firstov Mihail

Attacking MongoDB. Firstov Mihail Attacking MongoDB Firstov Mihail What is it? MongoDB is an open source document-oriented database system. Features : 1. Ad hoc queries. 2. Indexing 3. Replication 4. Load balancing 5. File storage 6. Aggregation

More information

HO5604 Deploying MongoDB. A Scalable, Distributed Database with SUSE Cloud. Alejandro Bonilla. Sales Engineer [email protected]

HO5604 Deploying MongoDB. A Scalable, Distributed Database with SUSE Cloud. Alejandro Bonilla. Sales Engineer abonilla@suse.com HO5604 Deploying MongoDB A Scalable, Distributed Database with SUSE Cloud Alejandro Bonilla Sales Engineer [email protected] Agenda SUSE Cloud Overview What is MongoDB? 2 Getting familiar with the Cloud

More information

SURVEY ON MONGODB: AN OPEN- SOURCE DOCUMENT DATABASE

SURVEY ON MONGODB: AN OPEN- SOURCE DOCUMENT DATABASE International Journal of Advanced Research in Engineering and Technology (IJARET) Volume 6, Issue 12, Dec 2015, pp. 01-11, Article ID: IJARET_06_12_001 Available online at http://www.iaeme.com/ijaret/issues.asp?jtype=ijaret&vtype=6&itype=12

More information

The evolution of database technology (II) Huibert Aalbers Senior Certified Executive IT Architect

The evolution of database technology (II) Huibert Aalbers Senior Certified Executive IT Architect The evolution of database technology (II) Huibert Aalbers Senior Certified Executive IT Architect IT Insight podcast This podcast belongs to the IT Insight series You can subscribe to the podcast through

More information

Application of NoSQL Database in Web Crawling

Application of NoSQL Database in Web Crawling Application of NoSQL Database in Web Crawling College of Computer and Software, Nanjing University of Information Science and Technology, Nanjing, 210044, China doi:10.4156/jdcta.vol5.issue6.31 Abstract

More information

Brad Dayley. NoSQL with MongoDB

Brad Dayley. NoSQL with MongoDB Brad Dayley NoSQL with MongoDB Sams Teach Yourself NoSQL with MongoDB in 24 Hours Copyright 2015 by Pearson Education All rights reserved. No part of this book shall be reproduced, stored in a retrieval

More information

MongoDB. The Definitive Guide to. The NoSQL Database for Cloud and Desktop Computing. Apress8. Eelco Plugge, Peter Membrey and Tim Hawkins

MongoDB. The Definitive Guide to. The NoSQL Database for Cloud and Desktop Computing. Apress8. Eelco Plugge, Peter Membrey and Tim Hawkins The Definitive Guide to MongoDB The NoSQL Database for Cloud and Desktop Computing 11 111 TECHNISCHE INFORMATIONSBIBLIO 1 HEK UNIVERSITATSBIBLIOTHEK HANNOVER Eelco Plugge, Peter Membrey and Tim Hawkins

More information

NOSQL INTRODUCTION WITH MONGODB AND RUBY GEOFF LANE <[email protected]> @GEOFFLANE

NOSQL INTRODUCTION WITH MONGODB AND RUBY GEOFF LANE <GEOFF@ZORCHED.NET> @GEOFFLANE NOSQL INTRODUCTION WITH MONGODB AND RUBY GEOFF LANE @GEOFFLANE WHAT IS NOSQL? NON-RELATIONAL DATA STORAGE USUALLY SCHEMA-FREE ACCESS DATA WITHOUT SQL (THUS... NOSQL) WIDE-COLUMN / TABULAR

More information

Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB

Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB Overview of Databases On MacOS Karl Kuehn Automation Engineer RethinkDB Session Goals Introduce Database concepts Show example players Not Goals: Cover non-macos systems (Oracle) Teach you SQL Answer what

More information

Can the Elephants Handle the NoSQL Onslaught?

Can the Elephants Handle the NoSQL Onslaught? Can the Elephants Handle the NoSQL Onslaught? Avrilia Floratou, Nikhil Teletia David J. DeWitt, Jignesh M. Patel, Donghui Zhang University of Wisconsin-Madison Microsoft Jim Gray Systems Lab Presented

More information

NoSQL Databases. Nikos Parlavantzas

NoSQL Databases. Nikos Parlavantzas !!!! NoSQL Databases Nikos Parlavantzas Lecture overview 2 Objective! Present the main concepts necessary for understanding NoSQL databases! Provide an overview of current NoSQL technologies Outline 3!

More information

ADVANCED DATABASES PROJECT. Juan Manuel Benítez V. - 000425944. Gledys Sulbaran - 000423426

ADVANCED DATABASES PROJECT. Juan Manuel Benítez V. - 000425944. Gledys Sulbaran - 000423426 ADVANCED DATABASES PROJECT Juan Manuel Benítez V. - 000425944 Gledys Sulbaran - 000423426 TABLE OF CONTENTS Contents Introduction 1 What is NoSQL? 2 Why NoSQL? 3 NoSQL vs. SQL 4 Mongo DB - Introduction

More information

Databases for text storage

Databases for text storage Databases for text storage Jonathan Ronen New York University [email protected] December 1, 2014 Jonathan Ronen (NYU) databases December 1, 2014 1 / 24 Overview 1 Introduction 2 PostgresSQL 3 MongoDB Jonathan

More information

Server-Side JavaScript Injection Bryan Sullivan, Senior Security Researcher, Adobe Secure Software Engineering Team July 2011

Server-Side JavaScript Injection Bryan Sullivan, Senior Security Researcher, Adobe Secure Software Engineering Team July 2011 Server-Side JavaScript Injection Bryan Sullivan, Senior Security Researcher, Adobe Secure Software Engineering Team July 2011 Abstract This whitepaper is presented in support of the BlackHat USA 2011 talk,

More information

An Approach to Implement Map Reduce with NoSQL Databases

An Approach to Implement Map Reduce with NoSQL Databases www.ijecs.in International Journal Of Engineering And Computer Science ISSN: 2319-7242 Volume 4 Issue 8 Aug 2015, Page No. 13635-13639 An Approach to Implement Map Reduce with NoSQL Databases Ashutosh

More information

SQL Injection Vulnerabilities in Desktop Applications

SQL Injection Vulnerabilities in Desktop Applications Vulnerabilities in Desktop Applications Derek Ditch (lead) Dylan McDonald Justin Miller Missouri University of Science & Technology Computer Science Department April 29, 2008 Vulnerabilities in Desktop

More information

Introducing DocumentDB

Introducing DocumentDB David Chappell Introducing DocumentDB A NoSQL Database for Microsoft Azure Sponsored by Microsoft Corporation Copyright 2014 Chappell & Associates Contents Why DocumentDB?... 3 The DocumentDB Data Model...

More information

Preparing Your Data For Cloud

Preparing Your Data For Cloud Preparing Your Data For Cloud Narinder Kumar Inphina Technologies 1 Agenda Relational DBMS's : Pros & Cons Non-Relational DBMS's : Pros & Cons Types of Non-Relational DBMS's Current Market State Applicability

More information

Analytics March 2015 White paper. Why NoSQL? Your database options in the new non-relational world

Analytics March 2015 White paper. Why NoSQL? Your database options in the new non-relational world Analytics March 2015 White paper Why NoSQL? Your database options in the new non-relational world 2 Why NoSQL? Contents 2 New types of apps are generating new types of data 2 A brief history of NoSQL 3

More information

Programming Against Hybrid Databases with Java Handling SQL and NoSQL. Brian Hughes IBM

Programming Against Hybrid Databases with Java Handling SQL and NoSQL. Brian Hughes IBM Programming Against Hybrid Databases with Java Handling SQL and NoSQL Brian Hughes IBM 1 Acknowledgements and Disclaimers Availability. References in this presentation to IBM products, programs, or services

More information

Avaya Inventory Management System

Avaya Inventory Management System Avaya Inventory Management System June 15, 2015 Jordan Moser Jin Oh Erik Ponder Gokul Natesan Table of Contents 1. Introduction 1 2. Requirements 2-3 3. System Architecture 4 4. Technical Design 5-6 5.

More information

NoSQL Database Systems and their Security Challenges

NoSQL Database Systems and their Security Challenges NoSQL Database Systems and their Security Challenges Morteza Amini [email protected] Data & Network Security Lab (DNSL) Department of Computer Engineering Sharif University of Technology September 25 2

More information

PHP and MongoDB Web Development Beginners Guide by Rubayeet Islam

PHP and MongoDB Web Development Beginners Guide by Rubayeet Islam PHP and MongoDB Web Development Beginners Guide by Rubayeet Islam Projects-Oriented Book Combine the power of PHP and MongoDB to build dynamic web 2.0 applications Learn to build PHP-powered dynamic web

More information

Oracle Database 10g Express

Oracle Database 10g Express Oracle Database 10g Express This tutorial prepares the Oracle Database 10g Express Edition Developer to perform common development and administrative tasks of Oracle Database 10g Express Edition. Objectives

More information

Benchmarking Couchbase Server for Interactive Applications. By Alexey Diomin and Kirill Grigorchuk

Benchmarking Couchbase Server for Interactive Applications. By Alexey Diomin and Kirill Grigorchuk Benchmarking Couchbase Server for Interactive Applications By Alexey Diomin and Kirill Grigorchuk Contents 1. Introduction... 3 2. A brief overview of Cassandra, MongoDB, and Couchbase... 3 3. Key criteria

More information

Scaling with MongoDB. by Michael Schurter 2011 @schmichael. Scaling with MongoDB by Michael Schurter - OS Bridge, 2011.06.22

Scaling with MongoDB. by Michael Schurter 2011 @schmichael. Scaling with MongoDB by Michael Schurter - OS Bridge, 2011.06.22 Scaling with MongoDB by Michael Schurter 2011 @schmichael What is MongoDB? Community Developer by 10gen AGPL Database Apache drivers JIRA issue tracking On GitHub What is MongoDB? Architecture Server Database

More information

Getting Started with SandStorm NoSQL Benchmark

Getting Started with SandStorm NoSQL Benchmark Getting Started with SandStorm NoSQL Benchmark SandStorm is an enterprise performance testing tool for web, mobile, cloud and big data applications. It provides a framework for benchmarking NoSQL, Hadoop,

More information

Big data and urban mobility

Big data and urban mobility Big data and urban mobility Antònia Tugores,PereColet Instituto de Física Interdisciplinar y Sistemas Complejos, IFISC(UIB-CSIC) Abstract. Data sources have been evolving the last decades and nowadays

More information

Cloud Scale Distributed Data Storage. Jürmo Mehine

Cloud Scale Distributed Data Storage. Jürmo Mehine Cloud Scale Distributed Data Storage Jürmo Mehine 2014 Outline Background Relational model Database scaling Keys, values and aggregates The NoSQL landscape Non-relational data models Key-value Document-oriented

More information

Structured Data Storage

Structured Data Storage Structured Data Storage Xgen Congress Short Course 2010 Adam Kraut BioTeam Inc. Independent Consulting Shop: Vendor/technology agnostic Staffed by: Scientists forced to learn High Performance IT to conduct

More information

MongoDB and Couchbase

MongoDB and Couchbase Benchmarking MongoDB and Couchbase No-SQL Databases Alex Voss Chris Choi University of St Andrews TOP 2 Questions Should a social scientist buy MORE or UPGRADE computers? Which DATABASE(s)? Document Oriented

More information

Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect

Server-Side JavaScript auf der JVM. Peter Doschkinow Senior Java Architect Server-Side JavaScript auf der JVM Peter Doschkinow Senior Java Architect The following is intended to outline our general product direction. It is intended for information purposes only, and may not be

More information

NoSQL - What we ve learned with mongodb. Paul Pedersen, Deputy CTO [email protected] DAMA SF December 15, 2011

NoSQL - What we ve learned with mongodb. Paul Pedersen, Deputy CTO paul@10gen.com DAMA SF December 15, 2011 NoSQL - What we ve learned with mongodb Paul Pedersen, Deputy CTO [email protected] DAMA SF December 15, 2011 DW2.0 and NoSQL management decision support intgrated access - local v. global - structured v.

More information

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved.

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved. Reference Application Architecture Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents

More information

How To Compare The Economics Of A Database To A Microsoft Database

How To Compare The Economics Of A Database To A Microsoft Database A MongoDB White Paper A Total Cost of Ownership Comparison of MongoDB & Oracle March 2013 Contents EXECUTIVE SUMMARY 1 COST CATEGORIES 1 TCO FOR EXAMPLE PROJECTS 3 Upfront Costs 3 Initial Developer Effort

More information

NoSQL, But Even Less Security Bryan Sullivan, Senior Security Researcher, Adobe Secure Software Engineering Team

NoSQL, But Even Less Security Bryan Sullivan, Senior Security Researcher, Adobe Secure Software Engineering Team NoSQL, But Even Less Security Bryan Sullivan, Senior Security Researcher, Adobe Secure Software Engineering Team Agenda Eventual Consistency REST APIs and CSRF NoSQL Injection SSJS Injection NoSQL databases

More information

OAuth 2.0 Developers Guide. Ping Identity, Inc. 1001 17th Street, Suite 100, Denver, CO 80202 303.468.2900

OAuth 2.0 Developers Guide. Ping Identity, Inc. 1001 17th Street, Suite 100, Denver, CO 80202 303.468.2900 OAuth 2.0 Developers Guide Ping Identity, Inc. 1001 17th Street, Suite 100, Denver, CO 80202 303.468.2900 Table of Contents Contents TABLE OF CONTENTS... 2 ABOUT THIS DOCUMENT... 3 GETTING STARTED... 4

More information

Visualizing an OrientDB Graph Database with KeyLines

Visualizing an OrientDB Graph Database with KeyLines Visualizing an OrientDB Graph Database with KeyLines Visualizing an OrientDB Graph Database with KeyLines 1! Introduction 2! What is a graph database? 2! What is OrientDB? 2! Why visualize OrientDB? 3!

More information

Chapter 11 Map-Reduce, Hadoop, HDFS, Hbase, MongoDB, Apache HIVE, and Related

Chapter 11 Map-Reduce, Hadoop, HDFS, Hbase, MongoDB, Apache HIVE, and Related Chapter 11 Map-Reduce, Hadoop, HDFS, Hbase, MongoDB, Apache HIVE, and Related Summary Xiangzhe Li Nowadays, there are more and more data everyday about everything. For instance, here are some of the astonishing

More information

KEYSTONE JS FOR DRUPAL DEVELOPERS

KEYSTONE JS FOR DRUPAL DEVELOPERS NYC CAMP KEYSTONE JS FOR DRUPAL DEVELOPERS @northps JULY 18, 2016 ABOUT US Founded 2003 114 Employees 10 YEARS Average Experience Offices in: NEW YORK, NY (HQ) BOSTON, MA PHILADELPHIA, PA 80 % Of our clients

More information

A COMPARATIVE STUDY OF NOSQL DATA STORAGE MODELS FOR BIG DATA

A COMPARATIVE STUDY OF NOSQL DATA STORAGE MODELS FOR BIG DATA A COMPARATIVE STUDY OF NOSQL DATA STORAGE MODELS FOR BIG DATA Ompal Singh Assistant Professor, Computer Science & Engineering, Sharda University, (India) ABSTRACT In the new era of distributed system where

More information

How graph databases started the multi-model revolution

How graph databases started the multi-model revolution How graph databases started the multi-model revolution Luca Garulli Author and CEO @OrientDB QCon Sao Paulo - March 26, 2015 Welcome to Big Data 90% of the data in the world today has been created in the

More information

Spring Data, Jongo & Co. Java Persistenz-Frameworks für MongoDB

Spring Data, Jongo & Co. Java Persistenz-Frameworks für MongoDB Spring Data, Jongo & Co. Java Persistenz-Frameworks für MongoDB [email protected] @tobiastrelle codecentric AG 1 Tobias Trelle - Senior IT Consultant @ codecentric AG (Düsseldorf) - Organisator

More information

Write Modern Web Apps with the MEAN Stack

Write Modern Web Apps with the MEAN Stack Write Modern Web Apps with the MEAN Stack Mongo, Express, AngularJS, and Node.js DEVELOP AND DESIGN Jeff Dickey Write Modern Web Apps with the MEAN Stack Mongo, Express, AngularJS, and Node.js DEVELOP

More information

Lag Sucks! R.J. Lorimer Director of Platform Engineering Electrotank, Inc. Robert Greene Vice President of Technology Versant Corporation

Lag Sucks! R.J. Lorimer Director of Platform Engineering Electrotank, Inc. Robert Greene Vice President of Technology Versant Corporation Lag Sucks! Making Online Gaming Faster with NoSQL (and without Breaking the Bank) R.J. Lorimer Director of Platform Engineering Electrotank, Inc. Robert Greene Vice President of Technology Versant Corporation

More information

Database Design Patterns. Winter 2006-2007 Lecture 24

Database Design Patterns. Winter 2006-2007 Lecture 24 Database Design Patterns Winter 2006-2007 Lecture 24 Trees and Hierarchies Many schemas need to represent trees or hierarchies of some sort Common way of representing trees: An adjacency list model Each

More information

Comparison of the Frontier Distributed Database Caching System with NoSQL Databases

Comparison of the Frontier Distributed Database Caching System with NoSQL Databases Comparison of the Frontier Distributed Database Caching System with NoSQL Databases Dave Dykstra [email protected] Fermilab is operated by the Fermi Research Alliance, LLC under contract No. DE-AC02-07CH11359

More information

Applied Internet Technology (CSCI-UA.0480) - Sample Questions

Applied Internet Technology (CSCI-UA.0480) - Sample Questions Applied Internet Technology (CSCI-UA.0480) - Sample Questions A reference is provided on the last page. This does not represent the length of the actual midterm (this has more questions) 1. Two broad categories

More information

Connecting to Manage Your MS SQL Database

Connecting to Manage Your MS SQL Database Using MS SQL databases HOWTO Copyright 2001 Version 1.0 This HOWTO describes how to connect to a MS SQL database and how to transfer data to an SQL server database. Table of Contents Connecting to Manage

More information

Comparisons Between MongoDB and MS-SQL Databases on the TWC Website

Comparisons Between MongoDB and MS-SQL Databases on the TWC Website American Journal of Software Engineering and Applications 2015; 4(2): 35-41 Published online April 28, 2015 (http://www.sciencepublishinggroup.com/j/ajsea) doi: 10.11648/j.ajsea.20150402.12 ISSN: 2327-2473

More information

Cloud Powered Mobile Apps with Microsoft Azure

Cloud Powered Mobile Apps with Microsoft Azure Cloud Powered Mobile Apps with Microsoft Azure Malte Lantin Technical Evanglist Microsoft Azure Malte Lantin Technical Evangelist, Microsoft Deutschland Fokus auf Microsoft Azure, App-Entwicklung Student

More information

Introduction to Server-Side Programming. Charles Liu

Introduction to Server-Side Programming. Charles Liu Introduction to Server-Side Programming Charles Liu Overview 1. Basics of HTTP 2. PHP syntax 3. Server-side programming 4. Connecting to MySQL Request to a Static Site Server: 1. Homepage lookup 2. Send

More information

Zero Downtime Deployments with Database Migrations. Bob Feldbauer twitter: @bobfeldbauer email: [email protected]

Zero Downtime Deployments with Database Migrations. Bob Feldbauer twitter: @bobfeldbauer email: bob.feldbauer@timgroup.com Zero Downtime Deployments with Database Migrations Bob Feldbauer twitter: @bobfeldbauer email: [email protected] Deployments Two parts to deployment: Application code Database schema changes (migrations,

More information

JavaScript Programming

JavaScript Programming JavaScript Programming Pushing the Limits ADVANCED APPLICATION DEVELOPMENT WITH JAVASCRIPT & HTML5 Jon Raasch WILEY Contents About the Author vi Dedication vii About the Contributor ix Acknowledgments

More information

How to Use PIPS Access to/from SQL Database Utility Program. By PIPSUS Support Team Dr. Chouikha ([email protected])

How to Use PIPS Access to/from SQL Database Utility Program. By PIPSUS Support Team Dr. Chouikha (achouikha@gmail.com) How to Use PIPS Access to/from SQL Database Utility Program By PIPSUS Support Team Dr. Chouikha ([email protected]) 1. Introduction PIPS (Price Index Processor Software) data transfer utility program

More information

Referential Integrity in Cloud NoSQL Databases

Referential Integrity in Cloud NoSQL Databases Referential Integrity in Cloud NoSQL Databases by Harsha Raja A thesis submitted to the Victoria University of Wellington in partial fulfilment of the requirements for the degree of Master of Engineering

More information

Performance Evaluation of NoSQL Systems Using YCSB in a resource Austere Environment

Performance Evaluation of NoSQL Systems Using YCSB in a resource Austere Environment International Journal of Applied Information Systems (IJAIS) ISSN : 2249-868 Performance Evaluation of NoSQL Systems Using YCSB in a resource Austere Environment Yusuf Abubakar Department of Computer Science

More information