61
NOSQL + NODE.JS NODE.PGH - 0.7 MEETUP

Node.js and NoSQL

Embed Size (px)

Citation preview

Page 1: Node.js and NoSQL

NOSQL + NODE.JSNODE.PGH - 0.7 MEETUP

Page 2: Node.js and NoSQL

NICHOLAS MCCLAYUX DESIGNER & DEVELOPER

@nickmcclay

Page 3: Node.js and NoSQL

THANKS TO PETER BELL

Page 4: Node.js and NoSQL

WHAT IS NOSQL?

Page 5: Node.js and NoSQL

WHAT IS SQL?

Page 6: Node.js and NoSQL

CONSISTENCY VS. AVAILABILITY

Page 7: Node.js and NoSQL

CHOICES

Page 8: Node.js and NoSQL

TYPES OF NOSQL

Page 9: Node.js and NoSQL

HOW TO MODEL THE DOMAIN?

Page 10: Node.js and NoSQL

HOW TO MODEL THE DOMAIN?

where does this piece of data belong?

Page 11: Node.js and NoSQL

HOW TO MODEL THE DOMAIN?

where does this piece of data belong?

How do I find/change it?

Page 12: Node.js and NoSQL

KEY/VALUE NOSQL

Page 13: Node.js and NoSQL

KEY/VALUE DATA

Page 14: Node.js and NoSQL

KEY/VALUE USE CASES

Page 15: Node.js and NoSQL

KEY/VALUE USE CASES

FOCUS : SCALE AND LOAD

Page 16: Node.js and NoSQL

KEY/VALUE USE CASES

HIGH AVAILABILITY/LOW DURABILITY

FOCUS : SCALE AND LOAD

Page 17: Node.js and NoSQL

KEY/VALUE USE CASES

REALTIME TRANSACTIONS

HIGH AVAILABILITY/LOW DURABILITY

FOCUS : SCALE AND LOAD

Page 18: Node.js and NoSQL

KEY/VALUE USE CASES

USER SESSION STORAGE

REALTIME TRANSACTIONS

HIGH AVAILABILITY/LOW DURABILITY

FOCUS : SCALE AND LOAD

Page 19: Node.js and NoSQL

KEY/VALUE USE CASES

USER SESSION STORAGE

REALTIME TRANSACTIONS

HIGH AVAILABILITY/LOW DURABILITY

NO TO LOW SCHEMA DATA

FOCUS : SCALE AND LOAD

Page 20: Node.js and NoSQL

NODE-REDISHTTPS://GITHUB.COM/MRANNEY/NODE_REDIS

Page 21: Node.js and NoSQL

CONNECT-REDISHTTPS://GITHUB.COM/VISIONMEDIA/CONNECT-REDIS

Page 22: Node.js and NoSQL

COLUMN NOSQL

Page 23: Node.js and NoSQL

TABULAR DATA

Page 24: Node.js and NoSQL

KEY/VALUE USE CASES

Page 25: Node.js and NoSQL

KEY/VALUE USE CASES

CONCEPT: SINGLE, INFINITE TABLE

Page 26: Node.js and NoSQL

KEY/VALUE USE CASES

CROSS REFERENCED DATA

CONCEPT: SINGLE, INFINITE TABLE

Page 27: Node.js and NoSQL

KEY/VALUE USE CASES

GEOSPATIAL DATA

CROSS REFERENCED DATA

CONCEPT: SINGLE, INFINITE TABLE

Page 28: Node.js and NoSQL

KEY/VALUE USE CASES

TABULAR BASED SCHEMAS

GEOSPATIAL DATA

CROSS REFERENCED DATA

CONCEPT: SINGLE, INFINITE TABLE

Page 29: Node.js and NoSQL

KEY/VALUE USE CASES

TABULAR BASED SCHEMAS

GEOSPATIAL DATA

CROSS REFERENCED DATA

SIMPLE RELATIONSHIPS

CONCEPT: SINGLE, INFINITE TABLE

Page 30: Node.js and NoSQL

NODE-CASSANDRA-CLIENTHTTPS://GITHUB.COM/RACKER/NODE-CASSANDRA-CLIENT

Page 31: Node.js and NoSQL

NODE-HBASEHTTPS://GITHUB.COM/WDAVIDW/NODE-HBASE

Page 32: Node.js and NoSQL

DOCUMENT NOSQL

Page 33: Node.js and NoSQL

DOCUMENT DATA

Page 34: Node.js and NoSQL

DOCUMENT DATA

Page 35: Node.js and NoSQL

DOCUMENT DATA

Page 36: Node.js and NoSQL

DOCUMENT USE CASES

Page 37: Node.js and NoSQL

DOCUMENT USE CASES

GREAT FOR SEMI-STRUCTURED DATA

Page 38: Node.js and NoSQL

DOCUMENT USE CASES

SELF CONTAINED DATA SETS

GREAT FOR SEMI-STRUCTURED DATA

Page 39: Node.js and NoSQL

DOCUMENT USE CASES

ARTICLES, COMMENTS, PRODUCTS

SELF CONTAINED DATA SETS

GREAT FOR SEMI-STRUCTURED DATA

Page 40: Node.js and NoSQL

DOCUMENT USE CASES

REVISION TRACKING

ARTICLES, COMMENTS, PRODUCTS

SELF CONTAINED DATA SETS

GREAT FOR SEMI-STRUCTURED DATA

Page 41: Node.js and NoSQL

DOCUMENT USE CASES

REVISION TRACKING

ARTICLES, COMMENTS, PRODUCTS

SELF CONTAINED DATA SETS

FLEXIBLE SCHEMAS

GREAT FOR SEMI-STRUCTURED DATA

Page 42: Node.js and NoSQL

ITS NOT SQL!

Page 43: Node.js and NoSQL

ITS NOT SQL!

Page 44: Node.js and NoSQL

MONGOOSEHTTP://MONGOOSEJS.COM/

Page 45: Node.js and NoSQL

CRADLEHTTP://MONGOOSEJS.COM/

Page 46: Node.js and NoSQL

COLUMN NOSQL

Page 47: Node.js and NoSQL

GRAPH DATA

Page 48: Node.js and NoSQL

SIMPLER EXAMPLE

Page 49: Node.js and NoSQL

GRAPH USE CASES

Page 50: Node.js and NoSQL

GRAPH USE CASES

NODES AND RELATIONSHIPS

Page 51: Node.js and NoSQL

GRAPH USE CASES

CONNECT SCHEMA-LESS ENTITIES

NODES AND RELATIONSHIPS

Page 52: Node.js and NoSQL

GRAPH USE CASES

WHITEBOARD FRIENDLY

CONNECT SCHEMA-LESS ENTITIES

NODES AND RELATIONSHIPS

Page 53: Node.js and NoSQL

GRAPH USE CASES

DEEP RELATIONSHIPS

WHITEBOARD FRIENDLY

CONNECT SCHEMA-LESS ENTITIES

NODES AND RELATIONSHIPS

Page 54: Node.js and NoSQL

GRAPH USE CASES

DEEP RELATIONSHIPS

WHITEBOARD FRIENDLY

CONNECT SCHEMA-LESS ENTITIES

SOCIAL NETWORKS

NODES AND RELATIONSHIPS

Page 55: Node.js and NoSQL

ITS NOT A DATABASE!

Page 56: Node.js and NoSQL

ITS NOT A DATABASE!

Page 57: Node.js and NoSQL

ITS NOT A DATABASE!

Page 58: Node.js and NoSQL

NODE-NEO4JHTTPS://GITHUB.COM/THINGDOM/NODE-NEO4J

Page 59: Node.js and NoSQL

NODE-NEO4JHTTPS://GITHUB.COM/THINGDOM/NODE-NEO4J

Page 60: Node.js and NoSQL

NODE-NEO4JHTTPS://GITHUB.COM/THINGDOM/NODE-NEO4J

Page 61: Node.js and NoSQL

THANKS!

@nickmcclay