44
MongoDB on Azure for Developers Mark Greenway @markkgreenway [email protected] Follow me on twitter now Beat the rush!!

Mongo db on azure for developers

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Mongo db on azure for developers

MongoDB on Azure for Developers

Mark Greenway

@[email protected]

Follow me on twitter now

Beat the rush!!

Page 2: Mongo db on azure for developers

Gold Sponsors

Platium Sponsors

Page 3: Mongo db on azure for developers

What we will talk about

Use Mongo db with C#Patterns for data access /

storage

Page 4: Mongo db on azure for developers

What I won’t cover

Managing serversShardingMassive scaleAbsolutes

Page 5: Mongo db on azure for developers

Why not cover that?

Page 6: Mongo db on azure for developers
Page 7: Mongo db on azure for developers

Dev Team Photo

Page 8: Mongo db on azure for developers

My Biggest Collection (thus far)

Page 9: Mongo db on azure for developers

NoSQLNo ACID –PerformanceScaling Simplicity Not Only SQL

http://css.dzone.com/articles/how-acid-mongodb

Page 10: Mongo db on azure for developers

Mongo itself

Document Database Database

CollectionDocument

Key Value

Single Threaded (its JS!)Server side JS execution

BSON Capped Collections

Page 11: Mongo db on azure for developers

Offerings

Page 12: Mongo db on azure for developers

C# Access

demo

Page 13: Mongo db on azure for developers

Story Time!

Page 14: Mongo db on azure for developers

Schema

Page 15: Mongo db on azure for developers
Page 16: Mongo db on azure for developers

Uptime Robot

www.uptimerobot.com

Page 17: Mongo db on azure for developers
Page 18: Mongo db on azure for developers

So That’s how I used mongo on a project

Page 19: Mongo db on azure for developers

Curveball

Page 20: Mongo db on azure for developers
Page 21: Mongo db on azure for developers
Page 22: Mongo db on azure for developers

Map

Page 23: Mongo db on azure for developers

Reduce

Page 24: Mongo db on azure for developers

Finalize

Page 25: Mongo db on azure for developers

C#

Page 26: Mongo db on azure for developers

PHP internals person, author of Xdebug; OpenStreetMap and mapping enthusiast. Works as PHP Engineer/Evangelist for MongoDB at 10gen. derickrethans.nl

Page 27: Mongo db on azure for developers

Normalizing DataFamiliar with this with SQLBenefitsDrawbacksScenario

Author -- Books

Page 28: Mongo db on azure for developers

De normalizing DataPoint in Time DataThings that will be accessed

togetherTags Join tables

Documents should try to be self sufficient

Embed for Atomicity

Page 29: Mongo db on azure for developers

{    "_id": {        "$uuid": "419265a2-f31e-7f06-f8be-1b1649c3db8f"    },    "PolicyId": 41662,    "TagId": 33,    "TagName": "Engines",    "d": false,    "l": false,    "CurrentVersion": {        "Filename": "Marine Jan10.xls",        "MD5": "67F6D6C62478F0482B1C1006CD2ABC83",        "C": {            "$date": "2010-01-14T19:22:36.407Z"        },        "Usr": "tbridges",        "ContentType": "application/x-msexcel",        "Uri": "8578",        "uploading": false    },

    "Versions": [        {            "Filename": " Marine Jan10 (1).xls ",            "MD5": "8C53285C42B0D8DCEAEAA63125DC248D",            "C": {                "$date": "2010-02-02T13:31:40.970Z"            },            "Usr": "kcameron",            "ContentType": "application/x-msexcel",            "Uri": "9389",            "uploading": false        },        {            "Filename": "Marine Jan10.xls ",            "MD5": "67F6D6C62478F0482B1C1006CD2ABC83",            "C": {                "$date": "2010-01-14T19:22:36.407Z"            },            "Usr": "tbridges",            "ContentType": "application/x-msexcel",            "Uri": "8578",            "uploading": false        },        {            "Filename": " Marine Jan10(1).xls ",            "MD5": "17975AD7D2375CA0FB02F1CAA067CFCC",            "C": {                "$date": "2010-01-22T15:49:24.500Z"            },            "Usr": "kcameron",            "ContentType": "application/x-msexcel",            "Uri": "8945",            "uploading": false        }    ]

Page 30: Mongo db on azure for developers

Now With Linq!

C# Access

Page 31: Mongo db on azure for developers

C# Constructor with Factory

Demo

Page 32: Mongo db on azure for developers

Web API with SQL

My way - CRUD start

Page 33: Mongo db on azure for developers
Page 34: Mongo db on azure for developers

Web API with Mongo

Page 35: Mongo db on azure for developers
Page 36: Mongo db on azure for developers

Demo!Side by Side

Page 37: Mongo db on azure for developers

Giant page of numbersSQL Mongo

Get all Get 1 Create Update Get all Get 1 Create Update1 84 79 257 261 66 49 51 812 81 77 165 157 60 50 46 493 68 68 165 176 53 49 46 474 79 74 254 197 52 47 50 545 87 85 240 302 49 51 48 526 75 62 166 164 50 48 51 467 66 60 162 169 52 47 51 468 80 68 156 191 61 46 48 559 112 69 226 184 85 48 51 48

10 71 66 173 201 50 50 48 47

Page 38: Mongo db on azure for developers

1 2 3 4050

100150200250300350

Orange SQL - Blue Mongo

Page 39: Mongo db on azure for developers

Average Percent Faster

Get all Get 1 Create Update

28% 31% 75% 74%

Page 40: Mongo db on azure for developers

References http://docs.mongodb.org/manual/ 50 Tips and Tricks for MongoDB Developers by Kristina

Chodorow (O’Reilly). Copyright 2011 Kristina Chodorow, 978-1-449-30461-4.

MongoDB Applied Design Patterns by Rick Copeland (O’Reilly). Copyright 2013 Richard D. Copeland, Jr., 978-1-449-34004-9.

Page 41: Mongo db on azure for developers

MongoDB on Azure for

DevelopersMark Greenway

@markkgreenway

[email protected]

Page 42: Mongo db on azure for developers

August 11th – 13th 2014Same Place, Same Time

Page 43: Mongo db on azure for developers

The children who benefit from our camp have medical conditions including arthritis, asthma, cancer, bleeding disorders, gastrointestinal disease, heart disease, and kidney disease. We’ve designed every detail of the camp experience to help our campers leave sickness behind while they’re here.

Page 44: Mongo db on azure for developers

Extra Time?Name a scenario

normalize vs. de-normalize data