Data Management in the Cloud

Size: px
Start display at page:

Download "Data Management in the Cloud"

Transcription

1 With thanks to Michael Grossniklaus! Data Management in the Cloud Lecture 8 Data Models Document: MongoDB I ve failed over and over and over again in my life. And that is why I succeed. Michael Jordan 1

2 Trend Towards Specializa=on Non- Datastores ( NoSQL ) New Genera@on OLAP (ver@ca, aster, greenplum) RDBMS (Oracle, MySQL) MongoDB s defini=on of NoSQL : non- rela@onal, next- genera@on opera@onal datastores and databases 2

3 Horizontally Scalable Architectures No joins and no complex row hard to implement both when scaling horizontally abandon the data model No SQL New data models key/value: memcached, Dynamo document- oriented: MongoDB, CouchDB, JSON stores tabular: BigTable Improved ways to develop easier than a rela@onal database management system data modeling: begin with normalized model and refine model by embedding documents 3

4 Spectrum of Systems memcached scalability and performance key/value MongoDB RDBMS depth of func;onality 4

5 What is missing? joins MongoDB vs. RDBMS complex row SQL (but MongoDB has document- based query language ) Terminology database database or schema table collec@on row document column field Database Collec@on2 Doc1 Doc2 Index Collec@on1 Document1 Field1 Field2 Document2 Document3

6 MongoDB vs. RDBMS databases define columns at the table level whereas a document- oriented database defines its fields at the document level - h]p://openmymind.net/mongodb.pdf (p.5) Table - > Collec@on; Row - > Document Shoes Table Shoes Collec=on Brand Size Color Vans 8 Red/Gold DC 8 White/Blue/Green Nike 8.5 YellowGreen { Brand : Vans, Size : 8, Color : Red/Gold } { Brand : DC, Size : 8, Color : White/Blue/Green } { Brand : Nike, Size : 8.5, Color : YellowGreen } 6

7 MongoDB vs. RDBMS databases define columns at the table level whereas a document- oriented database defines its fields at the document level - h]p://openmymind.net/mongodb.pdf (p.5) Table - > Collec@on; Row - > Document Shoes Table Shoes Collec=on Brand Size Color Vans 8 Red/Gold DC 8 White/Blue/Green Nike 8.5 YellowGreen { Brand : Vans, Size : 8, Color : Red/Gold, Note : Looks like mermaid } { Brand : DC, Size : 8, Color : White/Blue/Green } { Brand : Nike, Size : 8.5, Color : YellowGreen } 7

8 MongoDB Data Model & Features Advantages of document model Documents (objects) correspond to types in many programming languages Embedded documents and arrays reduce need for expensive joins Dynamic schema supports fluent polymorphism High Performance High Availability Scaling 8

9 Data Model MongoDB stores JSON- style documents internally represented as BSON denotes an a<ribute { hello : world } of type string \x16\x00\x00\x00\x02hello\x00 \x06\x00\x00\x00world\x00\x00 light- weight and traversable driver converts programming language objects to BSON document size limited to 4 MB Flexible schemas the big difference between a collec@on and a table { author : fred, text :... } { author : mary, text :..., tags : [ mongodb ]} Source: h<p://bsonspec.org 9

10 World Wide Web scaling out high volume caching Less good at highly ad- hoc business intelligence problems that require SQL Use Cases 10

11 Storing Documents post = {author: mike, date: new Date(), text: my blog post..., tags: [ mongodb, intro ]} JavaScript object database db.posts.save(post) collec;on Example uses JavaScript MongoDB supports JavaScript on the client and server side other language bindings exist BSON is the basis for a rich type system e.g., (binary) date values are not possible in JSON Collec@ons are created implicitly on demand 11

12 Special key _id Document Iden=fiers present in all documents: user or system- defined unique across a collec@on can be any type System- defined default _id is added if not specified by user similar to GUID/UUID, lightweight (only 12 bytes) and fast to generate generated at the client ObjectId( 4bface1a e04f3c434 machine id process id incremen@ng counter Source: h<p:// 12

13 Queries Query invoked by method find() on posts by author db.posts.find({author: mike }) query- by- example: problems? Query language query- by- example plus $ modifiers : $gt, $lt, $gte, $lte, $ne, $all, $in, and $nin age between 20 and 40 {author: mike, age: {$gte: 20, $lt: 40}} Advanced queries keyword $where db.posts.find({$where: this.author == mike this.title == dbms }) Source: h<p:// 13

14 Queries involving dates Complex Queries JavaScript starts posts since April 1 coun;ng months at 0 april1 = new Date(2013, 3, 1) db.posts.find({date: {$gt: april1}}) Sor@ng and limit last ten posts db.posts.find() lazy evalua@on (cursors) all posts.sort({date: -1}).limit(10) descending 14

15 Cursors var c = db.posts.find({author: mike }).skip(20) omit first 20 results.limit(10)) c.next() c.next()... next result only return 10 results query first N results and cursor id next with cursor id next N results and cursor id or eof... 15

16 Queries over Text and Collec=ons Use regular expression in find() method posts ending with Tech db.posts.find({text: /Tech$/}) Regular Expression Members of valued a]ributes are queried in the same way as a]ributes with atomic values posts with a specific tag db.posts.find({tags: mongodb }) Use of a mul@- key index speeds up collec@on- oriented queries db.posts.ensureindex({tags: 1}) 16

17 Aggrega=on Func=ons the number of documents in a collec@on total posts db.posts.count() total posts authored by Mike db.posts.find({author: mike }).count() Method distinct() displays the dis@nct values found for a specified key in a collec@on Method group() groups documents in a collec@on by the specified key and performs simple aggrega@on More ways to compute aggregated values aggrega=on framework using aggregate command map/reduce aggrega=on for large data sets using mapreduce command 17

18 Atomic Update Modifiers var c = {author: eliot, date: new Date(), text: Great post! } query selector db.posts.update({_id: post._id}, {$push: {comments: c}}) update value MongoDB has no transac@ons complex func@onality exposed through update modifiers $push adds (appends) an object to an array Client does not need to worry about locking of documents conten@on of updates 18

19 Document Evolu=on post = {author: mike, date: new Date(), text: another blog post..., tags: [ mongodb ], title: Introduction to MongoDB } db.posts.save(post) New A<ribute Flexible schema documents within the same collec@on can have different a]ributes document a]ributes can simply be added or removed evolu@on performed when save() is invoked 19

20 Horizontally Scalable Architectures Remember they said No joins and no complex row hard to implement both when scaling horizontally abandon the data model 20

21 Parallel Database Execu=on - Join SELECT brand, descrip@on, size, shelfnumber, shelfposi@on FROM shoes, shoestorage WHERE shoes.id = shoestorage.id AND color = Green AND lastworn < Case 1: Tuples from shoes and shoestorage are randomly par@@oned (sharded) across the three disks. Bold lines indicate transfer across network Computer 1 JOIN JOIN Computer 2 RePar@@on RePar@@on RePar@@on RePar@@on SELECT SCAN SELECT SCAN shoes shoestorage shoes shoestorage

22 Transac=ons Across Systems T1 Update Converse Black/Red - > Black/Red/White T2 Update Nikes YellowGreen - > ReallyBrightYellow T1 Update Nike Yellow/Green - > NeonYellow T2 Update Nike Yellow/Green - > NeonYellow T1 wai@ng on T2 T2 wai@ng on T1 Distributed Deadlock Brand Size Color T1 T2 Brand Size Color Vans 8 Red/Gold Converse 8 White DC 8 White/Blue/Green Converse 8 Blue Nike 8.5 YellowGreen Converse 8 Black/Red 22

23 Atomic Update Modifiers var c = {author: eliot, date: new Date(), text: Great post! } query selector db.posts.update({_id: post._id}, {$push: {comments: c}}) update value MongoDB has no transac@ons complex func@onality exposed through update modifiers $push adds (appends) an object to an array Client does not need to worry about locking of documents conten@on of updates 23

24 No begin, commit, rollback So, no transac=ons Atomic only at the single document level And, they have Write Concern 24

25 Write Concern Errors Ignored MongoDB does not acknowledge write Client cannot detect failed write including errors, duplicate key But fast performance Unacknowledged MongoDB does not acknowledge the receipt of write Similar to errors ignored; however, drivers a]empt to receive and handle network errors when possible. Used to be the default write concern. Acknowledged Mongodb confirms the receipt of the write Allows clients to catch network, duplicate key, and other errors. Is now the default write concern. h]p://docs.mongodb.org/manual/core/write- concern/ 25

26 Journaled Write Concern Mongodb acknowledges the write only auer commivng the data to the journal. Write is recoverable. Write must wait for next journal commit. To reduce latency, mongodb increases the frequency that it commits to the journal Replica Acknowledged With replica acknowledged you can guarantee that the write propagates to the members of a replica set. See To set replica acknowledged write concern, specify w values greater than 1 to your driver. h]p://docs.mongodb.org/manual/core/write- concern/ 26

27 Indexing 27

28 Indexing MongoDB has support for user- defined secondary indexes Indices defined at the level B- tree indexes for keys and compound keys db.posts.ensureindex({tags: 1}) Support for key indexes index document for every key value in an array text, hash indices; Unique indices Source: h]p:// 28

29 Embedded Documents Document model supports nested or embedded documents {author: mike, Embedded title: Teach Yourself MongoDB, Documents tags: [ mongodb, intro ], comments: [{author: eliot, text: Awesome tutorial! }, {author: fred, text: Thanks Mike! }], text: MongoDB is an open-source... } Dot nota@on to index and query embedded documents create an index on an embedded document db.posts.ensureindex({comments.author: 1}) find posts with a comment by Eliot db.posts.find({comments.author: eliot }) 29

30 Query Op=mizer No algebraic or cost- based query evaluator processes plans in parallel first plan to finish is remembers as most efficient other plans are terminated query plan is recorded re- evaluate plan auer 1000 writes, add, drop or rebuild index Find posts by Joe about database management systems db.posts.find({author: joe, tags: dbms }) linear scan terminate index on tags terminate index on author remember

31 Data File Alloca=on Memory- mapped storage engine files are mapped into memory MongoDB stores each database as a number of files namespace contains the catalog data files contain the collec@ons and documents 16MB blog.ns 64MB blog.0 128MB blog.1 16MB test.ns... double in size (up to 2 GB) allocated for each database h]p://docs.mongodb.org/manual/faq/storage/ 31

32 Extent Alloca=on blog.0 blog.1 blog Extents allocated into namespaces per blog.posts blog.comments blog.users blog.$freelist 000 pre- allocated space Namespace metadata details stored in blog.ns Empty file is kept in order to avoid blocking on 32

33 Drivers Supported Pla[orms and Languages PHP, Perl, Python, Ruby, Java, C++/C, C#, Erlang, Haskell Plazorms Window (x86, x64) Linux (x86, x64) OS X (x86, x64) Solaris FreeBSD 33

34 client driver Replica=on writes reads primary secondary primary primary secondary primary primary secondary secondary secondary secondary primary provides redundancy and increases data availability Replica sets added in version 1.6 master/slave - style replica@on, but roles can change primary receives all writes if primary fails, secondaries elect a new primary h]p://docs.mongodb.org/manual/replica@on/ 34

35 Read Preferences Read Preference Mode primary primarypreferred secondary secondarypreferred nearest Descrip=on Default mode. All read from the current replica set primary. In most read from the primary but if it is unavailable, read from secondary members. All read from the secondary members of the replica set. In most read from secondary members but if nosecondary members are available, read from the primary. read from the nearest member of the replica set, of the member s type. h]p://docs.mongodb.org/manual/core/read- preference/ 35

36 Auto- Sharding Shards Stores the data mongod mongod mongod... Servers mongod mongod mongod mongod mongod Query Routers Supports range- based and hash- based sharding based on a shard key mongod mongos mongos... Stores the cluster s metadata; contains a mapping of the cluster s data set to the shards. Produc@on must have exactly 3 config servers. client Interfaces with client applica@ons and directs opera@ons to the appropriate shard or shards h]p://docs.mongodb.org/manual/sharding/ 36

37 Other Features and map/reduce complex ETL/offline tasks Capped fixed- sized with wrap around (overwrite) e.g., for website logging Unique indexes Mongo shell GridFS file system API built on top of MongoDB stores large binary data by chunking it up into smaller documents Two- dimensional geo- indexing e.g., foursquare 37

38 References M. Dirolf: Introduc=on to MongoDB, O Reilly Webcast, 2010, available at: h]p:// h]p://docs.mongodb.org/manual/ Chapter 9 Sandage & Fowler 38

39 Data Management in the Cloud TO BE CONTINUED 39

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

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

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

Department of Software Systems. Presenter: Saira Shaheen, 227233 saira.shaheen@tut.fi 0417016438 Dated: 02-10-2012

Department of Software Systems. Presenter: Saira Shaheen, 227233 saira.shaheen@tut.fi 0417016438 Dated: 02-10-2012 1 MongoDB Department of Software Systems Presenter: Saira Shaheen, 227233 saira.shaheen@tut.fi 0417016438 Dated: 02-10-2012 2 Contents Motivation : Why nosql? Introduction : What does NoSQL means?? Applications

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: ross@10gen.com twitter: RossC0 Today's Talk Quick

More information

NOSQL INTRODUCTION WITH MONGODB AND RUBY GEOFF LANE <GEOFF@ZORCHED.NET> @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

.NET User Group Bern

.NET User Group Bern .NET User Group Bern Roger Rudin bbv Software Services AG roger.rudin@bbv.ch Agenda What is NoSQL Understanding the Motivation behind NoSQL MongoDB: A Document Oriented Database NoSQL Use Cases What is

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

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

Please ask questions! Have people used non-relational dbs before? MongoDB?

Please ask questions! Have people used non-relational dbs before? MongoDB? Kristina Chodorow Please ask questions! Have people used non-relational dbs before? MongoDB? Software Engineer at $ whoami Scaling a Pre-WWW DB literally scale literally scale (Courtesy of Ask Bjorn Hansen)

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

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

Open source, high performance database

Open source, high performance database Open source, high performance database Anti-social Databases: NoSQL and MongoDB Will LaForest Senior Director of 10gen Federal will@10gen.com @WLaForest 1 SQL invented Dynamic Web Content released IBM

More information

Humongous MongoDB. Sean Corfield World Singles llc

Humongous MongoDB. Sean Corfield World Singles llc Humongous MongoDB Sean Corfield World Singles llc 1 Agenda Scaling MongoDB - Concepts Replica Sets & Sharding Read Preference, Write Concern, Etc Map/Reduce Aggregation 2 You Might Prefer... Queries and

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

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

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

Data Management in the Cloud: Limitations and Opportunities. Annies Ductan

Data Management in the Cloud: Limitations and Opportunities. Annies Ductan Data Management in the Cloud: Limitations and Opportunities Annies Ductan Discussion Outline: Introduc)on Overview Vision of Cloud Compu8ng Managing Data in The Cloud Cloud Characteris8cs Data Management

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

Performance Management in Big Data Applica6ons. Michael Kopp, Technology Strategist @mikopp

Performance Management in Big Data Applica6ons. Michael Kopp, Technology Strategist @mikopp Performance Management in Big Data Applica6ons Michael Kopp, Technology Strategist NoSQL: High Volume/Low Latency DBs Web Java Key Challenges 1) Even Distribu6on 2) Correct Schema and Access paperns 3)

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

Retaining globally distributed high availability Art van Scheppingen Head of Database Engineering

Retaining globally distributed high availability Art van Scheppingen Head of Database Engineering Retaining globally distributed high availability Art van Scheppingen Head of Database Engineering Overview 1. Who is Spil Games? 2. Theory 3. Spil Storage Pla9orm 4. Ques=ons? 2 Who are we? Who is Spil

More information

Cloud Computing at Google. Architecture

Cloud Computing at Google. Architecture Cloud Computing at Google Google File System Web Systems and Algorithms Google Chris Brooks Department of Computer Science University of San Francisco Google has developed a layered system to handle webscale

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 - 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 paul@10gen.com DAMA SF December 15, 2011 NoSQL - What we ve learned with mongodb Paul Pedersen, Deputy CTO paul@10gen.com DAMA SF December 15, 2011 DW2.0 and NoSQL management decision support intgrated access - local v. global - structured v.

More information

NoSQL: Going Beyond Structured Data and RDBMS

NoSQL: Going Beyond Structured Data and RDBMS NoSQL: Going Beyond Structured Data and RDBMS Scenario Size of data >> disk or memory space on a single machine Store data across many machines Retrieve data from many machines Machine = Commodity machine

More information

Dr. Chuck Cartledge. 15 Oct. 2015

Dr. Chuck Cartledge. 15 Oct. 2015 CS-695 NoSQL Database MongoDB (part 2 of 2) Dr. Chuck Cartledge 15 Oct. 2015 1/17 Table of contents I 1 Miscellanea 2 Assignment #4 3 DB comparisons 4 Extensions 6 Midterm 7 Conclusion 8 References 5 Summary

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

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 horst.rechner@fokus.fraunhofer.de Berlin, 2012-05-15 MongoDB in the NoSQL and SQL world. Horst Rechner horst.rechner@fokus.fraunhofer.de 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

Lecture Data Warehouse Systems

Lecture Data Warehouse Systems Lecture Data Warehouse Systems Eva Zangerle SS 2013 PART C: Novel Approaches in DW NoSQL and MapReduce Stonebraker on Data Warehouses Star and snowflake schemas are a good idea in the DW world C-Stores

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

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

Data Model Design for MongoDB

Data Model Design for MongoDB Data Model Design for MongoDB Release 3.0.7 MongoDB, Inc. October 30, 2015 2 MongoDB, Inc. 2008-2015 This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 United States

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

On- Prem MongoDB- as- a- Service Powered by the CumuLogic DBaaS Platform

On- Prem MongoDB- as- a- Service Powered by the CumuLogic DBaaS Platform On- Prem MongoDB- as- a- Service Powered by the CumuLogic DBaaS Platform Page 1 of 16 Table of Contents Table of Contents... 2 Introduction... 3 NoSQL Databases... 3 CumuLogic NoSQL Database Service...

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

Integrating Big Data into the Computing Curricula

Integrating Big Data into the Computing Curricula Integrating Big Data into the Computing Curricula Yasin Silva, Suzanne Dietrich, Jason Reed, Lisa Tsosie Arizona State University http://www.public.asu.edu/~ynsilva/ibigdata/ 1 Overview Motivation Big

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

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

Sharding and MongoDB. Release 3.0.7. MongoDB, Inc.

Sharding and MongoDB. Release 3.0.7. MongoDB, Inc. Sharding and MongoDB Release 3.0.7 MongoDB, Inc. November 15, 2015 2 MongoDB, Inc. 2008-2015 This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 United States License

More information

extensible record stores document stores key-value stores Rick Cattel s clustering from Scalable SQL and NoSQL Data Stores SIGMOD Record, 2010

extensible record stores document stores key-value stores Rick Cattel s clustering from Scalable SQL and NoSQL Data Stores SIGMOD Record, 2010 System/ Scale to Primary Secondary Joins/ Integrity Language/ Data Year Paper 1000s Index Indexes Transactions Analytics Constraints Views Algebra model my label 1971 RDBMS O tables sql-like 2003 memcached

More information

Comparing SQL and NOSQL databases

Comparing SQL and NOSQL databases COSC 6397 Big Data Analytics Data Formats (II) HBase Edgar Gabriel Spring 2015 Comparing SQL and NOSQL databases Types Development History Data Storage Model SQL One type (SQL database) with minor variations

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

Advanced Data Management Technologies

Advanced Data Management Technologies ADMT 2014/15 Unit 15 J. Gamper 1/44 Advanced Data Management Technologies Unit 15 Introduction to NoSQL J. Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE ADMT 2014/15 Unit 15

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

Practical Cassandra. Vitalii Tymchyshyn tivv00@gmail.com @tivv00

Practical Cassandra. Vitalii Tymchyshyn tivv00@gmail.com @tivv00 Practical Cassandra NoSQL key-value vs RDBMS why and when Cassandra architecture Cassandra data model Life without joins or HDD space is cheap today Hardware requirements & deployment hints Vitalii Tymchyshyn

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

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

Using RDBMS, NoSQL or Hadoop?

Using RDBMS, NoSQL or Hadoop? Using RDBMS, NoSQL or Hadoop? DOAG Conference 2015 Jean- Pierre Dijcks Big Data Product Management Server Technologies Copyright 2014 Oracle and/or its affiliates. All rights reserved. Data Ingest 2 Ingest

More information

Sharding and MongoDB. Release 3.2.1. MongoDB, Inc.

Sharding and MongoDB. Release 3.2.1. MongoDB, Inc. Sharding and MongoDB Release 3.2.1 MongoDB, Inc. February 08, 2016 2 MongoDB, Inc. 2008-2015 This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 United States License

More information

Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013

Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013 Database Management System Choices Introduction To Database Systems CSE 373 Spring 2013 Outline Introduction PostgreSQL MySQL Microsoft SQL Server Choosing A DBMS NoSQL Introduction There a lot of options

More information

Making Sense ofnosql A GUIDE FOR MANAGERS AND THE REST OF US DAN MCCREARY MANNING ANN KELLY. Shelter Island

Making Sense ofnosql A GUIDE FOR MANAGERS AND THE REST OF US DAN MCCREARY MANNING ANN KELLY. Shelter Island Making Sense ofnosql A GUIDE FOR MANAGERS AND THE REST OF US DAN MCCREARY ANN KELLY II MANNING Shelter Island contents foreword preface xvii xix acknowledgments xxi about this book xxii Part 1 Introduction

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

In Memory Accelerator for MongoDB

In Memory Accelerator for MongoDB In Memory Accelerator for MongoDB Yakov Zhdanov, Director R&D GridGain Systems GridGain: In Memory Computing Leader 5 years in production 100s of customers & users Starts every 10 secs worldwide Over 15,000,000

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

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

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

HBase A Comprehensive Introduction. James Chin, Zikai Wang Monday, March 14, 2011 CS 227 (Topics in Database Management) CIT 367

HBase A Comprehensive Introduction. James Chin, Zikai Wang Monday, March 14, 2011 CS 227 (Topics in Database Management) CIT 367 HBase A Comprehensive Introduction James Chin, Zikai Wang Monday, March 14, 2011 CS 227 (Topics in Database Management) CIT 367 Overview Overview: History Began as project by Powerset to process massive

More information

Study and Comparison of Elastic Cloud Databases : Myth or Reality?

Study and Comparison of Elastic Cloud Databases : Myth or Reality? Université Catholique de Louvain Ecole Polytechnique de Louvain Computer Engineering Department Study and Comparison of Elastic Cloud Databases : Myth or Reality? Promoters: Peter Van Roy Sabri Skhiri

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

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

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 jmgdoc@cpan.org Perl & NoSQL Focus on MongoDB Jean-Marie Gouarné http://jean.marie.gouarne.online.fr jmgdoc@cpan.org AGENDA A NoIntroduction to NoSQL The document store data model MongoDB at a glance MongoDB Perl API

More information

Not Relational Models For The Management of Large Amount of Astronomical Data. Bruno Martino (IASI/CNR), Memmo Federici (IAPS/INAF)

Not Relational Models For The Management of Large Amount of Astronomical Data. Bruno Martino (IASI/CNR), Memmo Federici (IAPS/INAF) Not Relational Models For The Management of Large Amount of Astronomical Data Bruno Martino (IASI/CNR), Memmo Federici (IAPS/INAF) What is a DBMS A Data Base Management System is a software infrastructure

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 Tobias.Trelle@codecentric.de @tobiastrelle codecentric AG 1 Tobias Trelle - Senior IT Consultant @ codecentric AG (Düsseldorf) - Organisator

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

CS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #13: NoSQL and MapReduce

CS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #13: NoSQL and MapReduce CS 4604: Introduc0on to Database Management Systems B. Aditya Prakash Lecture #13: NoSQL and MapReduce Announcements HW4 is out You have to use the PGSQL server START EARLY!! We can not help if everyone

More information

Introduction to NoSQL Databases and MapReduce. Tore Risch Information Technology Uppsala University 2014-05-12

Introduction to NoSQL Databases and MapReduce. Tore Risch Information Technology Uppsala University 2014-05-12 Introduction to NoSQL Databases and MapReduce Tore Risch Information Technology Uppsala University 2014-05-12 What is a NoSQL Database? 1. A key/value store Basic index manager, no complete query language

More information

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 abonilla@suse.com HO5604 Deploying MongoDB A Scalable, Distributed Database with SUSE Cloud Alejandro Bonilla Sales Engineer abonilla@suse.com Agenda SUSE Cloud Overview What is MongoDB? 2 Getting familiar with the Cloud

More information

MongoDB Aggregation and Data Processing Release 3.0.4

MongoDB Aggregation and Data Processing Release 3.0.4 MongoDB Aggregation and Data Processing Release 3.0.4 MongoDB Documentation Project July 08, 2015 Contents 1 Aggregation Introduction 3 1.1 Aggregation Modalities..........................................

More information

An Open Source NoSQL solution for Internet Access Logs Analysis

An Open Source NoSQL solution for Internet Access Logs Analysis An Open Source NoSQL solution for Internet Access Logs Analysis A practical case of why, what and how to use a NoSQL Database Management System instead of a relational one José Manuel Ciges Regueiro

More information

MongoDB Aggregation and Data Processing

MongoDB Aggregation and Data Processing MongoDB Aggregation and Data Processing Release 3.0.8 MongoDB, Inc. December 30, 2015 2 MongoDB, Inc. 2008-2015 This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0

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

Where We Are. References. Cloud Computing. Levels of Service. Cloud Computing History. Introduction to Data Management CSE 344

Where We Are. References. Cloud Computing. Levels of Service. Cloud Computing History. Introduction to Data Management CSE 344 Where We Are Introduction to Data Management CSE 344 Lecture 25: DBMS-as-a-service and NoSQL We learned quite a bit about data management see course calendar Three topics left: DBMS-as-a-service and NoSQL

More information

Data storing and data access

Data storing and data access Data storing and data access Plan Basic Java API for HBase demo Bulk data loading Hands-on Distributed storage for user files SQL on nosql Summary Basic Java API for HBase import org.apache.hadoop.hbase.*

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

Cloudant Querying Options

Cloudant Querying Options Cloudant Querying Options Agenda Indexing Options Primary Views/MapReduce Search Geospatial Cloudant Query Review What s New Live Tutorial 5/20/15 2 Reading & Writing Basics POST / /_bulk_docs

More information

The Cloud to the rescue!

The Cloud to the rescue! The Cloud to the rescue! What the Google Cloud Platform can make for you Aja Hammerly, Developer Advocate twitter.com/thagomizer_rb So what is the cloud? The Google Cloud Platform The Google Cloud Platform

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

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

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms Distributed File System 1 How do we get data to the workers? NAS Compute Nodes SAN 2 Distributed File System Don t move data to workers move workers to the data! Store data on the local disks of nodes

More information

NoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre

NoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre NoSQL systems: introduction and data models Riccardo Torlone Università Roma Tre Why NoSQL? In the last thirty years relational databases have been the default choice for serious data storage. An architect

More information

RDBMS vs NoSQL: Performance and Scaling Comparison

RDBMS vs NoSQL: Performance and Scaling Comparison RDBMS vs NoSQL: Performance and Scaling Comparison Christoforos Hadjigeorgiou August 23, 2013 MSc in High Performance Computing The University of Edinburgh Year of Presentation: 2013 Abstract The massive

More information

Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu

Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu Lecture 4 Introduction to Hadoop & GAE Cloud Application Development (SE808, School of Software, Sun Yat-Sen University) Yabo (Arber) Xu Outline Introduction to Hadoop The Hadoop ecosystem Related projects

More information

Cloudsandra on Brisk. Isidorey www.cloudsandra.com

Cloudsandra on Brisk. Isidorey www.cloudsandra.com Cloudsandra on Brisk Isidorey www.cloudsandra.com Isidorey M2M pla8orm Energy, Transporta>on, Healthcare, Industrial Direct data feeds from devices Adapt on the fly to device s protocol Schema less access

More information

Introduction to MongoDB. Kristina Chodorow kristina@mongodb.org

Introduction to MongoDB. Kristina Chodorow kristina@mongodb.org Introduction to MongoDB Kristina Chodorow kristina@mongodb.org Application PHP Apache Database Linux Application PHP IIS Windows Application PHP Apache Linux Application PHP Apache Linux Application PHP

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

Performance Analysis for NoSQL and SQL

Performance Analysis for NoSQL and SQL Available online at www.ijiere.com International Journal of Innovative and Emerging Research in Engineering e-issn: 2394-3343 p-issn: 2394-5494 Performance Analysis for NoSQL and SQL Ms. Megha Katkar ME

More information

Hadoop IST 734 SS CHUNG

Hadoop IST 734 SS CHUNG Hadoop IST 734 SS CHUNG Introduction What is Big Data?? Bulk Amount Unstructured Lots of Applications which need to handle huge amount of data (in terms of 500+ TB per day) If a regular machine need to

More information

NoSQL Database Options

NoSQL Database Options NoSQL Database Options Introduction For this report, I chose to look at MongoDB, Cassandra, and Riak. I chose MongoDB because it is quite commonly used in the industry. I chose Cassandra because it has

More information

References. Introduction to Database Systems CSE 444. Motivation. Basic Features. Outline: Database in the Cloud. Outline

References. Introduction to Database Systems CSE 444. Motivation. Basic Features. Outline: Database in the Cloud. Outline References Introduction to Database Systems CSE 444 Lecture 24: Databases as a Service YongChul Kwon Amazon SimpleDB Website Part of the Amazon Web services Google App Engine Datastore Website Part of

More information

Introduction to Database Systems CSE 444

Introduction to Database Systems CSE 444 Introduction to Database Systems CSE 444 Lecture 24: Databases as a Service YongChul Kwon References Amazon SimpleDB Website Part of the Amazon Web services Google App Engine Datastore Website Part of

More information

LSST Database Design Jacek Becla

LSST Database Design Jacek Becla LSST Database Design Jacek Becla Database and Data Access Lead October 21-25, 2013 FINAL DESIGN REVIEW October 21-25, 2013 Name of Mee)ng Loca)on Date - Change in Slide Master 1 Outline Driving requirements

More information

WINDOWS AZURE DATA MANAGEMENT AND BUSINESS ANALYTICS

WINDOWS AZURE DATA MANAGEMENT AND BUSINESS ANALYTICS WINDOWS AZURE DATA MANAGEMENT AND BUSINESS ANALYTICS Managing and analyzing data in the cloud is just as important as it is anywhere else. To let you do this, Windows Azure provides a range of technologies

More information

Challenges for Data Driven Systems

Challenges for Data Driven Systems Challenges for Data Driven Systems Eiko Yoneki University of Cambridge Computer Laboratory Quick History of Data Management 4000 B C Manual recording From tablets to papyrus to paper A. Payberah 2014 2

More information

Building a RESTful service with MongoDB and Spring MVC

Building a RESTful service with MongoDB and Spring MVC Building a RESTful service with MongoDB and Spring MVC www.pentalog.fr p e n t a l o g. f r O v i d i u S t a n c i u o s t a n c i u @ p e n t a l o g. f r M a r c h 2 0 1 3 p e n t a l o g. f r 2 Action

More information

CS 4604: Introduc0on to Database Management Systems

CS 4604: Introduc0on to Database Management Systems CS 4604: Introduc0on to Database Management Systems B. Aditya Prakash Lecture #1: Introduc/on Many slides based on material by Profs. Murali, Ramakrishnan and Faloutsos Course Informa0on Instructor B.

More information

Data Management in the Cloud

Data Management in the Cloud Data Management in the Cloud Ryan Stern stern@cs.colostate.edu : Advanced Topics in Distributed Systems Department of Computer Science Colorado State University Outline Today Microsoft Cloud SQL Server

More information

Frictionless Persistence in.net with MongoDB. Mogens Heller Grabe Trifork mhg@trifork.com

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

More information

Cloud Data Management System (CDMS)

Cloud Data Management System (CDMS) Cloud Management System (CMS) Wiqar Chaudry Solu9ons Engineer Senior Advisor CMS Overview he OpenStack cloud data management system features a canonical data modeling framework designed to broker context

More information

DbSchema Tutorial with Introduction in MongoDB

DbSchema Tutorial with Introduction in MongoDB DbSchema Tutorial with Introduction in MongoDB Contents MySql vs MongoDb... 2 Connect to MongoDb... 4 Insert and Query Data... 5 A Schema for MongoDb?... 7 Relational Data Browse... 8 Virtual Relations...

More information