demo


MongoDB, Inc.
(from "humongous") 

What is it?


an open-source document database, and the leading NoSQL database.

Written in C++






Show me?

nosql Database types


  • Document databases pair each key with a complex data structure known as a document. 
  • Graph stores are used to store information about networks, such as social connections. Graph stores include Neo4J and HyperGraphDB.
  • Key-value stores are the simplest NoSQL databases. Some key-value stores, such as Redis, allow each value to have a type, such as "integer", which adds functionality.
  • Wide-column stores such as Cassandra and HBase are optimized for queries over large datasets, and store columns of data together, instead of rows.

mongo Features

  • Document-Oriented Storage: JSON-style documents with dynamic schemas
  • Full Index Support: Index on any attribute
  • Replication & High Availability
  • Auto-Sharding: Scale horizontally
  • Querying: Rich, document-based queries.
  • Fast In-Place Updates: Atomic modifiers for contention-free performance.
  • Map/Reduce: Flexible aggregation and data processing.
  • GridFS: Store files of any size without complicating your stack.
 NoSQL Skills ChartMongoDB-NoSQL Job Skills Graph







http://www.mongodb.org/about/production-deployments/ 








learn




part 2: meteor




Meteor, an ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework

What is spa?





Single Page Application (Buzzword)

what is meteor?


Meteor helps you build a single page app without thinking about the infrastructure


Bio


  • Same JavaScript API on client and server
  • Automatic updating of pages
  • Eliminates need for REST APIs
  • Latency Handling
  • Self-contained application bundles

technology

The best way to manage your application's dependenciesMongoDB, Inc.node.js

support


  • Mac (Official)
  • Linux (Official)
  • Windows (Support coming soon)

installation

$ curl https://install.meteor.com | /bin/sh




hello meteor


  • Create our first app
  • What is in it?

how meteor works


how meteor works


  • Rendering Function
  • You create templates (Handlebars)
  • Document Fragment
  • Meteor watches data for you, regenerates the fragment
  • Observer Pattern, Knockout etc



app structure

  • /client - runs on client only
  • /server - runs on client only
  • /private - assets for server code only
  • /public - fonts, images, static assets
  • /lib - runs before everything else
  • /test - doesn't run anywhere
  • (anything else) - runs on client and server
  • main.* - runs after everything else

packages


All apps use standard application package

Login  with Facebook or Twitter
Coffeescript instead of JS
Bootstrap


Atmosphere

Demo List / Add / Remove

demo




Todo Lists
Wordplay

ddp - distributed data protocol


  • Publish and Subscribe
  • RPC
  • Easy to read, uses EJSON
  • Leaderboard Demo

our own app




Breaths Counter

A totally useless app!

Inspired by: http://breathapp.com/


publishing



By default auto-publish publishes all collections from the server to the client

Not very efficient and a security issue

Turn it off, pub-sub-manually (meteor remove autopublish)

improve the app


  • Login
  • Change user information
  • Use session to remember last value entered
  • Run "add breaths" code on the server
  • Experiment with latency
  • Permissions


deck

By divan

deck

  • 469