22
NodeJS + NoSQL Shamod Lacoul NoSQLNow 2011

Node.js + NoSQL

Embed Size (px)

DESCRIPTION

A talk on NodeJS + NoSQL at NoSQLNow2011 in San Jose, CA.

Citation preview

Page 1: Node.js + NoSQL

NodeJS + NoSQL

Shamod Lacoul

NoSQLNow 2011

Page 2: Node.js + NoSQL

whoami

CEO of Netoprise - we make social B2B Collaboration platform

NodeJS fan

Java coder

BPM integration consultant

Co-organizer of Silicon Valley Semantic Technology meetup

Page 3: Node.js + NoSQL

NodeJS: Server-side Javascript

Evented I/O framework

on top of

V8 javascript by Google

Page 4: Node.js + NoSQL

Node code

var http = require('http');

http.createServer(function (req, res) { res.sendHeader(200, {'Content-Type': 'text/plain'}); res.sendBody('Hello World!'); res.finish(); }).listen(8000);

console.log('Listening on port 8000');

Page 5: Node.js + NoSQL

MVC in NodeJS

ExpressJS - Sinatra-like (in Ruby on Rails) web framework

Jade - html template

Page 6: Node.js + NoSQL

Useful NodeJS Development Packages

Node Package Manager (npm) - package installer

Nodemon - auto-detection node watcher

Node-inspector - browser-based debugger

Vows.js - Behavior-Driven Development (BDD)

Page 7: Node.js + NoSQL

More useful packages

Backbone.js - provides models, collections and views to Javascript

Underscore.js - utility library to add functional programming to Javascript: "a tie to JQuery's tux"

Socket.io - a package to help make realtime apps

Coffeescript - a little language that compiles into JavaScript

Find more at http://search.npmjs.org/

Page 8: Node.js + NoSQL

Benefits of NodeJS

Extremely fast

Event-driven

2 years old and already a huge community

Javascript all the way down

Page 9: Node.js + NoSQL

Pitfalls of Node

Boomerang-shaped code (solution: Step or Flow.js)

Javascript thinking-curve

Page 10: Node.js + NoSQL

Demo

https://github.com/shamod/nosqlnow2011demo

Page 11: Node.js + NoSQL

NoSQL

* Document Database

* Key-Value Database

* Columnar Database

* Graph Database

Page 12: Node.js + NoSQL

Document DB - CouchDB/MongoDB

Page 13: Node.js + NoSQL

Key-Value Store - Riak/Redis

Page 14: Node.js + NoSQL

Column Store - Cassandra

Page 15: Node.js + NoSQL

Graph DB - Neo4J

Page 16: Node.js + NoSQL

Cradle = CouchDB + NodeJS

http://cloudhead.io/cradle

Page 17: Node.js + NoSQL

Mongoose = MongoDB + NodeJS

http://mongoosejs.com/

Page 18: Node.js + NoSQL

Riak.js = Riak + NodeJS

http://riakjs.org/

Page 19: Node.js + NoSQL

node_redis = Redis + NodeJS

https://github.com/mranney/node_redis

Page 20: Node.js + NoSQL

node-cassandra-client = Cassandra + NodeJS

https://github.com/racker/node-cassandra-client

Page 21: Node.js + NoSQL

node-neo4j = Neo4J + NodeJS

https://github.com/bobby/node-neo4j

Page 22: Node.js + NoSQL

Questions?

Thank you for listening!