SlideShare a Scribd company logo
1 of 55
Ben Sco eld - @bsco eld
Refresh the Triangle, Sept ’09
relational
databases
Type                  Price              Location
Mellow Mushroom           Pizza                  $$                 ATHD

 Chubby’s Tacos          Tacos                    $                Ninth St
   Dos Perros           Mexican                  $$                Downtown
   Revolution            Fancy                  $$$$               Downtown


                        Person                Restaurant
                      Ben Scofield        Mellow Mushroom

                      Ben Scofield             Dos Perros
                     David Eisinger           Dos Perros



                                      Office           Preference
                Ben Scofield       Viget Labs             Tacos

            David Eisinger        Viget Labs             Pizza
                Jess Martin       Relevance             Mexican
Type                  Price              Location
Mellow Mushroom           Pizza                  $$                 ATHD

 Chubby’s Tacos          Tacos                    $                Ninth St
   Dos Perros           Mexican                  $$                Downtown
   Revolution            Fancy                  $$$$               Downtown


                        Person                Restaurant
                      Ben Scofield         =restaurants!A1
                                         Mellow Mushroom

                      Ben Scofield             Dos Perros
                     David Eisinger           Dos Perros



                                      Office           Preference
                Ben Scofield       Viget Labs             Tacos

            David Eisinger        Viget Labs             Pizza
                Jess Martin       Relevance             Mexican
the internet
html5
dom storage
4096
5242880
10485760
session*
persistent
http://www.quirksmode.org/dom/html5.html
localStorage.setItem('visitor', 'Ben');

var visitor = localStorage.getItem('visitor');

localStorage.removeItem('visitor');
nosql
altdb
postrelational
imprint     publisher




               title      name


 genre


              issue
                          volume
            nested set?




storyline    variant      trade
http://internetmindmap.com/database_software
traditional




                                                                   hyper-relational
non-relational


                 key-value                relational




                                                                      complex
   simple




                   stores                databases
                    x            x           x             x
                             document                    graph
                             databases                 databases
key-value
stores
Type     Price   Location
Mellow Mushroom    Pizza     $$      ATHD

 Chubby’s Tacos    Tacos     $      Ninth St
   Dos Perros     Mexican    $$     Downtown
   Revolution     Fancy     $$$$    Downtown
dynomite
memcached
project voldemort
pstore
redis
non-relational domains
graph
databases
Type                  Price              Location
Mellow Mushroom           Pizza                  $$                 ATHD

 Chubby’s Tacos          Tacos                    $                Ninth St
   Dos Perros           Mexican                  $$                Downtown
   Revolution            Fancy                  $$$$               Downtown


                        Person                Restaurant
                      Ben Scofield        Mellow Mushroom

                      Ben Scofield             Dos Perros
                     David Eisinger           Dos Perros



                                      Office           Preference
                Ben Scofield       Viget Labs             Tacos

            David Eisinger        Viget Labs             Pizza
                Jess Martin       Relevance             Mexican
allegograph
hypergraphdb
neo4j
allegograph
hypergraphdb
neo4j
rdf
hyper-relational domains
document
databases
Type     Price   Location
Mellow Mushroom    Pizza     $$      ATHD

 Chubby’s Tacos    Tacos     $      Ninth St
   Dos Perros     Mexican    $$     Downtown
   Revolution     Fancy     $$$$    Downtown
couchdb
jackrabbit
mongodb
rddb
riak
{
    ‘name’:‘Mellow Mushroom’
    ‘type’:‘Pizza’
    ‘price’:’$$’
    ‘location’:‘ATHD’
}
{
    ‘title’:‘I Love Cheese’
    ‘content’:‘Cheese is...’
    ‘posted’:’24 Sept 2009’
    ‘comments’:[{
      ‘author’:‘Joe Schmoe’
      ‘posted’:’24 Sept 2009’
      ‘content’:‘First!’
    }, {...}]
}
semi-relational domains
other
alternatives
column-oriented
constant
in-memory
streaming
temporal
polyglot
persistence
{
    ‘title’:‘I Love Cheese’
    ‘content’:‘Cheese is...’
    ‘posted’:’24 Sept 2009’
    ‘comments’:[{
      ‘author’:‘Joe Schmoe’
      ‘posted’:’24 Sept 2009’
      ‘content’:‘First!’
    }, {...}]
}
Tag                Tag                   Post
General             Life              1ec8264

 Work              Food               1ec8264
Fitness           Writing             bae294a
 Life
 Food
Writing   {
              ‘title’:‘I Love Cheese’
Family        ‘content’:‘Cheese is...’
              ‘posted’:’24 Sept 2009’
              ‘comments’:[{
                ‘author’:‘Joe Schmoe’
                ‘posted’:’24 Sept 2009’
                ‘content’:‘First!’
              }, {...}]
          }
HTTP
application          application
HTTP
application
application
application
Thank You
ben sco eld - @bsco eld - http://www.viget.com/extend - http://www.speakerrate.com/bsco eld

More Related Content

More from Ben Scofield

"Comics" Is Hard: Domain Modeling Challenges
"Comics" Is Hard: Domain Modeling Challenges"Comics" Is Hard: Domain Modeling Challenges
"Comics" Is Hard: Domain Modeling Challenges
Ben Scofield
 

More from Ben Scofield (20)

How to Be Awesome in 2.5 Steps
How to Be Awesome in 2.5 StepsHow to Be Awesome in 2.5 Steps
How to Be Awesome in 2.5 Steps
 
Building Cloud Castles - LRUG
Building Cloud Castles - LRUGBuilding Cloud Castles - LRUG
Building Cloud Castles - LRUG
 
Great Developers Steal
Great Developers StealGreat Developers Steal
Great Developers Steal
 
Thinking Small
Thinking SmallThinking Small
Thinking Small
 
Open Source: A Call to Arms
Open Source: A Call to ArmsOpen Source: A Call to Arms
Open Source: A Call to Arms
 
Ship It
Ship ItShip It
Ship It
 
Building Cloud Castles
Building Cloud CastlesBuilding Cloud Castles
Building Cloud Castles
 
Intentionality: Choice and Mastery
Intentionality: Choice and MasteryIntentionality: Choice and Mastery
Intentionality: Choice and Mastery
 
Mastery or Mediocrity
Mastery or MediocrityMastery or Mediocrity
Mastery or Mediocrity
 
Mind Control: Psychology for the Web
Mind Control: Psychology for the WebMind Control: Psychology for the Web
Mind Control: Psychology for the Web
 
The State of NoSQL
The State of NoSQLThe State of NoSQL
The State of NoSQL
 
NoSQL @ CodeMash 2010
NoSQL @ CodeMash 2010NoSQL @ CodeMash 2010
NoSQL @ CodeMash 2010
 
NoSQL: Death to Relational Databases(?)
NoSQL: Death to Relational Databases(?)NoSQL: Death to Relational Databases(?)
NoSQL: Death to Relational Databases(?)
 
WindyCityRails - "Comics" Is Hard
WindyCityRails - "Comics" Is HardWindyCityRails - "Comics" Is Hard
WindyCityRails - "Comics" Is Hard
 
"Comics" Is Hard: Alternative Databases
"Comics" Is Hard: Alternative Databases"Comics" Is Hard: Alternative Databases
"Comics" Is Hard: Alternative Databases
 
Mind Control on the Web
Mind Control on the WebMind Control on the Web
Mind Control on the Web
 
How the Geeks Inherited the Earth
How the Geeks Inherited the EarthHow the Geeks Inherited the Earth
How the Geeks Inherited the Earth
 
And the Greatest of These Is ... Space
And the Greatest of These Is ... SpaceAnd the Greatest of These Is ... Space
And the Greatest of These Is ... Space
 
"Comics" Is Hard: Domain Modeling Challenges
"Comics" Is Hard: Domain Modeling Challenges"Comics" Is Hard: Domain Modeling Challenges
"Comics" Is Hard: Domain Modeling Challenges
 
And the Greatest of These Is ... Rack Support
And the Greatest of These Is ... Rack SupportAnd the Greatest of These Is ... Rack Support
And the Greatest of These Is ... Rack Support
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

The Future of Data

Editor's Notes

  1. supported in FF2+, IE8, Safari, ?
  2. cookies for persistence since 1994 key-value stores with expiration/metadata
  3. cookies limited to 4k; FF DB is 5MB; IE DB is 10MB yeah, we’ll need to standardize
  4. dom session storage is PER-WINDOW, not just per session local storage persists across sessions
  5. Fluid/Prism - Site-specific browsers apps that people use, could be locally backed-up, etc.
  6. entire applications in JS - no need for server-side storage
  7. easy migration to appcelerator/phonegap
  8. scalability - replacing one DB with lots of smaller ones CONTINGENT PROBLEM, could be fixed
  9. scalability - replacing one DB with lots of smaller ones CONTINGENT PROBLEM, could be fixed
  10. domain modeling is a more basic issue
  11. lots of options - check out the scroll bar!
  12. least complicated domains - no relationships
  13. the spreadsheet metaphor breaks down for key-values
  14. best for flat, non-relational domains - caching, for instance can also fire up new stores for a one-level relation (users on hurl)
  15. most complicated domains - lots of relationships
  16. best for hyper-relational domains, where the relationships carry lots of data in rails, that’d be HMTs with data on the T
  17. between key-value and relational - one or a few simple relationships no many-to-many
  18. couch and mongo use JSON (or BSON) as the serialization format
  19. embedded documents
  20. best for domains where there aren’t any/many many-many relationships simulated in key-value stores with DB-per-user
  21. use the database that fits the domain
  22. spiritual sibling to polyglot programming polygotting between apps (mongo here, mysql there) is step 1; polyglotting within an app is step 2
  23. back to the blog example
  24. tags don’t fit in the document model
  25. baby steps: polyglotting applications and/or web services
  26. step two: connect to couch via HTTP directly (couch application)
  27. step three: polyglot away!
  28. step three: polyglot away!