Introducing: MongoDB. David J. C. Beach

Size: px
Start display at page:

Download "Introducing: MongoDB. David J. C. Beach"

Transcription

1 Introducing: MongoDB David J. C. Beach

2 David Beach Software Consultant (past 6 years) Python since v1.4 (late 90 s) Design, Algorithms, Data Structures Sometimes Database stuff not a frameworks guy Organizer: Front Range Pythoneers

3 Outline Part I: Trends in Databases Part II: Mongo Basic Usage Part III: Advanced Features

4 Part I: Trends in Databases

5 Database Trends Past: Relational (RDBMS) WARNING: extreme oversimplification Data stored in Tables, Rows, Columns Relationships designated by Primary, Foreign keys Data is controlled & queried via SQL

6 Trends: Criticisms of RDBMS Rigid data model Hard to scale / distribute Slow (transactions, disk seeks) Lots of disagreement over this There are points & counterpoints from both sides The debate is not over Not here to deliver a verdict POINT: This is why we see an explosion of new databases. SQL not well standardized Awkward for modern/dynamic languages

7 As with so many things in technology, we re seeing... FRAGMENTATION! Trends: Fragmentation some examples of DB categories Relational with ORM (Hibernate, SQLAlchemy) ODBMS / ORDBMS (push OO-concepts into database) Key-Value Stores (MemcacheDB, Redis, Cassandra) Graph (neo4j) Document Oriented (Mongo, Couch, etc...) categories are incomplete some don t fit neatly into categories

8 Where Mongo Fits Mongo s Tagline (taken from website) The Best Features of Document Databases, Key-Value Stores, and RDBMSes.

9 What is Mongo Document-Oriented Database Produced by 10gen / Implemented in C++ Source Code Available Runs on Linux, Mac, Windows, Solaris Database: GNU AGPL v3.0 License Drivers: Apache License v2.0

10 Mongo many of these taken straight from home page Advantages json-style documents (dynamic schemas) flexible indexing (B-Tree) replication and highavailability (HA) automatic sharding support (v1.6)* fast queries (auto-tuning planner) fast insert & deletes (sometimes trade-offs) sharding support available as of v1.6 (late July 2010) easy-to-use API

11 Mongo Language Bindings C, C++, Java Python, Ruby, Perl PHP, JavaScript (many more community supported ones)

12 Mongo Disadvantages No Relational Model / SQL No Explicit Transactions / ACID Limited Query API Can mimic with foreign IDs, but referential integrity not enforced. Operations can only be atomic within single collection. (Generally) You can do a lot more with MapReduce and JavaScript!

13 When to use Mongo My personal take on this... Rich semistructured records (Documents) Transaction isolation not essential Humongous amounts of data Need for extreme speed You hate schema migrations Caveat: I ve never used Mongo in Production!

14 Part II: Mongo Basic Usage BRIEFLY cover: - Download, Install, Configure - connection, creating DB, creating Collection - CRUD operations (Insert, Query, Update, Delete)

15 Installing Mongo Use a 64-bit OS (Linux, Mac, Windows) Get Binaries: Run mongod process 32-bit available; not for production PyMongo uses memory-mapped files. 32-bits limits database to 2 GB!

16 Installing PyMongo Download: Build with setuptools (includes C extension for speed) # python setup.py install # python setup.py --no-ext install (to compile without extension)

17 Mongo Anatomy Mongo Server Database Collection Document

18 Getting a Connection Connection required for using Mongo >>> import pymongo >>> connection = pymongo.connection( localhost )

19 Finding a Database Databases = logically separate stores Navigation using properties Will create DB if not found >>> db = connection.mydatabase

20 Using a Collection Collection is analogous to Table Contains documents Will create collection if not found >>> blog = db.blog

21 Inserting collection.insert(document) => document_id >>> entry1 = { title : Mongo Tutorial, body : Here s a document to insert. } >>> blog.insert(entry1) ObjectId('4c3a12eb1d41c ') document

22 Inserting (contd.) Documents must have _id field Automatically generated unless assigned 12-byte unique binary value You can also assign your own _id, can be any unique value. >>> entry1 {'_id': ObjectId('4c3a12eb1d41c '), 'body': "Here's a document to insert.", 'title': 'Mongo Tutorial'} Mongo s IDs are designed to be unique... ID generated by driver. No waiting on DB....even if hundreds of thousands of documents are generated per second, on numerous clustered machines.

23 Inserting (contd.) Documents may have different properties Properties may be atomic, lists, dictionaries >>> entry2 = {"title": "Another Post", "body": "Mongo is powerful", "author": "David", "tags": ["Mongo", "Power"]} >>> blog.insert(entry2) ObjectId('4c3a1a501d41c ') another document

24 Indexing May create index on any field If field is list => index associates all values index by single value >>> blog.ensure_index( author ) >>> blog.ensure_index( tags ) by multiple values

25 Bulk Insert Let s produce 100,000 fake posts bulk_entries = [ ] for i in range(100000): entry = { "title": "Bulk Entry #%i" % (i+1), "body": "What Content!", "author": random.choice(["david", "Robot"]), "tags": ["bulk", random.choice(["red", "Blue", "Green"])] } bulk_entries.append(entry)

26 Bulk Insert (contd.) collection.insert(list_of_documents) Inserts 100,000 entries into blog Returns in 2.11 seconds >>> blog.insert(bulk_entries) [ObjectId(...), ObjectId(...),...]

27 Bulk Insert (contd.) returns in 7.90 seconds (vs seconds) driver returns early; DB is still working...unless you specify safe=true >>> blog.remove() # clear everything >>> blog.insert(bulk_entries, safe=true)

28 Querying collection.find_one(spec) => document spec = document of query parameters >>> blog.find_one({ title : Bulk Entry #12253 }) {u'_id': ObjectId('4c3a1e411d41c a89'), u'author': u'robot', u'body': u'what Content!', u'tags': [u'bulk', u'green'], u'title': u'bulk Entry #99999'} returned in 0.04s - extremely fast No index created for title! presumably, need more entries to effectively test index performance...

29 Querying (Specs) Multiple conditions on document => AND Value for tags is an ANY match >>> blog.find_one({ title : Bulk Entry #12253, tags : Green }) {u'_id': ObjectId('4c3a1e411d41c a89'), u'author': u'robot', u'body': u'what Content!', u'tags': [u'bulk', u'green'], u'title': u'bulk Entry #99999'} presumably, need more entries to effectively test index performance...

30 Querying (Multiple) collection.find(spec) => cursor new items are fetched in bulk (behind the scenes) >>> green_items = [ ] >>> for item in blog.find({ tags : Green }): green_items.append(item) - or - >>> green_items = list(blog.find({ tags : Green }))

31 Querying (Counting) Use the find() method + count() Returns number of matches found >>> blog.find({"tags": "Green"}).count() presumably, need more entries to effectively test index performance...

32 Updating collection.update(spec, document) updates single document matching spec multi=true => updates all matching docs >>> item = blog.find_one({ title : Bulk Entry #12253 }) >>> item.tags.append( New ) >>> blog.update({ _id : item[ _id ]}, item)

33 Deleting use remove(...) it works like find(...) >>> blog.remove({"author":"robot"}, safe=true) Example removed approximately 50% of records. Took 2.48 seconds

34 Part III: Advanced Features

35 Advanced Querying Regular Expressions { tag : re.compile(r ^Green Blue$ )} Nested Values { foo.bar.x : 3} $where Clause (JavaScript)

36 Advanced Querying $lt, $gt, $lte, $gte, $ne $in, $nin, $mod, $all, $size, $exists, $type $or, $not $elemmatch >>> blog.find({ $or : [{ tags : Green }, { tags : Blue }]})

37 Advanced Querying collection.find(...) sort( name ) - sorting limit(...) & skip(...) [like LIMIT & OFFSET] distinct(...) [like SQL s DISTINCT] collection.group(...) - like SQL s GROUP BY won t be showing detailed examples of all these... there are good tutorials online for all of this >>> blog.find().limit(50) # find 50 articles >>> blog.find().sort( title ).limit(30) # 30 titles >>> blog.find().distinct( author ) # unique author more interesting names let s move on to something even

38 Map/Reduce Most powerful querying mechanism collection.map_reduce(mapper, reducer) ultimate in querying power distribute across multiple nodes

39 Map/Reduce Visualized Figure 2-1. MapReduce logical data flow also see: Map/Reduce : A Visual Explanation Diagram Credit: Hadoop: The Definitive Guide by Tom White; O Reilly Books Chapter 2, page 20

40 19OPQ A*2=*LR SELECT Dim1, Dim2, SUM(Measure1) AS MSum, COUNT(*) AS RecordCount, AVG(Measure2) AS MAvg, MIN(Measure1) AS MMin MAX(CASE WHEN Measure2 < 100 THEN Measure2 END) AS MMax FROM DenormAggTable WHERE (Filter1 IN ( A, B )) AND (Filter2 = C ) AND (Filter3 > 123) GROUP BY Dim1, Dim2 HAVING (MMin > 0) ORDER BY RecordCount DESC LIMIT 4, 8! " # $ % ' & ()*+,-./ *2/4*5+123/6)-/,+55-./ *+7/63/8-93/02/7:-/16,/;+2470*2</ )-.+402=/7:-/30>-/*;/7:-/?*)802=/3-7@ A-63+)-3/1+37/B-/ /6==)-=67-.@ C==)-=67-3/.-,-2.02=/*2/)-4*)./4*+273/ 1+37/?607/+2705/;02650>670*2@ A-63+)-3/462/+3-/,)*4-.+)65/5*=04@ D057-)3/:6E-/62/FGAHC470E-G-4*).I 5**802=/3795-@ C==)-=67-/;057-)02=/1+37/B-/6,,50-./7*/ 7:-/)-3+57/3-7</2*7/02/7:-/16,H)-.+4-@ C =J/!K/L =J/I!! " # $ %! & ' db.runcommand({ mapreduce: "DenormAggCollection", query: { filter1: { '$in': [ 'A', 'B' ] }, filter2: 'C', filter3: { '$gt': 123 } }, map: function() { emit( { d1: this.dim1, d2: this.dim2 }, { msum: this.measure1, recs: 1, mmin: this.measure1, mmax: this.measure2 < 100? this.measure2 : 0 } );}, reduce: function(key, vals) { var ret = { msum: 0, recs: 0, mmin: 0, mmax: 0 }; for(var i = 0; i < vals.length; i++) { ret.msum += vals[i].msum; ret.recs += vals[i].recs; if(vals[i].mmin < ret.mmin) ret.mmin = vals[i].mmin; if((vals[i].mmax < 100) && (vals[i].mmax > ret.mmax)) ret.mmax = vals[i].mmax; } return ret; }, finalize: function(key, val) { val.mavg = val.msum / val.recs; return val; }, out: 'result1', verbose: true }); db.result1. find({ mmin: { '$gt': 0 } }). sort({ recs: -1 }). skip(4). limit(8); G-E030*2/$</M)-67-./"N!NIN#IN' G048/F3B*)2-</)048*3B*)2-@*)=

41 Map/Reduce Examples This is me, playing with Map/Reduce

42 Health Clinic Example Person registers with the Clinic Weighs in on the scale 1 year => comes in 100 times

43 Health Clinic Example person = { name : Bob,! weighings : [!! { date : date(2009, 1, 15), weight : 165.0},!! { date : date(2009, 2, 12), weight : 163.2},!!... ] }

44 Map/Reduce Insert Script for i in range(n): person = { 'name': 'person%04i' % i } weighings = person['weighings'] = [ ] std_weight = random.uniform(100, 200) for w in range(100): date = (datetime.datetime(2009, 1, 1) + datetime.timedelta( days=random.randint(0, 365)) weight = random.normalvariate(std_weight, 5.0) weighings.append({ 'date': date, 'weight': weight }) weighings.sort(key=lambda x: x['date']) all_people.append(person)

45 Insert Data LOG-LOG scale Linear scaling Performance Insert s s s 1k 10k 100k

46 Map/Reduce Total Weight by Day map_fn = Code("""function () { this.weighings.foreach(function(z) { emit(z.date, z.weight); }); }""") reduce_fn = Code("""function (key, values) { var total = 0; for (var i = 0; i < values.length; i++) { total += values[i]; } return total; }""") result = people.map_reduce(map_fn, reduce_fn)

47 Map/Reduce Total Weight by Day >>> for doc in result.find(): print doc {u'_id': datetime.datetime(2009, 1, 1, 0, 0), u'value': } {u'_id': datetime.datetime(2009, 1, 2, 0, 0), u'value': } {u'_id': datetime.datetime(2009, 1, 3, 0, 0), u'value': }... lots more...

48 Total Weight by Day Performance MapReduce s s s 1 1k 10k 100k

49 Map/Reduce Weight on Day map_fn = Code("""function () { var target_date = new Date(2009, 9, 5); var pos = bsearch(this.weighings, "date", target_date); var recent = this.weighings[pos]; emit(this._id, { name: this.name, date: recent.date, weight: recent.weight }); };""") reduce_fn = Code("""function (key, values) { return values[0]; };""") result = people.map_reduce(map_fn, reduce_fn, scope={"bsearch": bsearch})

50 Map/Reduce bsearch() function bsearch = Code("""function(array, prop, value) { var min, max, mid, midval; for(min = 0, max = array.length - 1; min <= max; ) { mid = min + Math.floor((max - min) / 2); midval = array[mid][prop]; if(value === midval) { break; } else if(value > midval) { min = mid + 1; } else { max = mid - 1; } } return (midval > value)? mid - 1 : mid; };""")

51 Weight on Day Performance 1000 MapReduce s 10 10s s 1k 10k 100k

52 Weight on Day (Python Version) target_date = datetime.datetime(2009, 10, 5) for person in people.find(): dates = [ w['date'] for w in person['weighings'] ] pos = bisect.bisect_right(dates, target_date) val = person['weighings'][pos]

53 Map/Reduce Performance 1000 MapReduce Python s 108s 26s s 2.2s s 1k 10k 100k

54 Summary

55 Resources PyMongo api.mongodb.org/python MongoDB The Definitive Guide O Reilly

56 END OF SLIDES

57 Chalkboard is not Comic Sans This is Chalkboard, not Comic Sans. This isn t Chalkboard, it s Comic Sans. does it matter, anyway?

Document Object Storage with MongoDB

Document Object Storage with MongoDB Document Object Storage with MongoDB Lecture BigData Analytics Julian M. Kunkel julian.kunkel@googlemail.com University of Hamburg / German Climate Computing Center (DKRZ) 2017-12-15 Disclaimer: Big Data

More information

MongoDB. Kristina Chodorow September 8 th, 2009

MongoDB. Kristina Chodorow September 8 th, 2009 MongoDB Kristina Chodorow September 8 th, 2009 Who am I? Software Engineer at 10gen Java, Perl, PHP, drivers Technique #1: literally scale Technique #1: literally scale (Courtesy of Ask Bjorn Hansen)

More information

NOSQL EGCO321 DATABASE SYSTEMS KANAT POOLSAWASD DEPARTMENT OF COMPUTER ENGINEERING MAHIDOL UNIVERSITY

NOSQL EGCO321 DATABASE SYSTEMS KANAT POOLSAWASD DEPARTMENT OF COMPUTER ENGINEERING MAHIDOL UNIVERSITY NOSQL EGCO321 DATABASE SYSTEMS KANAT POOLSAWASD DEPARTMENT OF COMPUTER ENGINEERING MAHIDOL UNIVERSITY WHAT IS NOSQL? Stands for No-SQL or Not Only SQL. Class of non-relational data storage systems E.g.

More information

Document Databases: MongoDB

Document Databases: MongoDB NDBI040: Big Data Management and NoSQL Databases hp://www.ksi.mff.cuni.cz/~svoboda/courses/171-ndbi040/ Lecture 9 Document Databases: MongoDB Marn Svoboda svoboda@ksi.mff.cuni.cz 28. 11. 2017 Charles University

More information

CIB Session 12th NoSQL Databases Structures

CIB Session 12th NoSQL Databases Structures CIB Session 12th NoSQL Databases Structures By: Shahab Safaee & Morteza Zahedi Software Engineering PhD Email: safaee.shx@gmail.com, morteza.zahedi.a@gmail.com cibtrc.ir cibtrc cibtrc 2 Agenda What is

More information

MongoDB. History. mongodb = Humongous DB. Open-source Document-based High performance, high availability Automatic scaling C-P on CAP.

MongoDB. History. mongodb = Humongous DB. Open-source Document-based High performance, high availability Automatic scaling C-P on CAP. #mongodb MongoDB Modified from slides provided by S. Parikh, A. Im, G. Cai, H. Tunc, J. Stevens, Y. Barve, S. Hei History mongodb = Humongous DB Open-source Document-based High performance, high availability

More information

MongoDB An Overview. 21-Oct Socrates

MongoDB An Overview. 21-Oct Socrates MongoDB An Overview 21-Oct-2016 Socrates Agenda What is NoSQL DB? Types of NoSQL DBs DBMS and MongoDB Comparison Why MongoDB? MongoDB Architecture Storage Engines Data Model Query Language Security Data

More information

MongoDB Tutorial for Beginners

MongoDB Tutorial for Beginners MongoDB Tutorial for Beginners Mongodb is a document-oriented NoSQL database used for high volume data storage. In this tutorial you will learn how Mongodb can be accessed and some of its important features

More information

Open source, high performance database. July 2012

Open source, high performance database. July 2012 Open source, high performance database July 2012 1 Quick introduction to mongodb Data modeling in mongodb, queries, geospatial, updates and map reduce. Using a location-based app as an example Example

More information

NoSQL DBs and MongoDB DATA SCIENCE BOOTCAMP

NoSQL DBs and MongoDB DATA SCIENCE BOOTCAMP NoSQL DBs and MongoDB DATA SCIENCE BOOTCAMP Terminology DBMS: Database management system So;ware which controls the storage, retrieval, dele:on, security, and integrity of data within the database Examples:

More information

High Performance NoSQL with MongoDB

High Performance NoSQL with MongoDB High Performance NoSQL with MongoDB History of NoSQL June 11th, 2009, San Francisco, USA Johan Oskarsson (from http://last.fm/) organized a meetup to discuss advances in data storage which were all using

More information

Advanced Database Project: Document Stores and MongoDB

Advanced Database Project: Document Stores and MongoDB Advanced Database Project: Document Stores and MongoDB Sivaporn Homvanish (0472422) Tzu-Man Wu (0475596) Table of contents Background 3 Introduction of Database Management System 3 SQL vs NoSQL 3 Document

More information

Course Content MongoDB

Course Content MongoDB Course Content MongoDB 1. Course introduction and mongodb Essentials (basics) 2. Introduction to NoSQL databases What is NoSQL? Why NoSQL? Difference Between RDBMS and NoSQL Databases Benefits of NoSQL

More information

OPEN SOURCE DB SYSTEMS TYPES OF DBMS

OPEN SOURCE DB SYSTEMS TYPES OF DBMS OPEN SOURCE DB SYSTEMS Anna Topol 1 TYPES OF DBMS Relational Key-Value Document-oriented Graph 2 DBMS SELECTION Multi-platform or platform-agnostic Offers persistent storage Fairly well known Actively

More information

Cassandra, MongoDB, and HBase. Cassandra, MongoDB, and HBase. I have chosen these three due to their recent

Cassandra, MongoDB, and HBase. Cassandra, MongoDB, and HBase. I have chosen these three due to their recent Tanton Jeppson CS 401R Lab 3 Cassandra, MongoDB, and HBase Introduction For my report I have chosen to take a deeper look at 3 NoSQL database systems: Cassandra, MongoDB, and HBase. I have chosen these

More information

The course modules of MongoDB developer and administrator online certification training:

The course modules of MongoDB developer and administrator online certification training: The course modules of MongoDB developer and administrator online certification training: 1 An Overview of the Course Introduction to the course Table of Contents Course Objectives Course Overview Value

More information

CSE 530A. Non-Relational Databases. Washington University Fall 2013

CSE 530A. Non-Relational Databases. Washington University Fall 2013 CSE 530A Non-Relational Databases Washington University Fall 2013 NoSQL "NoSQL" was originally the name of a specific RDBMS project that did not use a SQL interface Was co-opted years later to refer to

More information

MongoDB Schema Design for. David Murphy MongoDB Practice Manager - Percona

MongoDB Schema Design for. David Murphy MongoDB Practice Manager - Percona MongoDB Schema Design for the Click "Dynamic to edit Master Schema" title World style David Murphy MongoDB Practice Manager - Percona Who is this Person and What Does He Know? Former MongoDB Master Former

More information

dinner in the sky with

dinner in the sky with dinner in the sky with @marcboeker boarding MongoDB MongoDB freebie Document-orientated Storage Document-orientated Storage JSON-Style Documents Document-orientated Storage JSON-Style Documents Scales

More information

RethinkDB. Niharika Vithala, Deepan Sekar, Aidan Pace, and Chang Xu

RethinkDB. Niharika Vithala, Deepan Sekar, Aidan Pace, and Chang Xu RethinkDB Niharika Vithala, Deepan Sekar, Aidan Pace, and Chang Xu Content Introduction System Features Data Model ReQL Applications Introduction Niharika Vithala What is a NoSQL Database Databases that

More information

Index everything One query type Low latency High concurrency. Index nothing Queries as programs High latency Low concurrency

Index everything One query type Low latency High concurrency. Index nothing Queries as programs High latency Low concurrency SCHEMA ON READ Index everything One query type Low latency High concurrency Index nothing Queries as programs High latency Low concurrency Index everything One query type Low latency High concurrency Index

More information

Database Solution in Cloud Computing

Database Solution in Cloud Computing Database Solution in Cloud Computing CERC liji@cnic.cn Outline Cloud Computing Database Solution Our Experiences in Database Cloud Computing SaaS Software as a Service PaaS Platform as a Service IaaS Infrastructure

More information

MongoDB. copyright 2011 Trainologic LTD

MongoDB. copyright 2011 Trainologic LTD MongoDB MongoDB MongoDB is a document-based open-source DB. Developed and supported by 10gen. MongoDB is written in C++. The name originated from the word: humongous. Is used in production at: Disney,

More information

MongoDB w/ Some Node.JS Sprinkles

MongoDB w/ Some Node.JS Sprinkles MongoDB w/ Some Node.JS Sprinkles Niall O'Higgins Author MongoDB and Python O'Reilly @niallohiggins on Twitter niallo@beyondfog.com MongoDB Overview Non-relational (NoSQL) document-oriented database Rich

More information

Introduction to Big Data. NoSQL Databases. Instituto Politécnico de Tomar. Ricardo Campos

Introduction to Big Data. NoSQL Databases. Instituto Politécnico de Tomar. Ricardo Campos Instituto Politécnico de Tomar Introduction to Big Data NoSQL Databases Ricardo Campos Mestrado EI-IC Análise e Processamento de Grandes Volumes de Dados Tomar, Portugal, 2016 Part of the slides used in

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 6 http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411 1 We

More information

MongoDB. An introduction and performance analysis. by Rico Suter

MongoDB. An introduction and performance analysis. by Rico Suter MongoDB An introduction and performance analysis by Rico Suter Contents What is MongoDB Features Queries Performance Conclusion What is MongoDB Databases Collections Documents JSON structured MongoDB Database

More information

MongoDB Step By Step. By B.A.Khivsara Assistant Professor Department of Computer Engineering SNJB s COE,Chandwad

MongoDB Step By Step. By B.A.Khivsara Assistant Professor Department of Computer Engineering SNJB s COE,Chandwad MongoDB Step By Step By B.A.Khivsara Assistant Professor Department of Computer Engineering SNJB s COE,Chandwad Outline Introduction to MongoDB Installation in Ubuntu Starting MongoDB in Ubuntu Basic Operations

More information

Yandex.Classifieds. Vadim Tsesko

Yandex.Classifieds. Vadim Tsesko YoctoDB @ Yandex.Classifieds Vadim Tsesko incubos@ About Backend infrastructure team Services Libraries Frameworks @ Yandex.Classifieds auto.ru auto.yandex.ru rabota.yandex.ru realty.yandex.ru travel.yandex.ru

More information

MongoDB. Nicolas Travers Conservatoire National des Arts et Métiers. MongoDB

MongoDB. Nicolas Travers Conservatoire National des Arts et Métiers. MongoDB Nicolas Travers Conservatoire National des Arts et Métiers 1 Introduction Humongous (monstrous / enormous) NoSQL: Documents Oriented JSon Serialized format: BSon objects Implemented in C++ Keys indexing

More information

Getting to know. by Michelle Darling August 2013

Getting to know. by Michelle Darling August 2013 Getting to know by Michelle Darling mdarlingcmt@gmail.com August 2013 Agenda: What is Cassandra? Installation, CQL3 Data Modelling Summary Only 15 min to cover these, so please hold questions til the end,

More information

Advanced Programming Techniques. Database Systems. Christopher Moretti

Advanced Programming Techniques. Database Systems. Christopher Moretti Advanced Programming Techniques Database Systems Christopher Moretti History Pre-digital libraries Organized by medium, size, shape, content, metadata Record managers (1800s-1950s) manually- indexed punched

More information

Database Architectures

Database Architectures Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL

More information

MongoDB. CSC309 TA: Sukwon Oh

MongoDB. CSC309 TA: Sukwon Oh MongoDB CSC309 TA: Sukwon Oh Review SQL declarative language for querying data tells what to find and not how to find Review RDBMS Characteristics Easy to use Complicated to use it right Fixed schema Difficult

More information

Using the MySQL Document Store

Using the MySQL Document Store Using the MySQL Document Store Alfredo Kojima, Sr. Software Dev. Manager, MySQL Mike Zinner, Sr. Software Dev. Director, MySQL Safe Harbor Statement The following is intended to outline our general product

More information

Topics. History. Architecture. MongoDB, Mongoose - RDBMS - SQL. - NoSQL

Topics. History. Architecture. MongoDB, Mongoose - RDBMS - SQL. - NoSQL Databases Topics History - RDBMS - SQL Architecture - SQL - NoSQL MongoDB, Mongoose Persistent Data Storage What features do we want in a persistent data storage system? We have been using text files to

More information

Introduction to NoSQL Databases

Introduction to NoSQL Databases Introduction to NoSQL Databases Roman Kern KTI, TU Graz 2017-10-16 Roman Kern (KTI, TU Graz) Dbase2 2017-10-16 1 / 31 Introduction Intro Why NoSQL? Roman Kern (KTI, TU Graz) Dbase2 2017-10-16 2 / 31 Introduction

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016 DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.

More information

MONGODB INTERVIEW QUESTIONS

MONGODB INTERVIEW QUESTIONS MONGODB INTERVIEW QUESTIONS http://www.tutorialspoint.com/mongodb/mongodb_interview_questions.htm Copyright tutorialspoint.com Dear readers, these MongoDB Interview Questions have been designed specially

More information

CISC 7610 Lecture 4 Approaches to multimedia databases. Topics: Document databases Graph databases Metadata Column databases

CISC 7610 Lecture 4 Approaches to multimedia databases. Topics: Document databases Graph databases Metadata Column databases CISC 7610 Lecture 4 Approaches to multimedia databases Topics: Document databases Graph databases Metadata Column databases NoSQL architectures: different tradeoffs for different workloads Already seen:

More information

CIS 612 Advanced Topics in Database Big Data Project Lawrence Ni, Priya Patil, James Tench

CIS 612 Advanced Topics in Database Big Data Project Lawrence Ni, Priya Patil, James Tench CIS 612 Advanced Topics in Database Big Data Project Lawrence Ni, Priya Patil, James Tench Abstract Implementing a Hadoop-based system for processing big data and doing analytics is a topic which has been

More information

CSE 344 Final Review. August 16 th

CSE 344 Final Review. August 16 th CSE 344 Final Review August 16 th Final In class on Friday One sheet of notes, front and back cost formulas also provided Practice exam on web site Good luck! Primary Topics Parallel DBs parallel join

More information

Oral Questions and Answers (DBMS LAB) Questions & Answers- DBMS

Oral Questions and Answers (DBMS LAB) Questions & Answers- DBMS Questions & Answers- DBMS https://career.guru99.com/top-50-database-interview-questions/ 1) Define Database. A prearranged collection of figures known as data is called database. 2) What is DBMS? Database

More information

MongoTor Documentation

MongoTor Documentation MongoTor Documentation Release 0.1.0 Marcel Nicolat June 11, 2014 Contents 1 Features 3 2 Contents: 5 2.1 Installation................................................ 5 2.2 Tutorial..................................................

More information

Intro to MongoDB. Alex Sharp.

Intro to MongoDB. Alex Sharp. Intro to MongoDB Alex Sharp twitter: @ajsharp email: ajsharp@frothlogic.com So what is MongoDB? First and foremost... IT S THE NEW HOTNESS!!! omgomgomg SHINY OBJECTS omgomgomg MongoDB (from "humongous")

More information

MongoDB - a No SQL Database What you need to know as an Oracle DBA

MongoDB - a No SQL Database What you need to know as an Oracle DBA MongoDB - a No SQL Database What you need to know as an Oracle DBA David Burnham Aims of this Presentation To introduce NoSQL database technology specifically using MongoDB as an example To enable the

More information

PROFESSIONAL. NoSQL. Shashank Tiwari WILEY. John Wiley & Sons, Inc.

PROFESSIONAL. NoSQL. Shashank Tiwari WILEY. John Wiley & Sons, Inc. PROFESSIONAL NoSQL Shashank Tiwari WILEY John Wiley & Sons, Inc. Examining CONTENTS INTRODUCTION xvil CHAPTER 1: NOSQL: WHAT IT IS AND WHY YOU NEED IT 3 Definition and Introduction 4 Context and a Bit

More information

High-Performance Distributed DBMS for Analytics

High-Performance Distributed DBMS for Analytics 1 High-Performance Distributed DBMS for Analytics 2 About me Developer, hardware engineering background Head of Analytic Products Department in Yandex jkee@yandex-team.ru 3 About Yandex One of the largest

More information

Module - 17 Lecture - 23 SQL and NoSQL systems. (Refer Slide Time: 00:04)

Module - 17 Lecture - 23 SQL and NoSQL systems. (Refer Slide Time: 00:04) Introduction to Morden Application Development Dr. Gaurav Raina Prof. Tanmai Gopal Department of Computer Science and Engineering Indian Institute of Technology, Madras Module - 17 Lecture - 23 SQL and

More information

By Prof. Bhavana A.Khivsara

By Prof. Bhavana A.Khivsara By Prof. Bhavana A.Khivsara Introduction to MongoDB Installation in Windows Starting MongoDB in Windows Basic Operations CRUD Operations Indexing Aggregation XAMPP Installation PHP-Mongo setting in XAMPP

More information

MongoDB Security Checklist

MongoDB Security Checklist MongoDB Security Checklist Tim Vaillancourt Sr Technical Operations Architect, Percona Speaker Name `whoami` { name: tim, lastname: vaillancourt, employer: percona, techs: [ mongodb, mysql, cassandra,

More information

Kim Greene - Introduction

Kim Greene - Introduction Kim Greene kim@kimgreene.com 507-216-5632 Skype/Twitter: iseriesdomino Copyright Kim Greene Consulting, Inc. All rights reserved worldwide. 1 Kim Greene - Introduction Owner of an IT consulting company

More information

MEAN Stack. 1. Introduction. 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts

MEAN Stack. 1. Introduction. 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts MEAN Stack 1. Introduction 2. Foundation a. The Node.js framework b. Installing Node.js c. Using Node.js to execute scripts 3. Node Projects a. The Node Package Manager b. Creating a project c. The package.json

More information

Voldemort. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation

Voldemort. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation Voldemort Smruti R. Sarangi Department of Computer Science Indian Institute of Technology New Delhi, India Smruti R. Sarangi Leader Election 1/29 Outline 1 2 3 Smruti R. Sarangi Leader Election 2/29 Data

More information

NoSQL systems. Lecture 21 (optional) Instructor: Sudeepa Roy. CompSci 516 Data Intensive Computing Systems

NoSQL systems. Lecture 21 (optional) Instructor: Sudeepa Roy. CompSci 516 Data Intensive Computing Systems CompSci 516 Data Intensive Computing Systems Lecture 21 (optional) NoSQL systems Instructor: Sudeepa Roy Duke CS, Spring 2016 CompSci 516: Data Intensive Computing Systems 1 Key- Value Stores Duke CS,

More information

Hustle Documentation. Release 0.1. Tim Spurway

Hustle Documentation. Release 0.1. Tim Spurway Hustle Documentation Release 0.1 Tim Spurway February 26, 2014 Contents 1 Features 3 2 Getting started 5 2.1 Installing Hustle............................................. 5 2.2 Hustle Tutorial..............................................

More information

Download Studio 3T from

Download Studio 3T from Download Studio 3T from https://studio3t.com/download/ Request a student license from the company. Expect email with a license key from the company. Start up Studio 3T. In Studio 3T go to Help > License

More information

Brad Dayley. Sams Teach Yourself. NoSQL with MongoDB. SAMS 800 East 96th Street, Indianapolis, Indiana, USA

Brad Dayley. Sams Teach Yourself. NoSQL with MongoDB. SAMS 800 East 96th Street, Indianapolis, Indiana, USA Brad Dayley Sams Teach Yourself NoSQL with MongoDB SAMS 800 East 96th Street, Indianapolis, Indiana, 46240 USA Table of Contents Introduction 1 How This Book Is Organized 1 Code Examples 2 Special Elements

More information

Group13: Siddhant Deshmukh, Sudeep Rege, Sharmila Prakash, Dhanusha Varik

Group13: Siddhant Deshmukh, Sudeep Rege, Sharmila Prakash, Dhanusha Varik Group13: Siddhant Deshmukh, Sudeep Rege, Sharmila Prakash, Dhanusha Varik mongodb (humongous) Introduction What is MongoDB? Why MongoDB? MongoDB Terminology Why Not MongoDB? What is MongoDB? DOCUMENT STORE

More information

DATABASES SQL INFOTEK SOLUTIONS TEAM

DATABASES SQL INFOTEK SOLUTIONS TEAM DATABASES SQL INFOTEK SOLUTIONS TEAM TRAINING@INFOTEK-SOLUTIONS.COM Databases 1. Introduction in databases 2. Relational databases (SQL databases) 3. Database management system (DBMS) 4. Database design

More information

ICALEPS 2013 Exploring No-SQL Alternatives for ALMA Monitoring System ADC

ICALEPS 2013 Exploring No-SQL Alternatives for ALMA Monitoring System ADC ICALEPS 2013 Exploring No-SQL Alternatives for ALMA Monitoring System Overview The current paradigm (CCL and Relational DataBase) Propose of a new monitor data system using NoSQL Monitoring Storage Requirements

More information

Distributed Databases: SQL vs NoSQL

Distributed Databases: SQL vs NoSQL Distributed Databases: SQL vs NoSQL Seda Unal, Yuchen Zheng April 23, 2017 1 Introduction Distributed databases have become increasingly popular in the era of big data because of their advantages over

More information

MongoDB 2.2 and Big Data

MongoDB 2.2 and Big Data MongoDB 2.2 and Big Data Christian Kvalheim Team Lead Engineering, EMEA christkv@10gen.com @christkv christiankvalheim.com From here... http://bit.ly/ot71m4 ...to here... http://bit.ly/oxcsis ...without

More information

MongoDB Schema Design

MongoDB Schema Design MongoDB Schema Design Demystifying document structures in MongoDB Jon Tobin @jontobs MongoDB Overview NoSQL Document Oriented DB Dynamic Schema HA/Sharding Built In Simple async replication setup Automated

More information

Scaling for Humongous amounts of data with MongoDB

Scaling for Humongous amounts of data with MongoDB Scaling for Humongous amounts of data with MongoDB Alvin Richards Technical Director, EMEA alvin@10gen.com @jonnyeight alvinonmongodb.com From here... http://bit.ly/ot71m4 ...to here... http://bit.ly/oxcsis

More information

Outline for today. Introduction to NoSQL. MongoDB. Architecture. NoSQL Assumptions and the CAP Theorem Strengths and weaknesses of NoSQL

Outline for today. Introduction to NoSQL. MongoDB. Architecture. NoSQL Assumptions and the CAP Theorem Strengths and weaknesses of NoSQL Outline for today Introduction to NoSQL Architecture Sharding Replica sets NoSQL Assumptions and the CAP Theorem Strengths and weaknesses of NoSQL MongoDB Functionality Examples 2 Taxonomy of NoSQL Key-value

More information

MySQL Document Store. How to replace a NoSQL database by MySQL without effort but with a lot of gains?

MySQL Document Store. How to replace a NoSQL database by MySQL without effort but with a lot of gains? 1 / 71 2 / 71 3 / 71 MySQL Document Store How to replace a NoSQL database by MySQL without effort but with a lot of gains? Percona University, Ghent, Belgium June 2017 Frédéric Descamps - MySQL Community

More information

Online Multimedia Winter semester 2015/16

Online Multimedia Winter semester 2015/16 Multimedia im Netz Online Multimedia Winter semester 2015/16 Tutorial 09 Major Subject Ludwig-Maximilians-Universität München Online Multimedia WS 2015/16 - Tutorial 09-1 Today s Agenda Discussion: Intellectual

More information

Module - P7 Lecture - 15 Practical: Interacting with a DBMS

Module - P7 Lecture - 15 Practical: Interacting with a DBMS Introduction to Modern Application Development Prof. Tanmai Gopal Department of Computer Science and Engineering Indian Institute of Technology, Madras Module - P7 Lecture - 15 Practical: Interacting with

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course,

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016-2017 AGENDA FOR TODAY The final project Advanced Mysql Database programming Recap: DB servers in the web Web programming

More information

Motivation Overview of NoSQL space Comparing technologies used Getting hands dirty tutorial section

Motivation Overview of NoSQL space Comparing technologies used Getting hands dirty tutorial section NOSQL 1 GOAL Motivation Overview of NoSQL space Comparing technologies used Getting hands dirty tutorial section 2 MOTIVATION Assume we have a product that becomes popular 3. 1 TYPICAL WEBSERVER ARCHITECTURE

More information

MongoDB Web Architecture

MongoDB Web Architecture MongoDB Web Architecture MongoDB MongoDB is an open-source, NoSQL database that uses a JSON-like (BSON) document-oriented model. Data is stored in collections (rather than tables). - Uses dynamic schemas

More information

Final Exam Review 2. Kathleen Durant CS 3200 Northeastern University Lecture 23

Final Exam Review 2. Kathleen Durant CS 3200 Northeastern University Lecture 23 Final Exam Review 2 Kathleen Durant CS 3200 Northeastern University Lecture 23 QUERY EVALUATION PLAN Representation of a SQL Command SELECT {DISTINCT} FROM {WHERE

More information

What do you mean, Backwards Compatibility?

What do you mean, Backwards Compatibility? #gotober What do you mean, Backwards Compatibility? Trisha Gee, Java Driver Developer @trisha_gee Friday, 18 October 13 What s the problem? The Domain MongoDB is an open-source document database, featuring:

More information

CSE 344 JULY 9 TH NOSQL

CSE 344 JULY 9 TH NOSQL CSE 344 JULY 9 TH NOSQL ADMINISTRATIVE MINUTIAE HW3 due Wednesday tests released actual_time should have 0s not NULLs upload new data file or use UPDATE to change 0 ~> NULL Extra OOs on Mondays 5-7pm in

More information

Percona Live Updated Sharding Guidelines in MongoDB 3.x with Storage Engine Considerations. Kimberly Wilkins

Percona Live Updated Sharding Guidelines in MongoDB 3.x with Storage Engine Considerations. Kimberly Wilkins Percona Live 2016 Updated Sharding Guidelines in MongoDB 3.x with Storage Engine Considerations Kimberly Wilkins Principal Engineer - Databases, Rackspace/ ObjectRocket www.linkedin.com/in/wilkinskimberly,

More information

CGS 3066: Spring 2017 SQL Reference

CGS 3066: Spring 2017 SQL Reference CGS 3066: Spring 2017 SQL Reference Can also be used as a study guide. Only covers topics discussed in class. This is by no means a complete guide to SQL. Database accounts are being set up for all students

More information

Scala, Your Next Programming Language

Scala, Your Next Programming Language Scala, Your Next Programming Language (or if it is good enough for Twitter, it is good enough for me) WORLDCOMP 2011 By Dr. Mark C. Lewis Trinity University Disclaimer I am writing a Scala textbook that

More information

3 / 120. MySQL 8.0. Frédéric Descamps - MySQL Community Manager - Oracle

3 / 120. MySQL 8.0. Frédéric Descamps - MySQL Community Manager - Oracle 1 / 120 2 / 120 3 / 120 MySQL 8.0 a Document Store with all the benefits of a transactional RDBMS Frédéric Descamps - MySQL Community Manager - Oracle 4 / 120 Save the date! 5 / 120 Safe Harbor Statement

More information

Saturday, 5 September Good Morning.

Saturday, 5 September Good Morning. Good Morning. Good Morning! ank you for inviting me. Saturday, 5 September 2009 Who? Jan Lehnardt Hacker Entrepreneur capitalizing words say we mean it I come from The Web Open Source makes me happy again!

More information

Making MongoDB Accessible to All. Brody Messmer Product Owner DataDirect On-Premise Drivers Progress Software

Making MongoDB Accessible to All. Brody Messmer Product Owner DataDirect On-Premise Drivers Progress Software Making MongoDB Accessible to All Brody Messmer Product Owner DataDirect On-Premise Drivers Progress Software Agenda Intro to MongoDB What is MongoDB? Benefits Challenges and Common Criticisms Schema Design

More information

Databases and Big Data Today. CS634 Class 22

Databases and Big Data Today. CS634 Class 22 Databases and Big Data Today CS634 Class 22 Current types of Databases SQL using relational tables: still very important! NoSQL, i.e., not using relational tables: term NoSQL popular since about 2007.

More information

The NoSQL movement. CouchDB as an example

The NoSQL movement. CouchDB as an example The NoSQL movement CouchDB as an example About me sleepnova - I'm a freelancer Interests: emerging technology, digital art web, embedded system, javascript, programming language Some of my works: Chrome

More information

BIG DATA TECHNOLOGIES: WHAT EVERY MANAGER NEEDS TO KNOW ANALYTICS AND FINANCIAL INNOVATION CONFERENCE JUNE 26-29,

BIG DATA TECHNOLOGIES: WHAT EVERY MANAGER NEEDS TO KNOW ANALYTICS AND FINANCIAL INNOVATION CONFERENCE JUNE 26-29, BIG DATA TECHNOLOGIES: WHAT EVERY MANAGER NEEDS TO KNOW ANALYTICS AND FINANCIAL INNOVATION CONFERENCE JUNE 26-29, 2016 1 OBJECTIVES ANALYTICS AND FINANCIAL INNOVATION CONFERENCE JUNE 26-29, 2016 2 WHAT

More information

5/2/16. Announcements. NoSQL Motivation. The New Hipster: NoSQL. Serverless. What is the Problem? Database Systems CSE 414

5/2/16. Announcements. NoSQL Motivation. The New Hipster: NoSQL. Serverless. What is the Problem? Database Systems CSE 414 Announcements Database Systems CSE 414 Lecture 16: NoSQL and JSon Current assignments: Homework 4 due tonight Web Quiz 6 due next Wednesday [There is no Web Quiz 5 Today s lecture: JSon The book covers

More information

MySQL Performance Improvements

MySQL Performance Improvements Taking Advantage of MySQL Performance Improvements Baron Schwartz, Percona Inc. Introduction About Me (Baron Schwartz) Author of High Performance MySQL 2 nd Edition Creator of Maatkit, innotop, and so

More information

NoSQL Databases. Amir H. Payberah. Swedish Institute of Computer Science. April 10, 2014

NoSQL Databases. Amir H. Payberah. Swedish Institute of Computer Science. April 10, 2014 NoSQL Databases Amir H. Payberah Swedish Institute of Computer Science amir@sics.se April 10, 2014 Amir H. Payberah (SICS) NoSQL Databases April 10, 2014 1 / 67 Database and Database Management System

More information

Database Systems CSE 414

Database Systems CSE 414 Database Systems CSE 414 Lecture 16: NoSQL and JSon CSE 414 - Spring 2016 1 Announcements Current assignments: Homework 4 due tonight Web Quiz 6 due next Wednesday [There is no Web Quiz 5] Today s lecture:

More information

NoSQL Databases MongoDB vs Cassandra. Kenny Huynh, Andre Chik, Kevin Vu

NoSQL Databases MongoDB vs Cassandra. Kenny Huynh, Andre Chik, Kevin Vu NoSQL Databases MongoDB vs Cassandra Kenny Huynh, Andre Chik, Kevin Vu Introduction - Relational database model - Concept developed in 1970 - Inefficient - NoSQL - Concept introduced in 1980 - Related

More information

Natural Born Killers, performance issues to avoid

Natural Born Killers, performance issues to avoid Natural Born Killers, performance issues to avoid Richard Douglas http://sql.richarddouglas.co.uk @SQLRich Natural Born Killer http://www.flickr.com/photos/merille/4747615138/sizes/z/in/photostream/ 2

More information

relational Key-value Graph Object Document

relational Key-value Graph Object Document NoSQL Databases Earlier We have spent most of our time with the relational DB model so far. There are other models: Key-value: a hash table Graph: stores graph-like structures efficiently Object: good

More information

HBase vs Neo4j. Technical overview. Name: Vladan Jovičić CR09 Advanced Scalable Data (Fall, 2017) Ecolé Normale Superiuere de Lyon

HBase vs Neo4j. Technical overview. Name: Vladan Jovičić CR09 Advanced Scalable Data (Fall, 2017) Ecolé Normale Superiuere de Lyon HBase vs Neo4j Technical overview Name: Vladan Jovičić CR09 Advanced Scalable Data (Fall, 2017) Ecolé Normale Superiuere de Lyon 12th October 2017 1 Contents 1 Introduction 3 2 Overview of HBase and Neo4j

More information

DATABASE DESIGN II - 1DL400

DATABASE DESIGN II - 1DL400 DATABASE DESIGN II - 1DL400 Fall 2016 A second course in database systems http://www.it.uu.se/research/group/udbl/kurser/dbii_ht16 Kjell Orsborn Uppsala Database Laboratory Department of Information Technology,

More information

THE ATLAS DISTRIBUTED DATA MANAGEMENT SYSTEM & DATABASES

THE ATLAS DISTRIBUTED DATA MANAGEMENT SYSTEM & DATABASES 1 THE ATLAS DISTRIBUTED DATA MANAGEMENT SYSTEM & DATABASES Vincent Garonne, Mario Lassnig, Martin Barisits, Thomas Beermann, Ralph Vigne, Cedric Serfon Vincent.Garonne@cern.ch ph-adp-ddm-lab@cern.ch XLDB

More information

Ruby on Rails. SITC Workshop Series American University of Nigeria FALL 2017

Ruby on Rails. SITC Workshop Series American University of Nigeria FALL 2017 Ruby on Rails SITC Workshop Series American University of Nigeria FALL 2017 1 Evolution of Web Web 1.x Web 1.0: user interaction == server roundtrip Other than filling out form fields Every user interaction

More information

מרכז התמחות DBA. NoSQL and MongoDB תאריך: 3 דצמבר 2015 מציג: רז הורוביץ, ארכיטקט מרכז ההתמחות

מרכז התמחות DBA. NoSQL and MongoDB תאריך: 3 דצמבר 2015 מציג: רז הורוביץ, ארכיטקט מרכז ההתמחות מרכז התמחות DBA NoSQL and MongoDB תאריך: 3 דצמבר 2015 מציג: רז הורוביץ, ארכיטקט מרכז ההתמחות Raziel.Horovitz@tangram-soft.co.il Matrix IT work Copyright 2013. Do not remove source or Attribution from any

More information

Evaluation Guide for ASP.NET Web CMS and Experience Platforms

Evaluation Guide for ASP.NET Web CMS and Experience Platforms Evaluation Guide for ASP.NET Web CMS and Experience Platforms CONTENTS Introduction....................... 1 4 Key Differences...2 Architecture:...2 Development Model...3 Content:...4 Database:...4 Bonus:

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 Leveraging the NoSQL boom 2 Why NoSQL? In the last fourty years relational databases have been the default choice for serious

More information

NoSQL Injection SEC642. Advanced Web App Penetration Testing, Ethical Hacking, and Exploitation Techniques S

NoSQL Injection SEC642. Advanced Web App Penetration Testing, Ethical Hacking, and Exploitation Techniques S SEC642 Advanced Web App Penetration Testing, Ethical Hacking, and Exploitation Techniques S NoSQL Injection Copyright 2012-2018 Justin Searle and Adrien de Beaupré All Rights Reserved Version D01_01 About

More information

Overview. * Some History. * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL. * NoSQL Taxonomy. *TowardsNewSQL

Overview. * Some History. * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL. * NoSQL Taxonomy. *TowardsNewSQL * Some History * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL * NoSQL Taxonomy * Towards NewSQL Overview * Some History * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL * NoSQL Taxonomy *TowardsNewSQL NoSQL

More information