SlideShare a Scribd company logo
1 of 32
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
Thanks!
One more thing!
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

What's hot

Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQLMongoDB
 
Common MongoDB Use Cases
Common MongoDB Use Cases Common MongoDB Use Cases
Common MongoDB Use Cases MongoDB
 
MongoDB introduction
MongoDB introductionMongoDB introduction
MongoDB introductionEdward Yoon
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBRavi Teja
 
A Presentation on MongoDB Introduction - Habilelabs
A Presentation on MongoDB Introduction - HabilelabsA Presentation on MongoDB Introduction - Habilelabs
A Presentation on MongoDB Introduction - HabilelabsHabilelabs
 
MongoDB: An Introduction - june-2011
MongoDB:  An Introduction - june-2011MongoDB:  An Introduction - june-2011
MongoDB: An Introduction - june-2011Chris Westin
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBMike Dirolf
 
Why MongoDB over other Databases - Habilelabs
Why MongoDB over other Databases - HabilelabsWhy MongoDB over other Databases - Habilelabs
Why MongoDB over other Databases - HabilelabsHabilelabs
 
Why NoSQL and MongoDB for Big Data
Why NoSQL and MongoDB for Big DataWhy NoSQL and MongoDB for Big Data
Why NoSQL and MongoDB for Big DataWilliam LaForest
 
Introduction to MongoDB Basics from SQL to NoSQL
Introduction to MongoDB Basics from SQL to NoSQLIntroduction to MongoDB Basics from SQL to NoSQL
Introduction to MongoDB Basics from SQL to NoSQLMayur Patil
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBLee Theobald
 
NoSQL Slideshare Presentation
NoSQL Slideshare Presentation NoSQL Slideshare Presentation
NoSQL Slideshare Presentation Ericsson Labs
 
Big Data: Guidelines and Examples for the Enterprise Decision Maker
Big Data: Guidelines and Examples for the Enterprise Decision MakerBig Data: Guidelines and Examples for the Enterprise Decision Maker
Big Data: Guidelines and Examples for the Enterprise Decision MakerMongoDB
 
Conceptos básicos. Seminario web 1: Introducción a NoSQL
Conceptos básicos. Seminario web 1: Introducción a NoSQLConceptos básicos. Seminario web 1: Introducción a NoSQL
Conceptos básicos. Seminario web 1: Introducción a NoSQLMongoDB
 

What's hot (20)

MongoDB
MongoDBMongoDB
MongoDB
 
Introducción a NoSQL
Introducción a NoSQLIntroducción a NoSQL
Introducción a NoSQL
 
Common MongoDB Use Cases
Common MongoDB Use Cases Common MongoDB Use Cases
Common MongoDB Use Cases
 
MongoDB introduction
MongoDB introductionMongoDB introduction
MongoDB introduction
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Mongodb @ vrt
Mongodb @ vrtMongodb @ vrt
Mongodb @ vrt
 
A Presentation on MongoDB Introduction - Habilelabs
A Presentation on MongoDB Introduction - HabilelabsA Presentation on MongoDB Introduction - Habilelabs
A Presentation on MongoDB Introduction - Habilelabs
 
MongoDB: An Introduction - june-2011
MongoDB:  An Introduction - june-2011MongoDB:  An Introduction - june-2011
MongoDB: An Introduction - june-2011
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Why MongoDB over other Databases - Habilelabs
Why MongoDB over other Databases - HabilelabsWhy MongoDB over other Databases - Habilelabs
Why MongoDB over other Databases - Habilelabs
 
My sql vs mongo
My sql vs mongoMy sql vs mongo
My sql vs mongo
 
NOSQL vs SQL
NOSQL vs SQLNOSQL vs SQL
NOSQL vs SQL
 
Why NoSQL and MongoDB for Big Data
Why NoSQL and MongoDB for Big DataWhy NoSQL and MongoDB for Big Data
Why NoSQL and MongoDB for Big Data
 
Introduction to MongoDB Basics from SQL to NoSQL
Introduction to MongoDB Basics from SQL to NoSQLIntroduction to MongoDB Basics from SQL to NoSQL
Introduction to MongoDB Basics from SQL to NoSQL
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDB
 
NoSQL Slideshare Presentation
NoSQL Slideshare Presentation NoSQL Slideshare Presentation
NoSQL Slideshare Presentation
 
Introduction to mongodb
Introduction to mongodbIntroduction to mongodb
Introduction to mongodb
 
Big Data: Guidelines and Examples for the Enterprise Decision Maker
Big Data: Guidelines and Examples for the Enterprise Decision MakerBig Data: Guidelines and Examples for the Enterprise Decision Maker
Big Data: Guidelines and Examples for the Enterprise Decision Maker
 
Conceptos básicos. Seminario web 1: Introducción a NoSQL
Conceptos básicos. Seminario web 1: Introducción a NoSQLConceptos básicos. Seminario web 1: Introducción a NoSQL
Conceptos básicos. Seminario web 1: Introducción a NoSQL
 
Practical Use of a NoSQL
Practical Use of a NoSQLPractical Use of a NoSQL
Practical Use of a NoSQL
 

Viewers also liked

#undef IS_KING
#undef IS_KING#undef IS_KING
#undef IS_KINGkristache
 
Considerații privind cercetarea științifică
Considerații privind cercetarea științificăConsiderații privind cercetarea științifică
Considerații privind cercetarea științificăSabin Buraga
 
Introducere in Vizualizarea Datelor cu HTML5 Canvas
Introducere in Vizualizarea Datelor cu HTML5 CanvasIntroducere in Vizualizarea Datelor cu HTML5 Canvas
Introducere in Vizualizarea Datelor cu HTML5 CanvasAlecsandru Grigoriu
 
Student User Experience in Web Design - sweb2010
Student User Experience in Web Design - sweb2010Student User Experience in Web Design - sweb2010
Student User Experience in Web Design - sweb2010Alecsandru Grigoriu
 
3 in 1 - Student Volunteer and Employee
3 in 1 - Student Volunteer and Employee3 in 1 - Student Volunteer and Employee
3 in 1 - Student Volunteer and Employeealinalexandru
 
De ce sa nu folosim Ruby On Rails?
De ce sa nu folosim Ruby On Rails?De ce sa nu folosim Ruby On Rails?
De ce sa nu folosim Ruby On Rails?Bogdan Gaza
 
From virtual to augmented reality
From virtual to augmented realityFrom virtual to augmented reality
From virtual to augmented realitySabin Buraga
 
Introduction to 3D and shaders
Introduction to 3D and shadersIntroduction to 3D and shaders
Introduction to 3D and shadersVictor Porof
 
Web brother is watching you
Web brother is watching youWeb brother is watching you
Web brother is watching youSabin Buraga
 

Viewers also liked (13)

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

Similar to NoSQL in the Context of Social Web

No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageBethmi Gunasekara
 
Sharing a Startup’s Big Data Lessons
Sharing a Startup’s Big Data LessonsSharing a Startup’s Big Data Lessons
Sharing a Startup’s Big Data LessonsGeorge Stathis
 
Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011Gavin Heavyside
 
When to Use MongoDB
When to Use MongoDBWhen to Use MongoDB
When to Use MongoDBMongoDB
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxRahul Borate
 
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesDropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesKyle Banerjee
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxRahul Borate
 
Oracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data ArchitectureOracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data ArchitectureArthur Gimpel
 
Startup Bootcamp - Intro to NoSQL/Big Data by DataZone
Startup Bootcamp - Intro to NoSQL/Big Data by DataZoneStartup Bootcamp - Intro to NoSQL/Big Data by DataZone
Startup Bootcamp - Intro to NoSQL/Big Data by DataZoneIdan Tohami
 
Solr cloud the 'search first' nosql database extended deep dive
Solr cloud the 'search first' nosql database   extended deep diveSolr cloud the 'search first' nosql database   extended deep dive
Solr cloud the 'search first' nosql database extended deep divelucenerevolution
 
Big Data technology Landscape
Big Data technology LandscapeBig Data technology Landscape
Big Data technology LandscapeShivanandaVSeeri
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Don Demcsak
 
JasperWorld 2012: Reinventing Data Management by Max Schireson
JasperWorld 2012: Reinventing Data Management by Max SchiresonJasperWorld 2012: Reinventing Data Management by Max Schireson
JasperWorld 2012: Reinventing Data Management by Max SchiresonMongoDB
 

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

NOsql Presentation.pdf
NOsql Presentation.pdfNOsql Presentation.pdf
NOsql Presentation.pdf
 
No SQL- The Future Of Data Storage
No SQL- The Future Of Data StorageNo SQL- The Future Of Data Storage
No SQL- The Future Of Data Storage
 
Drop acid
Drop acidDrop acid
Drop acid
 
Sharing a Startup’s Big Data Lessons
Sharing a Startup’s Big Data LessonsSharing a Startup’s Big Data Lessons
Sharing a Startup’s Big Data Lessons
 
Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011Non-Relational Databases at ACCU2011
Non-Relational Databases at ACCU2011
 
Database Technologies
Database TechnologiesDatabase Technologies
Database Technologies
 
NoSQL and MongoDB
NoSQL and MongoDBNoSQL and MongoDB
NoSQL and MongoDB
 
NoSQL.pptx
NoSQL.pptxNoSQL.pptx
NoSQL.pptx
 
When to Use MongoDB
When to Use MongoDBWhen to Use MongoDB
When to Use MongoDB
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptx
 
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL DatabasesDropping ACID: Wrapping Your Mind Around NoSQL Databases
Dropping ACID: Wrapping Your Mind Around NoSQL Databases
 
UNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptxUNIT I Introduction to NoSQL.pptx
UNIT I Introduction to NoSQL.pptx
 
A peek into the future
A peek into the futureA peek into the future
A peek into the future
 
Oracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data ArchitectureOracle Week 2016 - Modern Data Architecture
Oracle Week 2016 - Modern Data Architecture
 
Startup Bootcamp - Intro to NoSQL/Big Data by DataZone
Startup Bootcamp - Intro to NoSQL/Big Data by DataZoneStartup Bootcamp - Intro to NoSQL/Big Data by DataZone
Startup Bootcamp - Intro to NoSQL/Big Data by DataZone
 
Solr cloud the 'search first' nosql database extended deep dive
Solr cloud the 'search first' nosql database   extended deep diveSolr cloud the 'search first' nosql database   extended deep dive
Solr cloud the 'search first' nosql database extended deep dive
 
Big Data technology Landscape
Big Data technology LandscapeBig Data technology Landscape
Big Data technology Landscape
 
Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)Big Data (NJ SQL Server User Group)
Big Data (NJ SQL Server User Group)
 
JasperWorld 2012: Reinventing Data Management by Max Schireson
JasperWorld 2012: Reinventing Data Management by Max SchiresonJasperWorld 2012: Reinventing Data Management by Max Schireson
JasperWorld 2012: Reinventing Data Management by Max Schireson
 
NoSQL-Overview
NoSQL-OverviewNoSQL-Overview
NoSQL-Overview
 

More from Bogdan Gaza

Weightlifting at SimplySocial
Weightlifting at SimplySocialWeightlifting at SimplySocial
Weightlifting at SimplySocialBogdan Gaza
 
Understanding and measuring web performance
Understanding and measuring web performanceUnderstanding and measuring web performance
Understanding and measuring web performanceBogdan Gaza
 
[CLIW] Web testing
[CLIW] Web testing[CLIW] Web testing
[CLIW] Web testingBogdan Gaza
 
[TW] CSS Files Optimization
[TW] CSS Files Optimization[TW] CSS Files Optimization
[TW] CSS Files OptimizationBogdan Gaza
 
RailsAdmin - the right way of doing data administration with Rails 3
RailsAdmin - the right way of doing data administration with Rails 3RailsAdmin - the right way of doing data administration with Rails 3
RailsAdmin - the right way of doing data administration with Rails 3Bogdan Gaza
 

More from Bogdan Gaza (7)

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

Recently uploaded

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

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
  • 26.
  • 29.
  • 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

Editor's Notes