Chris (I’m not a ghost) Woods. What went right (with Mongo) Application design Application development and system migration Application debugging MongoDB.

Slides:



Advertisements
Similar presentations
Login to Top Hat Password Log In Need a Top hat Account – sign up here. I forgot my password You must log in first Display error Messages here.
Advertisements

PHP SQL. Connection code:- mysql_connect("server", "username", "password"); Connect to the Database Server with the authorised user and password. Eg $connect.
Staying in Sync with Cloud 2 Device Messaging. About Me Chris Risner Twitter: chrisrisner.
Methods to enter claims into the OCP ENTERING CLAIMS V Final.
Making Mongo Cry: NoSQL for Penetration Testers
One acronym, one system: using the EMu API to connect your Collections Management System with your Content Management System 2009 European EMu Users Meeting,
Project: Processes and Resource Management Textbook: pages Lubomir Bic.
Keys, Referential Integrity and PHP One to Many on the Web.
BiodiversityCatalogue How-Tos Robert Haines. BiodiversityCatalogue Home Hover over the ‘s for more information!
101 P C O L S Recommended Role: New and Existing Cardholders How to Redeem a Cardholder Token in AIM I N T E R A C T I V E T U T O R I A L.
Module 20 Troubleshooting Common SQL Server 2008 R2 Administrative Issues.
Troy Eversen | 19 May 2015 Data Integrity Workshop.
Improving Software Quality with Continuous Integration
Migrating to EPiServer CMS 5 Johan Björnfot -
Installing and Setting up mongoDB replica set PREPARED BY SUDHEER KONDLA SOLUTIONS ARCHITECT.
MongoDB Sharding and its Threats
RMS Importer/Exporter Create configuration for the MedAustron Control System PP a-ABR_RMSImporterExporter.pptm abrett/mmarchha RMS Importer/Exporter.
Blogs & feeds Jim des Rivieres Oct. 16, Grappling with question of how to present Jazz/OSLC data resources “Pure” data resources are presentation-
Justin Klein Keane Drupal Training Session 1 Introduction to Drupal.
Check That Input Preventing SQL Injection Attacks By Andrew Morton For CS 410.
Software Engineer, #MongoDBDays.
. CEO & Engineering of W: T: / / MCSA. MCSE. CCNA Heng Nida.
PHP Tutorials 02 Olarik Surinta Management Information System Faculty of Informatics.
1 PHP and MySQL. 2 Topics  Querying Data with PHP  User-Driven Querying  Writing Data with PHP and MySQL PHP and MySQL.
Nonprofit? There's an App for That! Drupal Modules for Activism, Donations and other Nonprofit #NYCCamp Benjamin J. Kallos iMediaEDGE
Data File Access API : Under the Hood Simon Horwith CTO Etrilogy Ltd.
Twitter.  Twitter is a social networking and micro-blogging service that enables its users to send and read other user’s updates.
Module 7: Fundamentals of Administering Windows Server 2008.
Tom Castiglia Hershey Technologies
About Me I have been working with sharepoint since 2008 My blog:
TEAM Basic TotalElectrostatic ManagementAwareness&
SharePoint document libraries I: Introduction to sharing files Sharjah Higher Colleges of Technology presents:
1 LCH.Clearnet – Sysgem AG Automated Production Manager Requests Discussion, 24 Aug 2011 WebEx Conference.
Internet Information Systems Writing to Databases and Amending Data.
WEEK 1, DAY 2 STEVE CHENOWETH CSSE DEPT CSSE 533 –INTRO TO MONGODB.
Axel Naumann. Outline  Static Code Analysis  Coverity  Reporting Tools, Report Quality  "Demo": Examples Axel Naumann Application Area Meeting2.
Creating Databases Local storage. join & split Classwork: show 1 table application. Share designs for oscars application. Adaptive select. Homework: [Catch.
ICS 321 Fall 2010 SQL in a Server Environment (i) Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 11/1/20101Lipyeow.
1 Session Number Presentation_ID © 2002, Cisco Systems, Inc. All rights reserved. Using the Cisco TAC Website for Security and Virtual Private Network.
Who am I ? What am I doing here? Twitter: Mind-Flip Blog:
 Empowers to your customer  Product Rating and its Management in Ecommerce Framework  Product Reviews and Management: Collecting customer opinion about.
03 | Express and Databases
Alwayson Availability Groups
Senior Solutions Architect, MongoDB Inc. Massimo Brignoli #MongoDB Introduction to Sharding.
CSC 405: Web Application Engineering II8.1 Web programming using PHP What have we learnt? What have we learnt? Underlying technologies of database supported.
TELL1 command line tools Guido Haefeli EPFL, Lausanne Tutorial for TELL1 users : 25.February
A PC Wakes Up A STORY BY VICTOR NORMAN. Once upon a time…  a PC (we’ll call him “H”) is connected to a network and turned on. Aside: The network looks.
Actionable Logging For Smoother Operation and Faster Recovery Mandi Walls AOL, LLC June 23, 2008 Velocity 2008.
January 9, 2001 Router Plugins (Crossbow) 1 Washington WASHINGTON UNIVERSITY IN ST LOUIS Exercises.
1 © 2005 Cisco Systems, Inc. All rights reserved. Cisco Confidential Session Number Presentation_ID Unity Connection Provisioning API Matt Penning Unity.
SQL Server Management Studio Installation Class Environment Setup.
You Inherited a Database Now What? What you should immediately check and start monitoring for. Tim Radney, Senior DBA for a top 40 US Bank President of.
WHEN DATABASE CORRUPTION STRIKES Presented by Steve Stedman Founder/Owner of Stedman Solution, LLC.
Meta Data Deep Dive Part 1
SCC P2P – Collaboration Made Easy Contract Management training
You Inherited a Database Now What?
Better RESTFul API – Best Practices
How to Redeem a Cardholder Token in AIM
How to Redeem a Cardholder Token in AIM
CARA 3.10 Major New Features
MongoDB Distributed Write and Read
CMPE 280 Web UI Design and Development October 19 Class Meeting
Ashish Pandit IT Architect, Middleware & Integration Services
MongoDB for the SQL DBA.
Bringing Home the Bacon: Grant Writing Basics Unit 7 Grant Submission
Implementing Listening Producers in IBM Sterling Filegateway
You Inherited a Database Now What?
Lecture 5: Functions and Parameters
Let Me Finish... Isolating Write Operations
CS5220 Advanced Topics in Web Programming Introduction to MongoDB
Presentation transcript:

Chris (I’m not a ghost) Woods

What went right (with Mongo) Application design Application development and system migration Application debugging MongoDB Documentation

WWR: Application Design

WWR: VocZie’s Structures Functionality First – What data does the UI need? – What structure would best present that data? Resulting Structures – User Object – Feed Object – Story Object – Comment Object

WWR: MongoDB Structures Collections Objects and their identity The two ways of relating objects – Via pointers (aka _id) – Via embedding

WWR: VocZie’s Object linking User Object – Array of pointers to feeds subscribed Story Object – Pointer to a feed object – One embedded comment object (if available) Comment Object – Pointer to a story object – Pointer to a user object (if available)

WWR: VocZie’s Object linking User Object Feed Object Comment Object Story Object Comment Object * 1

WWR: VocZie’s REST API Examples: /feeds/ /feeds/ /stories /feeds/ /story/ /comments /feeds/ /story/

What went wrong (with Mongo)

VM is just a VM except when it is Hell… Oh yeah, and there are no transactions MongoDB Documentation good…. PHP Driver Documentation..?...?

WWR: The VM from Hell VMs change over time…

WWR: The VM from Hell 500 – Internal server error. There is a problem with the resource you are looking for, and it cannot be displayed.

WWR: The VM from Hell mongod mongod --help for help and startup options Mon Jul 23 14:38:35 [initandlisten] MongoDB starting : pid=26105 port=27017 dbpath=/data/db/ 64-bit ** WARNING: You are running in OpenVZ. This is known to be broken!!!

WWR: The VM from Hell Have I lost all my data ? Can I back up now?

WWR: The VM from Hell The no backup – backup… Check out /var/lib/mongodb

WWR: Transactions UpdateStoriesFromFeed( url ) if ( url is being updated ) then wait for notification else lock out everyone else from updating url fetch and parse stories from feed’s url for each story returned if ( story doesn’t already exist in DB) add story end if end for remove lock preventing anyone else from updating url end if End function

WWR: Implementing a lock manually update if current – Aka Compare and Swap – Atomic MongoDB actions allow for manual creation of locks – Operations#AtomicOperations-TheABANuance Operations#AtomicOperations-TheABANuance

Conclusions Good – No SQL DB is great for avoiding the DAL translation pain – Aid development time – MongoDB Core Documentation is good Bad – Small print – VM compatibility – MongoDB Driver Documentation isn’t as good as the core

Q&A

Who am I ? What am I doing here? Twitter: Mind-Flip Blog: flip.com/theBlogwww.mind- flip.com/theBlog When I think I’m being profound, or funny: