Applied NoSQL in.net

Size: px
Start display at page:

Download "Applied NoSQL in.net"

Transcription

1 Applied NoSQL in.net

2 Topics Survey data management world Install mongodb Map C# classes to mongo collections Explore schema design Write queries against mongodb Update records

3 Breaking with tradition is hard Choosing an RDBMS is an axiom of software development When was the last time you considered alternatives to SQL Server or Oracle for your project? Axiom: a statement or proposition that is regarded as being self-evidently true.

4 Why have RDBMSes persisted? They've worked Tool chain support Concurrency / durability Integration DBs DBAs FUD

5 Integration DBs

6 Integration DBs are hard Schemas are complex Are hard to maintain Coordination sucks, is scary Are hard to scale Can be a single point of failure

7 Integration DBs are hard schemas are overly complex

8 Integration DBs are hard coordination is hard (deployment)

9 Integration DBs are hard coordination is hard (development)

10 Integration DBs are hard hard to scale Image credit: johnantoni

11 Integration DBs are hard single point of failure Image credit: PROerocsid

12 Move towards (micro)services The industry is moving away from integration databases This can take the form of SOA: Service oriented architecture Microservices This does not imply NoSQL

13 Move towards (micro)services

14 Move towards (micro)services Services can control their own data stores More schema flexibility Schema evolution More "truth" in code Still need DBAs?

15 Services enable polyglot persistence

16 History of NoSQL June 11th, 2009, San Francisco, USA Johan Oskarsson (from organized a meetup to discuss advances in data storage which were all using distributed databases leveraging clusters. He asked the group for a short term they could use as a hashtag. [1] Eric Evans (not of DDD fame) proposed #NoSQL and it stuck.

17 Michael's NoSQL Definition Database systems which are cluster-friendly and which trade inter-entity relationships for both simplicity and performance.

18 Most popular document db

19 Most popular document db

20 Most wanted

21 MongoDB: Open Source

22 How do you get MongoDB? 1. Download from (not.com!) 2. Run the installer 3. Create a data and log folder 4. Start the server 5. Create a config file (optional) 6. Register as a system service (optional)

23 Config file example systemlog: destination: file path: /mongodb/logs/mongo-service.log logappend: true storage: directoryperdb: true dbpath: /mongodb/data journal: enabled: true processmanagement: fork: true net: bindip: port: setparameter: enablelocalhostauthbypass: false

24 Defining Schemas MongoDB does not have a schema design yet it has an implicit schema Your code is truth C# classes map to MongoDB collections Schema requirements coming (maybe)

25 C# and MongoDB C# classes are mapped to MongoDB collections Excellent control over serialization Top level classes must define an ID field public class Book { public ObjectId Id {get; set;} //... }

26 Getting started with C#: Demo

27 Getting started with C# Creating a Db class is recommended Step 1: Get access to the MongoDatabase public class Db { private readonly IMongoDatabase db; public Db() { var client = new MongoClient(); db = client.getdatabase("bookstore"); } }

28 Getting started with C# Step 2: Create C# class for each collection Id field is required public class Book { public ObjectId Id { get; set; } public string Title { get; set; } public DateTime Published { get; set; } public ObjectId Publisher { get; set; } }

29 Getting started with C# Step 2: Result public class Book // C# { public ObjectId Id { get; set; } public string Title { get; set; } public DateTime Published { get; set; } public ObjectId Publisher { get; set; } } { // JSON / BSON "_id" : ObjectId(" a93bb c12"), "Title" : "Classical Mythology", "Published" : ISODate(" T08:00:00.000Z"), "Publisher" : ObjectId(" f3a93bb a3") }

30 Getting started with C# Step 3: Map each collection and class via a property. public class Db { //... public IMongoCollection<Book> Books { get { return db.getcollection<book>("book"); } } } public IMongoCollection<Publisher> Publishers { get { return db.getcollection<publisher>("publisher"); } }

31 Getting started with C# Step 4: Write some LINQ queries var db = new Db(); var popularbooks = (from b in db.books.asqueryable() where b.ratings.count > 100 select b).take(10).tolist();

32 Modeling relationships public class Book { public ObjectId Id { get; set; } public string Title { get; set; } public List<ObjectId> RatingIds { get; set; } } public class Rating { public ObjectId Id { get; set; } public ObjectId UserId { get; set; } public int Value { get; set; } } Standard "foreign key" style

33 Modeling relationships: embed public class Book { public ObjectId Id { get; set; } public string Title { get; set; } public List<Rating> Rating { get; set; } } public class Rating { public ObjectId UserId { get; set; } public int Value { get; set; } } Embedded document style

34 To Embed or Not Embed MongoDB support enforcing this relationship? yes and no à

35 To Embed or Not Embed MongoDB support enforcing this relationship? Yes

36 How do you decide? You must understand you common access patterns Do you usually want the reviews when you access a book? Embed reviews in books Do you often need reviews without books? Normalize with "weak" foreign keys

37 Is your collection embeddable? Bounded and relatively small? Consider embedding Large or potentially unbounded? You CANNOT embed it

38 Relationships: Demo

39 LINQ Gotchas Not all queries are support (but most are). A hybrid model will usually work best. from b in db.books.asqueryable() where b.ratings.count > 100 select new { b, b.ratings.count }; Crash from b in db.books.asqueryable().asenumerable() where b.ratings.count > 100 select new { b, b.ratings.count }; Client (from b in db.books.asqueryable() where b.ratings.count > 100 // server select b).asenumerable() // client.select(b => new { b, b.ratings.count }); Balanced

40 Inserting documents var cars = new[] { new Car() {Name = "Christine"}, new Car() {Name = "Corvette"}, }; db.cars.insertmany(cars);

41 Updating documents var updatedbooks = from b in db.books.asqueryable() where b.updateddate > newbooksdate select b; foreach (var b in updatedbooks) { b.title = "UPDATED: " + b.title; db.books.replaceone(book => book.id == b.id, b); } Replace the document with updated one by Id.

42 Updating documents public void Save<T>(T doc) where T: IHaveId { IMongoCollection<T> coll = this.getcoll<t>(); if (doc.id!= ObjectId.Empty) { var reslt = coll.replaceone(d => d.id == doc.id, doc); if (reslt.modifiedcount!= 1) throw new Exception("Failed to update document!"); } else { coll.insertone(doc); } } private IMongoCollection<T> GetColl<T>() { if (typeof(t) == typeof(book)) return this.books as IMongoCollection<T>; if (typeof(t) == typeof(publisher)) return this.publishers as IMongoCollection<T>; return null; }

43 Updating documents var updatedbooks = from b in db.books.asqueryable() where b.updateddate > newbooksdate select b; foreach (var b in updatedbooks) { b.title = "UPDATED: " + b.title; db.save(b); } Update or insert, nice and easy now.

44 Get the code and data

45 Want to go deeper? talkpython.fm training.talkpython.fm

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

{SDD} Applied NoSQL in.net. Software Design & Development. Michael

{SDD} Applied NoSQL in.net. Software Design & Development. Michael {SDD} 2015 Software Design & Development Applied NoSQL in.net Michael Kennedy @mkennedy http://blog.michaelckennedy.net Objectives Describe the changes in the world of data management Install MongoDB and

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

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

Extra Notes - Data Stores & APIs - using MongoDB and native driver

Extra Notes - Data Stores & APIs - using MongoDB and native driver Extra Notes - Data Stores & APIs - using MongoDB and native driver Dr Nick Hayward Contents intro install MongoDB running MongoDB using MongoDB Robo 3T basic intro to NoSQL connect to MongoDB from Node.js

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

The Little Mongo DB Schema Design Book

The Little Mongo DB Schema Design Book The Little Mongo DB Schema Design Book Christian Kvalheim This book is for sale at http://leanpub.com/mongodbschemadesign This version was published on 2015-10-09 ISBN 978-1-943846-77-1 This is a Leanpub

More information

The Little Mongo DB Schema Design Book

The Little Mongo DB Schema Design Book The Little Mongo DB Schema Design Book Christian Kvalheim 2014 Christian Kvalheim Tweet This Book! Please help Christian Kvalheim by spreading the word about this book on Twitter! The suggested hashtag

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

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

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 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

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

Spring % of course grade

Spring % of course grade Name SOLUTION Final Score 10 ID Extra Credit Section (circle one): MW 8:30-9:50 TTh 9:30-10:50 TTh 11:00-12:20 10% of course grade 2 1. Anonymous Inner Classes In lecture we walked through the following:

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

Informix NoSQL-SQL-Crossover

Informix NoSQL-SQL-Crossover Informix NoSQL-SQL-Crossover Mongo, Json, REST, and your existing data Sprecher andreas.legner@de.ibm.com Agenda Informix as a Json Document Store NoSQL extending SQL SQL and other Informix technologies

More information

MongoDB. David Murphy MongoDB Practice Manager, Percona

MongoDB. David Murphy MongoDB Practice Manager, Percona MongoDB Click Replication to edit Master and Sharding title style David Murphy MongoDB Practice Manager, Percona Who is this Person and What Does He Know? Former MongoDB Master Former Lead DBA for ObjectRocket,

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

Oracle Data Integrator 12c: Integration and Administration

Oracle Data Integrator 12c: Integration and Administration Oracle University Contact Us: +27 (0)11 319-4111 Oracle Data Integrator 12c: Integration and Administration Duration: 5 Days What you will learn Oracle Data Integrator is a comprehensive data integration

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

Jargons, Concepts, Scope and Systems. Key Value Stores, Document Stores, Extensible Record Stores. Overview of different scalable relational systems

Jargons, Concepts, Scope and Systems. Key Value Stores, Document Stores, Extensible Record Stores. Overview of different scalable relational systems Jargons, Concepts, Scope and Systems Key Value Stores, Document Stores, Extensible Record Stores Overview of different scalable relational systems Examples of different Data stores Predictions, Comparisons

More information

MongoDB Introduction and Red Hat Integration Points. Chad Tindel Solution Architect

MongoDB Introduction and Red Hat Integration Points. Chad Tindel Solution Architect MongoDB Introduction and Red Hat Integration Points Chad Tindel Solution Architect MongoDB Overview 350+ employees 1,000+ customers 13 offices around the world Over $231 million in funding 2 MongoDB The

More information

NOSQL DATABASE SYSTEMS: DECISION GUIDANCE AND TRENDS. Big Data Technologies: NoSQL DBMS (Decision Guidance) - SoSe

NOSQL DATABASE SYSTEMS: DECISION GUIDANCE AND TRENDS. Big Data Technologies: NoSQL DBMS (Decision Guidance) - SoSe NOSQL DATABASE SYSTEMS: DECISION GUIDANCE AND TRENDS h_da Prof. Dr. Uta Störl Big Data Technologies: NoSQL DBMS (Decision Guidance) - SoSe 2017 163 Performance / Benchmarks Traditional database benchmarks

More information

Hi! NET Developer Group Braunschweig!

Hi! NET Developer Group Braunschweig! Hi! NET Developer Group Braunschweig! Über Tobias Dipl. Informatiker (FH) Passionated Software Developer Clean Code Developer.NET Junkie.NET User Group Lead Microsoft PFE Software Development Twitter @Blubern

More information

Dr. Chuck Cartledge. 3 Dec. 2015

Dr. Chuck Cartledge. 3 Dec. 2015 CS-695 NoSQL Database Redis (part 2 of 2) Dr. Chuck Cartledge 3 Dec. 2015 1/14 Table of contents I 1 Miscellanea 2 DB comparisons 3 Assgn. #7 4 Misc. things 6 Course review 7 Conclusion 8 References 5

More information

SQL, NoSQL, MongoDB. CSE-291 (Cloud Computing) Fall 2016 Gregory Kesden

SQL, NoSQL, MongoDB. CSE-291 (Cloud Computing) Fall 2016 Gregory Kesden SQL, NoSQL, MongoDB CSE-291 (Cloud Computing) Fall 2016 Gregory Kesden SQL Databases Really better called Relational Databases Key construct is the Relation, a.k.a. the table Rows represent records Columns

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

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

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

Integrating Oracle Databases with NoSQL Databases for Linux on IBM LinuxONE and z System Servers

Integrating Oracle Databases with NoSQL Databases for Linux on IBM LinuxONE and z System Servers Oracle zsig Conference IBM LinuxONE and z System Servers Integrating Oracle Databases with NoSQL Databases for Linux on IBM LinuxONE and z System Servers Sam Amsavelu Oracle on z Architect IBM Washington

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

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

These are all examples of relatively simple databases. All of the information is textual or referential.

These are all examples of relatively simple databases. All of the information is textual or referential. 1.1. Introduction Databases are pervasive in modern society. So many of our actions and attributes are logged and stored in organised information repositories, or Databases. 1.1.01. Databases Where do

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

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

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

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

Storage Tier. Mendel Rosenblum. CS142 Lecture Notes - Database.js

Storage Tier. Mendel Rosenblum. CS142 Lecture Notes - Database.js Storage Tier Mendel Rosenblum.js Web Application Architecture Web Browser Web Server Storage System HTTP Internet LAN 2 Web App Storage System Properties Always available - Fetch correct app data, store

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

Design Xml Schema For The Given Company Database

Design Xml Schema For The Given Company Database Design Xml Schema For The Given Company Database oxygen provides a powerful and expressive schema diagram editor (Design mode) for editing XML Schemas. The structure of the diagram editor is designed.

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

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data. Managing Data Data storage tool must provide the following features: Data definition (data structuring) Data entry (to add new data) Data editing (to change existing data) Querying (a means of extracting

More information

Painless Persistence. Some guidelines for creating persistent Java applications that work

Painless Persistence. Some guidelines for creating persistent Java applications that work Painless Persistence Some guidelines for creating persistent Java applications that work The Authors Anthony Patricio Senior JBoss Certification Developer Highest volume poster on early Hibernate forums

More information

Goal of the presentation is to give an introduction of NoSQL databases, why they are there.

Goal of the presentation is to give an introduction of NoSQL databases, why they are there. 1 Goal of the presentation is to give an introduction of NoSQL databases, why they are there. We want to present "Why?" first to explain the need of something like "NoSQL" and then in "What?" we go in

More information

Semantic & Immutable Types

Semantic & Immutable Types Semantic & Immutable Types Semantic Type A type that captures exactly one simple concept Semantic Types in.net System DateTime DateTimeOffset Timespan Uri Version System.IO FileInfo DirectoryInfo System.Numerics

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

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

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

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

Scaling DreamFactory

Scaling DreamFactory Scaling DreamFactory This white paper is designed to provide information to enterprise customers about how to scale a DreamFactory Instance. The sections below talk about horizontal, vertical, and cloud

More information

AN ALGORITHM FOR MAPPING THE RELATIONAL DATABASES TO MONGODB A CASE STUDY

AN ALGORITHM FOR MAPPING THE RELATIONAL DATABASES TO MONGODB A CASE STUDY International Journal of Computer Science and Applications, Technomathematics Research Foundation Vol. 14, No. 1, pp. 65 79, 2017 AN ALGORITHM FOR MAPPING THE RELATIONAL DATABASES TO MONGODB A CASE STUDY

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

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

MongoDB Chunks Distribution, Splitting, and Merging. Jason Terpko

MongoDB Chunks Distribution, Splitting, and Merging. Jason Terpko Percona Live 2016 MongoDB Chunks Distribution, Splitting, and Merging Jason Terpko NoSQL DBA, Rackspace/ObjectRocket www.linkedin.com/in/jterpko, jason.terpko@rackspace.com My Story Started out in relational

More information

MongoDB and Mysql: Which one is a better fit for me? Room 204-2:20PM-3:10PM

MongoDB and Mysql: Which one is a better fit for me? Room 204-2:20PM-3:10PM MongoDB and Mysql: Which one is a better fit for me? Room 204-2:20PM-3:10PM About us Adamo Tonete MongoDB Support Engineer Agustín Gallego MySQL Support Engineer Agenda What are MongoDB and MySQL; NoSQL

More information

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav BUILDING MICROSERVICES ON AZURE ~ Vaibhav Gujral @vabgujral About Me Over 11 years of experience Working with Assurant Inc. Microsoft Certified Azure Architect MCSD, MCP, Microsoft Specialist Aspiring

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

Query Languages for Document Stores

Query Languages for Document Stores Query Languages for Document Stores NoSQL matters conference 2013-04-26 Jan Steemann me I'm a software developer working at triagens GmbH on and with Documents Documents documents are self-contained, aggregate

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

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

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

NoSQL: NoInjections or NoSecurity

NoSQL: NoInjections or NoSecurity NoSQL: NoInjections or NoSecurity A Guide to MongoDB Exploitation Stark Riedesel Oct 2016 What is Document Database (NoSQL) Documents = JSON Schema-free Nested documents (No JOINs) BSON for efficiency

More information

Background. vanilladb.org

Background. vanilladb.org Background vanilladb.org Why do you need a database system? 2 To store data, why not just use a file system? 3 Advantages of a Database System It answers queries fast Q1: among a set of blog pages, find

More information

A7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

A7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS A7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered

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

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

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

Database Management Systems Introduction to DBMS

Database Management Systems Introduction to DBMS Database Management Systems Introduction to DBMS D B M G 1 Introduction to DBMS Data Base Management System (DBMS) A software package designed to store and manage databases We are interested in internal

More information

Databases. Jörg Endrullis. VU University Amsterdam

Databases. Jörg Endrullis. VU University Amsterdam Databases Jörg Endrullis VU University Amsterdam Databases A database (DB) is a collection of data with a certain logical structure a specific semantics a specific group of users Databases A database (DB)

More information

NoSQL + SQL = MySQL. Nicolas De Rico Principal Solutions Architect

NoSQL + SQL = MySQL. Nicolas De Rico Principal Solutions Architect NoSQL + SQL = MySQL Nicolas De Rico Principal Solutions Architect nicolas.de.rico@oracle.com Safe Harbor Statement The following is intended to outline our general product direction. It is intended for

More information

How to survive in a BASE world. A practical guide for the dauntless developer

How to survive in a BASE world. A practical guide for the dauntless developer How to survive in a BASE world A practical guide for the dauntless developer Uwe Friedrichsen (codecentric AG) NoSQL matters, Barcelona 30. November 2013 @ufried Uwe Friedrichsen uwe.friedrichsen@codecentric.de

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

MongoDB. Database Initialization. Note

MongoDB. Database Initialization. Note 11 MongoDB Lab Objective: Relational databases, including those managed with SQL or pandas, require data to be organized into tables. However, many data sets have an inherently dynamic structure that cannot

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

Survey of the Azure Data Landscape. Ike Ellis

Survey of the Azure Data Landscape. Ike Ellis Survey of the Azure Data Landscape Ike Ellis Wintellect Core Services Consulting Custom software application development and architecture Instructor Led Training Microsoft s #1 training vendor for over

More information

IBM DB2 JSON An overview of DB capabilities as a JSON document store

IBM DB2 JSON An overview of DB capabilities as a JSON document store IBM DB2 JSON An overview of DB2 10.5 capabilities as a JSON document store Olivier Bernin IBM Session Code: 4 April 16 th, 14:45 Platform: DB2 LUW Agenda Introduction what's JSON, requirements, setting

More information

The age of Big Data Big Data for Oracle Database Professionals

The age of Big Data Big Data for Oracle Database Professionals The age of Big Data Big Data for Oracle Database Professionals Oracle OpenWorld 2017 #OOW17 SessionID: SUN5698 Tom S. Reddy tom.reddy@datareddy.com About the Speaker COLLABORATE & OpenWorld Speaker IOUG

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

Study of NoSQL Database Along With Security Comparison

Study of NoSQL Database Along With Security Comparison Study of NoSQL Database Along With Security Comparison Ankita A. Mall [1], Jwalant B. Baria [2] [1] Student, Computer Engineering Department, Government Engineering College, Modasa, Gujarat, India ank.fetr@gmail.com

More information

Introduction to Relational Databases

Introduction to Relational Databases Introduction to Relational Databases Third La Serena School for Data Science: Applied Tools for Astronomy August 2015 Mauro San Martín msmartin@userena.cl Universidad de La Serena Contents Introduction

More information

Learn about Oracle DECODE and see some examples in this article. section below for an example on how to use the DECODE function in the WHERE clause.

Learn about Oracle DECODE and see some examples in this article. section below for an example on how to use the DECODE function in the WHERE clause. Instruction Decode In Oracle Where Clause Examples I have following requirement for writing a query in oracle. I need to fetch all the records from a Table T1 (it has two date columns D1 and D2)based on

More information

MongoDB: Comparing WiredTiger In-Memory Engine to Redis. Jason Terpko DBA, Rackspace/ObjectRocket 1

MongoDB: Comparing WiredTiger In-Memory Engine to Redis. Jason Terpko DBA, Rackspace/ObjectRocket  1 MongoDB: Comparing WiredTiger In-Memory Engine to Redis Jason Terpko DBA, Rackspace/ObjectRocket www.linkedin.com/in/jterpko 1 Background Started out in relational databases in public education then financial

More information

NoSQL: Redis and MongoDB A.A. 2016/17

NoSQL: Redis and MongoDB A.A. 2016/17 Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica NoSQL: Redis and MongoDB A.A. 2016/17 Matteo Nardelli Laurea Magistrale in Ingegneria Informatica -

More information

NOSQL IMPLEMENTATION OF A CONCEPTUAL DATA MODEL: UML CLASS DIAGRAM TO A DOCUMENT-ORIENTED MODEL

NOSQL IMPLEMENTATION OF A CONCEPTUAL DATA MODEL: UML CLASS DIAGRAM TO A DOCUMENT-ORIENTED MODEL NOSQL IMPLEMENTATION OF A CONCEPTUAL DATA MODEL: UML CLASS DIAGRAM TO A DOCUMENT-ORIENTED MODEL A.BENMAKHLOUF Computer, Networks, Mobility and Modeling Laboratory (IR2M), Faculty of Science and Technology,

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

Working with MongoDB as MySQL DBA. Date: Oct

Working with MongoDB as MySQL DBA. Date: Oct Working with as DBA Date: Oct-5-2016 About us Lead Database Consultant at @Pythian since 2015. Lead Database Consultant @Pythian OSDB managed services since 2014 https://www.linkedin.com/in/martinarrieta

More information

Breaking Barriers: MongoDB Design Patterns. Nikolaos Vyzas & Christos Soulios

Breaking Barriers: MongoDB Design Patterns. Nikolaos Vyzas & Christos Soulios Breaking Barriers: MongoDB Design Patterns Nikolaos Vyzas & Christos Soulios a bit about us and this talk Who we are what we do Christos Soulios Christos is a principal architect at Pythian Delivers Big

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

Data Model Design for MongoDB

Data Model Design for MongoDB Data Model Design for MongoDB Release 3.2.3 MongoDB, Inc. February 17, 2016 2 MongoDB, Inc. 2008-2016 This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 United States

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

CS313D: ADVANCED PROGRAMMING LANGUAGE

CS313D: ADVANCED PROGRAMMING LANGUAGE CS313D: ADVANCED PROGRAMMING LANGUAGE Computer Science department Lecture 11: Connection to Databases Lecture Contents 2 What is a database? Relational databases Cases study: A Books Database Querying

More information

Object-Relational Mapping

Object-Relational Mapping Object-Relational Mapping Object-Relational Mapping Software Architecture ORM Problems ORM Solutions Demo Software Architecture Part 1 Architecture Separation of Concerns A design principle that comprises

More information

A Review to the Approach for Transformation of Data from MySQL to NoSQL

A Review to the Approach for Transformation of Data from MySQL to NoSQL A Review to the Approach for Transformation of Data from MySQL to NoSQL Monika 1 and Ashok 2 1 M. Tech. Scholar, Department of Computer Science and Engineering, BITS College of Engineering, Bhiwani, Haryana

More information

Transformation-free Data Pipelines by combining the Power of Apache Kafka and the Flexibility of the ESB's

Transformation-free Data Pipelines by combining the Power of Apache Kafka and the Flexibility of the ESB's Building Agile and Resilient Schema Transformations using Apache Kafka and ESB's Transformation-free Data Pipelines by combining the Power of Apache Kafka and the Flexibility of the ESB's Ricardo Ferreira

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

MOC 20463C: Implementing a Data Warehouse with Microsoft SQL Server

MOC 20463C: Implementing a Data Warehouse with Microsoft SQL Server MOC 20463C: Implementing a Data Warehouse with Microsoft SQL Server Course Overview This course provides students with the knowledge and skills to implement a data warehouse with Microsoft SQL Server.

More information

MySQL & NoSQL: The Best of Both Worlds

MySQL & NoSQL: The Best of Both Worlds MySQL & NoSQL: The Best of Both Worlds Mario Beck Principal Sales Consultant MySQL mario.beck@oracle.com 1 Copyright 2012, Oracle and/or its affiliates. All rights Safe Harbour Statement The following

More information

SQL Commands & Mongo DB New Syllabus

SQL Commands & Mongo DB New Syllabus Chapter 15 : Computer Science Class XI ( As per CBSE Board) SQL Commands & Mongo DB New Syllabus 2018-19 SQL SQL is an acronym of Structured Query Language.It is a standard language developed and used

More information

Chapter 24 NOSQL Databases and Big Data Storage Systems

Chapter 24 NOSQL Databases and Big Data Storage Systems Chapter 24 NOSQL Databases and Big Data Storage Systems - Large amounts of data such as social media, Web links, user profiles, marketing and sales, posts and tweets, road maps, spatial data, email - NOSQL

More information

KNIME for the life sciences Cambridge Meetup

KNIME for the life sciences Cambridge Meetup KNIME for the life sciences Cambridge Meetup Greg Landrum, Ph.D. KNIME.com AG 12 July 2016 What is KNIME? A bit of motivation: tool blending, data blending, documentation, automation, reproducibility More

More information