SlideShare a Scribd company logo
NoSQL
In the Context of Social Web


     Summer of Web 2010




                               Bogdan Gaza
About me
• Student at Faculty of Computer Science -
  first year
• Ruby & Rails fan
• Building RailsAdmin for RubySOC 2010
• Interested in Scalability and High-Availability
• http://twitter.com/hurrycane
Data, data Everywhere
Data growth on the web

 • Facebook Photos +25TB/week
 • Twitter +7TB/day
 • Flickr +21GB/hour
 • +150GB of tweets while I give this talk
 • All this amounts multiply every year
Data size
                                                       988.00
 1000.00



  750.00
                                            623.00


  500.00
                                 397.00

                       253.00
  250.00
            161.00


      0
            2006       2007       2008      2009       2010


ExaBytes of data stored on the web 1ExaByte = 1018 bytes (source IDC)
How to store this huge amount of data?
Databases
           More T      RDBMS
                       MySQL, Oracle




Online transaction
processing (OLTP)


                        NoSQL
                      Mongodb, couchdb
            Less T
RDBMS
• Relational database management system
• Based on E.F. Codd - relational model - 1969
• Dominant for transactional & analytical
  applications
• Most popular and easy to use RDBMS is
  MySQL
RDBMS performance
              SalaryList


                           Majority of
                           Web Apps
Performance




                                         Social networks


                                                           Trend analysis




                                                      Data complexity
NoSQL

• Doesn’t mean No to SQL
• It actually means Not Only SQL
• A class of data stores that may not require
  fixed table schemas (wikipedia)
• Majority of them based on Google’s BigTable
NoSQL Categories

• Key-Value stores: Voldemort
• BigTable clones: HBase
• Document Databases: Mongodb, Couchdb
• Graph Databases: Neo4j
Common grounds
• They all support huge amount of data
• The majority of them supports replication
  and sharding
• Have some sort of failure detection
  mechanism
• Can scale to the complexity of data they
  store
Key-Value stores

• Scales to huge amount of data
• Can handle massive load
• Based on Amazon’s Dynamo
• A big persistent associative-array
• Examples: Voldermort, Tokyo Tyrant/Cabinet
BigTable clones

• Tables similar to RDBMS but semi-
  structured
• Based on Google’s BigTable paper
• Column oriented
• Examples: HBase, Cassandra
Document databases

• Similar to Key-Value Stores but the DB
  knows what the Value is
• Collection of key-value collections
• Documents are often versioned
• Example: CouchDB, MongoDB, Redis
Graph databases
• Focus in structure of data
• Scales to the complexity of data
• Data stored in nodes
• Lots of cool Graph algorithms can be
  implemented
• Examples: Neo4J, FlockDB
But how do I query it?

• RESTful interface
• QueryAPIs
• SPARQL
• Gremlin - graph traversal database
• GQL - SQL-like Query Lange for Google BT
Who uses NoSQL?
Who uses NoSQL?
  BigTable   Cassandra
                             FlockDB




Dynamo         Voldemort
                           MongoDB
• Scalable, high-performance, open-source,
  document oriented database
• Somewhere between key-value stores and
  document databases
• Big community
• Tons of features
• JSON-style documents
  { author: 'joe', created : new
  Date('03-28-2009'), title : 'Yet another blog
  post' }

• Schema free
• Flexibility
• Data is stored in collections
• Dynamic queries
  db.people.update( { name:"Joe" }, { $inc: { n : 1 } } );
• Replication - very easy to set up
• Indexing
• Sharding
• GeoSpatial Index - location based queries
• Map Reduce search
res = db.events.mapReduce(m, r, { query : {type:'sale'} });

 • Simple querying
db.users.find({'last_name': 'Smith'})

• GridFS - for storing large files
• Support for many programming languages
Don’t search for:




One database to rule them all!
Use the best suited storage for each kind of data
NoSQL in the context of Social Web
Thanks!
One more thing!
NoSQL in the context of Social Web
Hummingbird

• Real time Web Traffic Visualiser
• Let’s you see visitors interacting with your
  site in real time
• Did a say real time?
Hummingbird technology

• Node.js
  Evented TCP server written in JavaScript
  powered by the V8 JS engine.
• WebSocks
• SVG Graphs
• Real time = 20 times per second
Hummingbird technology
 • Tracking pixel to gather data
 • Build over

More Related Content

PPTX
An Introduction to Big Data, NoSQL and MongoDB
PDF
NoSQL
PDF
Mongo DB: Operational Big Data Database
PDF
Nosql databases for the .net developer
PPTX
Mongo db intro.pptx
KEY
MongoDB at CodeMash 2.0.1.0
PPTX
PPTX
Why Organizations are Looking at Alternative Database Technologies – Introduc...
An Introduction to Big Data, NoSQL and MongoDB
NoSQL
Mongo DB: Operational Big Data Database
Nosql databases for the .net developer
Mongo db intro.pptx
MongoDB at CodeMash 2.0.1.0
Why Organizations are Looking at Alternative Database Technologies – Introduc...

What's hot (20)

PPTX
MongoDB
PPTX
Introducción a NoSQL
PPTX
Common MongoDB Use Cases
PPTX
MongoDB introduction
PPT
Introduction to MongoDB
PPTX
PPTX
A Presentation on MongoDB Introduction - Habilelabs
PPTX
MongoDB: An Introduction - june-2011
PDF
Introduction to MongoDB
PPTX
Why MongoDB over other Databases - Habilelabs
PDF
My sql vs mongo
PPTX
NOSQL vs SQL
PPTX
Why NoSQL and MongoDB for Big Data
PDF
Introduction to MongoDB Basics from SQL to NoSQL
PPTX
An Introduction To NoSQL & MongoDB
PPT
NoSQL Slideshare Presentation
PPT
Introduction to mongodb
PPTX
Big Data: Guidelines and Examples for the Enterprise Decision Maker
PPTX
Conceptos básicos. Seminario web 1: Introducción a NoSQL
PDF
Practical Use of a NoSQL
MongoDB
Introducción a NoSQL
Common MongoDB Use Cases
MongoDB introduction
Introduction to MongoDB
A Presentation on MongoDB Introduction - Habilelabs
MongoDB: An Introduction - june-2011
Introduction to MongoDB
Why MongoDB over other Databases - Habilelabs
My sql vs mongo
NOSQL vs SQL
Why NoSQL and MongoDB for Big Data
Introduction to MongoDB Basics from SQL to NoSQL
An Introduction To NoSQL & MongoDB
NoSQL Slideshare Presentation
Introduction to mongodb
Big Data: Guidelines and Examples for the Enterprise Decision Maker
Conceptos básicos. Seminario web 1: Introducción a NoSQL
Practical Use of a NoSQL
Ad

Viewers also liked (13)

PDF
#undef IS_KING
PDF
FII la examinări
PDF
Considerații privind cercetarea științifică
PDF
Introducere in Vizualizarea Datelor cu HTML5 Canvas
PDF
Student User Experience in Web Design - sweb2010
PPTX
3 in 1 - Student Volunteer and Employee
PDF
Cosmin Varlan: Stagii pe Bune 2011 la Facultatea de Informatica, UAIC
PDF
De ce sa nu folosim Ruby On Rails?
PDF
From virtual to augmented reality
PPT
Introduction to 3D and shaders
PDF
Web brother is watching you
PDF
HTML5? HTML5!
PDF
Studentii iau altitudine. FII pe vf. Lenin (august 2011)
#undef IS_KING
FII la examinări
Considerații privind cercetarea științifică
Introducere in Vizualizarea Datelor cu HTML5 Canvas
Student User Experience in Web Design - sweb2010
3 in 1 - Student Volunteer and Employee
Cosmin Varlan: Stagii pe Bune 2011 la Facultatea de Informatica, UAIC
De ce sa nu folosim Ruby On Rails?
From virtual to augmented reality
Introduction to 3D and shaders
Web brother is watching you
HTML5? HTML5!
Studentii iau altitudine. FII pe vf. Lenin (august 2011)
Ad

Similar to NoSQL in the context of Social Web (20)

PDF
NOsql Presentation.pdf
PPTX
Introduction to Data Science NoSQL.pptx
PPTX
No SQL- The Future Of Data Storage
PPTX
Drop acid
PPTX
Sharing a Startup’s Big Data Lessons
KEY
Non-Relational Databases at ACCU2011
PDF
Database Technologies
PPTX
NoSQL and MongoDB
PPTX
cours database pour etudiant NoSQL (1).pptx
PPTX
NoSQL.pptx
PPTX
When to Use MongoDB
PPTX
UNIT I Introduction to NoSQL.pptx
PPTX
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
PPTX
UNIT I Introduction to NoSQL.pptx
PPTX
A peek into the future
PDF
Oracle Week 2016 - Modern Data Architecture
PDF
Startup Bootcamp - Intro to NoSQL/Big Data by DataZone
PDF
Solr cloud the 'search first' nosql database extended deep dive
PDF
Big Data technology Landscape
PPTX
Big Data (NJ SQL Server User Group)
NOsql Presentation.pdf
Introduction to Data Science NoSQL.pptx
No SQL- The Future Of Data Storage
Drop acid
Sharing a Startup’s Big Data Lessons
Non-Relational Databases at ACCU2011
Database Technologies
NoSQL and MongoDB
cours database pour etudiant NoSQL (1).pptx
NoSQL.pptx
When to Use MongoDB
UNIT I Introduction to NoSQL.pptx
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
UNIT I Introduction to NoSQL.pptx
A peek into the future
Oracle Week 2016 - Modern Data Architecture
Startup Bootcamp - Intro to NoSQL/Big Data by DataZone
Solr cloud the 'search first' nosql database extended deep dive
Big Data technology Landscape
Big Data (NJ SQL Server User Group)

More from Bogdan Gaza (7)

PDF
Weightlifting at SimplySocial
PDF
Understanding and measuring web performance
PDF
[CLIW] Web testing
KEY
[TW] Node.js
PDF
[TW] CSS Files Optimization
PDF
Fosdem2011
PDF
RailsAdmin - the right way of doing data administration with Rails 3
Weightlifting at SimplySocial
Understanding and measuring web performance
[CLIW] Web testing
[TW] Node.js
[TW] CSS Files Optimization
Fosdem2011
RailsAdmin - the right way of doing data administration with Rails 3

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PDF
Approach and Philosophy of On baking technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Modernizing your data center with Dell and AMD
PPT
Teaching material agriculture food technology
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Electronic commerce courselecture one. Pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Big Data Technologies - Introduction.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
Empathic Computing: Creating Shared Understanding
Approach and Philosophy of On baking technology
Dropbox Q2 2025 Financial Results & Investor Presentation
Review of recent advances in non-invasive hemoglobin estimation
MYSQL Presentation for SQL database connectivity
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Modernizing your data center with Dell and AMD
Teaching material agriculture food technology
The Rise and Fall of 3GPP – Time for a Sabbatical?
Electronic commerce courselecture one. Pdf
The AUB Centre for AI in Media Proposal.docx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Encapsulation_ Review paper, used for researhc scholars
20250228 LYD VKU AI Blended-Learning.pptx
Unlocking AI with Model Context Protocol (MCP)
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Big Data Technologies - Introduction.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
“AI and Expert System Decision Support & Business Intelligence Systems”

NoSQL in the context of Social Web

  • 1. NoSQL In the Context of Social Web Summer of Web 2010 Bogdan Gaza
  • 2. About me • Student at Faculty of Computer Science - first year • Ruby & Rails fan • Building RailsAdmin for RubySOC 2010 • Interested in Scalability and High-Availability • http://twitter.com/hurrycane
  • 4. Data growth on the web • Facebook Photos +25TB/week • Twitter +7TB/day • Flickr +21GB/hour • +150GB of tweets while I give this talk • All this amounts multiply every year
  • 5. Data size 988.00 1000.00 750.00 623.00 500.00 397.00 253.00 250.00 161.00 0 2006 2007 2008 2009 2010 ExaBytes of data stored on the web 1ExaByte = 1018 bytes (source IDC)
  • 6. How to store this huge amount of data?
  • 7. Databases More T RDBMS MySQL, Oracle Online transaction processing (OLTP) NoSQL Mongodb, couchdb Less T
  • 8. RDBMS • Relational database management system • Based on E.F. Codd - relational model - 1969 • Dominant for transactional & analytical applications • Most popular and easy to use RDBMS is MySQL
  • 9. RDBMS performance SalaryList Majority of Web Apps Performance Social networks Trend analysis Data complexity
  • 10. NoSQL • Doesn’t mean No to SQL • It actually means Not Only SQL • A class of data stores that may not require fixed table schemas (wikipedia) • Majority of them based on Google’s BigTable
  • 11. NoSQL Categories • Key-Value stores: Voldemort • BigTable clones: HBase • Document Databases: Mongodb, Couchdb • Graph Databases: Neo4j
  • 12. Common grounds • They all support huge amount of data • The majority of them supports replication and sharding • Have some sort of failure detection mechanism • Can scale to the complexity of data they store
  • 13. Key-Value stores • Scales to huge amount of data • Can handle massive load • Based on Amazon’s Dynamo • A big persistent associative-array • Examples: Voldermort, Tokyo Tyrant/Cabinet
  • 14. BigTable clones • Tables similar to RDBMS but semi- structured • Based on Google’s BigTable paper • Column oriented • Examples: HBase, Cassandra
  • 15. Document databases • Similar to Key-Value Stores but the DB knows what the Value is • Collection of key-value collections • Documents are often versioned • Example: CouchDB, MongoDB, Redis
  • 16. Graph databases • Focus in structure of data • Scales to the complexity of data • Data stored in nodes • Lots of cool Graph algorithms can be implemented • Examples: Neo4J, FlockDB
  • 17. But how do I query it? • RESTful interface • QueryAPIs • SPARQL • Gremlin - graph traversal database • GQL - SQL-like Query Lange for Google BT
  • 19. Who uses NoSQL? BigTable Cassandra FlockDB Dynamo Voldemort MongoDB
  • 20. • Scalable, high-performance, open-source, document oriented database • Somewhere between key-value stores and document databases • Big community • Tons of features
  • 21. • JSON-style documents { author: 'joe', created : new Date('03-28-2009'), title : 'Yet another blog post' } • Schema free • Flexibility • Data is stored in collections
  • 22. • Dynamic queries db.people.update( { name:"Joe" }, { $inc: { n : 1 } } ); • Replication - very easy to set up • Indexing • Sharding • GeoSpatial Index - location based queries
  • 23. • Map Reduce search res = db.events.mapReduce(m, r, { query : {type:'sale'} }); • Simple querying db.users.find({'last_name': 'Smith'}) • GridFS - for storing large files • Support for many programming languages
  • 24. Don’t search for: One database to rule them all!
  • 25. Use the best suited storage for each kind of data
  • 30. Hummingbird • Real time Web Traffic Visualiser • Let’s you see visitors interacting with your site in real time • Did a say real time?
  • 31. Hummingbird technology • Node.js Evented TCP server written in JavaScript powered by the V8 JS engine. • WebSocks • SVG Graphs • Real time = 20 times per second
  • 32. Hummingbird technology • Tracking pixel to gather data • Build over