Top Banner
MongoDB
31

Mongodb open data day 2014

May 06, 2015

Download

Technology

David Green

MongoDB Presentation given at RDU Open Data Day, 2014
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mongodb open data day 2014

MongoDB

Page 2: Mongodb open data day 2014

AGENDA

• Introduction

• NoSQL

• MongoDB

• Concepts/Fundamentals

• Working with MongoDB (hands-on)

Page 3: Mongodb open data day 2014

WHO AM I?

• Software Developer/Architect/Consultant for 15 years.

• Working in the .NET stack (mainly in the web space) since 2001.

• Started getting interested in MongoDB about 2-3 years ago.

David Green

@davidjeetabout.me/davidgreen24

Page 4: Mongodb open data day 2014

WHERE DOES THIS TALK FIT IN?

Page 5: Mongodb open data day 2014

CLASSIC N-TIER ARCHITECTURE

User Interface (UI)

Business Layer/Service

Data LayerYou Are Here

Page 6: Mongodb open data day 2014

AGENDA

• Introduction

• NoSQL

• MongoDB

• Concepts/Fundamentals

• Working with MongoDB (hands-on)

Page 7: Mongodb open data day 2014

WHAT IS NOSQL?

Page 8: Mongodb open data day 2014

All Databases

Relational Databases (Oracle, mySQL,

Postgres, SQL Server)

NoSQL(MongoDB, Redis, Neo4J, Cassandra,

Hbase)

Page 9: Mongodb open data day 2014

No schema enforcedOpen source

Designed to run on large clusters

Not using the relational model

Model not using the SQL

language)

What is NoSQL?Martin Fowler: Some characteristics are common amongst these databases, but none are definitional.

Page 10: Mongodb open data day 2014

NoSQL Database Families*

• HBase• Cassandra• Hypertable

Columnar • Redis

• Riak• Memcached• Voldemort

Key-value

• MongoDB• CouchDB• RavenDB

Document • Neo4J

• GiraffeDB• InfiniteGraph

Graph

* “Seven Databases in Seven Weeks”, Eric Redmond and Jim R. Wilson

Page 11: Mongodb open data day 2014
Page 12: Mongodb open data day 2014

memCachedX

SQL ServerX

MongoDB

X

Page 13: Mongodb open data day 2014

WHO USES THIS NOSQL STUFF?

Page 14: Mongodb open data day 2014
Page 15: Mongodb open data day 2014

AGENDA

• Introduction

• NoSQL

• MongoDB

• Concepts/Fundamentals

• Working with MongoDB (hands-on)

Page 16: Mongodb open data day 2014

WHAT IS MONGODB?

Page 17: Mongodb open data day 2014

WHAT IS MONGODB?

Open source NoSQL

database

Document-oriented

Stores JSON-like documents

(dynamic schemas)

Includes a strong query

language (Javascript)

Powerful, flexible

indexing (including

geospatial)

Sharding and replication

Cross-Platform (many drivers – e.g. C#, Java, Python, Ruby)

Page 18: Mongodb open data day 2014

Why MongoDB?

1. Open Source - no licensing fees.

2. Relatively developer friendly and easy to ramp up.

3. Fast reads.

Page 19: Mongodb open data day 2014

MongoDB Search Trends – Google

Page 20: Mongodb open data day 2014

WHEN NOT TO USE MONGODB

• Relationships/Join

• Transactions

• Write Safety (High volume of writes/sec. scenarios)

When one or more of the following are insurmountable even after modeling:

Page 21: Mongodb open data day 2014

AGENDA

• Introduction

• NoSQL

• MongoDB

• Concepts/Fundamentals

• Working with MongoDB (hands-on)

Page 22: Mongodb open data day 2014

MONGODB FUNDAMENTALS

Page 23: Mongodb open data day 2014

10GEN QUICK REFERENCE CARD

Page 24: Mongodb open data day 2014

MONGODB - JSON & BSON

JSON Number String Boolean Array Object null

BSON = JSON + ObjectId DateTime Byte Arrays GeoSpatial

Page 25: Mongodb open data day 2014

EXAMPLE BSON DOCUMENT{ "_id" : ObjectId("5218282429f4a04648f64870"), "Title": "What's new in MongoDB 2.4", "Content" : "MongoDB 2.4 represents hundreds of

improvements and features driven by user requests...",

"Author" : { "FirstName" : "David", "LastName" : "Green" }, "CreatedOn" : ISODate("2013-07-19T01:30:52Z"), "LastModifiedOn" : ISODate("2013-08-24T03:27:32Z"), "Comments" : [], "Tags" : [ ”Databases", ”Features", "NoSQL", "MongoDB" ]}

Page 26: Mongodb open data day 2014

INSTALLING MONGO

Page 27: Mongodb open data day 2014

MONGODB DATABASE INSTALL

Starting Up the Server

Page 28: Mongodb open data day 2014

USING THE CONSOLE

Page 29: Mongodb open data day 2014

AGENDA

• Introduction

• NoSQL

• MongoDB

• Concepts/Fundamentals

• Working with MongoDB (hands-on)

Page 30: Mongodb open data day 2014

https://github.com/davidjeet/OpenDataDay/

Page 31: Mongodb open data day 2014

THE END