SlideShare uma empresa Scribd logo
1 de 91
Baixar para ler offline
“Comics” Is Hard:
Alternative Databases
Ben Scofield – Viget Labs




                           1
Modeling



flickr: bunchofpants

                                 2
Biology

          3
Linnean taxonomy   4
Kingdom
   Animalia
   Phylum
   Chordata
   Class
   Mammalia
   Order
   Carnivora
   Family
   Felidae
   Genus
   Panthera
   Species
   tigris
flickr: pandiyan


                  5
Animalia
   Chordata
   Mammalia
   Carnivora
   Felidae
   Panthera
   tigris
flickr: pandiyan


                  5
kingdom   phylum     class




 genus     family    order




species   organism




                             6
Problem
The levels are imaginary


                           7
subphylum

           kingdom                phylum                   class

                                             superclass            subclass


                     subfamily                suborder
                                                                   superorder
            genus                  family                  order

subgenus                                     superfamily


                     subspecies

           species                organism

                       variety




                                                                                8
subphylum

           kingdom                phylum                   class




                                  ?
                                             superclass            subclass


                     subfamily                suborder
                                                                   superorder
            genus                  family                  order

subgenus                                     superfamily


                     subspecies

           species                organism

                       variety




                                                                                8
subspecies

taxon taxon taxon   species                organism

                                variety




                                                      9
Species
flickr: cpurrin1

                  10
Reproductive Isolation
flickr: superciliousness

                          11
Reproductive Isolation
flickr: superciliousness

                          11
12
13
flickr: niznoz

                14
Numerical taxonomy
                     15
Cladistics
             16
taxon clade taxon   organism




                               17
Problem
Cladistics is historical and
    counter-intuitive

                               18
flickr: goellnitz

                   19
flickr: goellnitz
       pcoin

                   19
The Challenge
Unclear, imprecise domain


                            20
comics

         21
publisher   title   issue




                            22
23
publisher   imprint   title




                      issue




                              24
25
publisher   imprint    title




            issue     volume




                               26
27
27
28
29
publisher   imprint            title




            issue             volume




                      trade




                                       30
31
31
32
32
33
33
publisher             imprint            title




                      issue             volume




            variant             trade




                                                 34
35
35
36
36
name




publisher             imprint            title




                      issue             volume




            variant             trade




                                                 37
38
38
38
39
39
name




publisher              imprint               title




                        ?
                        issue
                      nested set?
                                            volume




            variant                 trade




                                                     40
41
42
imprint




            ?!?!
publisher                title              name




                        issue
storyline                                   volume
                      nested set?




            variant                 trade




                                                     43
science fiction
     noir       horror

      genres?
independent
           Martial Arts
 historical
  Pirate      superhero

                          44
imprint     publisher




@#&*!
               title      name


 genre


              issue
                          volume
            nested set?




storyline    variant      trade




                                   45
The Challenge
Complete insanity


                    46
Alternatives
                     databases unite!




#?forben
flickr: ikhnaton2

                                        47
http://thisisindexed.com/2009/02/just-because-you-can-doesnt-mean-you-should/
                                                                                48
Key-Value

            49
Redis    Tokyo Cabinet
 Project Voldemort
  Cassandra*
                         50
require "rubygems"
                 require "tokyocabinet"

                 include TokyoCabinet

                 bdb = BDB::new # B-Tree database; keys may have multiple values
                 bdb.open("casket.bdb", BDB::OWRITER | BDB::OCREAT)

                 # store records in the database, allowing duplicates
                 bdb.putdup("key1", "value1")
                 bdb.putdup("key1", "value2")
                 bdb.put("key2", "value3")
                 bdb.put("key3", "value4")

                 # retrieve all values
                 p bdb.getlist("key1")
                 # => ["value1", "value2"]

                 # range query, find all matching keys
                 p bdb.range("key1", true, "key3", true)
                 # => ["key1", "key2", "key3"]




http://www.igvita.com/2009/02/13/tokyo-cabinet-beyond-key-value-store/
                                                                                   51
Biology   x

Comics    x

              52
Configuration   ✓
  Caching      ✓
Translations   ✓

                   53
54
Document

           55
56
{
    'name':'Ben Scofield',
    'adjective':'awesomesauce'
}

{
    'name':'Magic Pony',
    'description':'It is a *lie*!'
}




                                     57
Biology   ✓

Comics    x

              58
{
    'kingdom':'Animalia',
    ‘phylum’:‘Chordata’,
    ‘subphylum’:‘Vertebrata’,
    ‘class’:‘Mammalia’,
    ‘subclass’:‘Eutheria’,
    ‘order’:‘Carnivora’,
    ‘family’:‘Felidae’,
    ‘subfamily’:‘Panthernae’,
    ‘genus’:‘Pantera’,
    ‘species’:‘tigris’,
    ‘name’:‘Wanda’
}


                                59
Graph

        60
AllegroGraph
Java     Java / Lisp



                       61
http://neotechnology.com/why-neo

                                   62
http://markorodriguez.com/Lectures_files/risk-symposium2009.pdf
                                                                 63
flickr: 9948354@N08

                     64
Biology   ✓

Comics    ✓

              65
Animalia


             ...


           Felidae
                         subfamilyof


          genusof              Panthernae

                          genusof
          Panthera


          speciesof


            tigris


          member


            001


    age    name       weight



3          Wanda                  300



                                            66
Animalia


                         ...


                       Felidae
                                     subfamilyof


                      genusof              Panthernae

                                      genusof
                      Panthera



species               speciesof
              type

                        tigris
                         010

              name
 tigris               member


                        001


                age    name       weight



          3            Wanda                  300



                                                        66
Group IV


  orderof


Picornavirales



  familyof


Picornaviridae



  genusof


Rhinovirus


 speciesof

   human
rhinovirus A


  member


    002



                 67
class        Mammalia     Group IV        group
                   orderof      orderof


                  Carnivora   Picornavirales



                  familyof      familyof


                   Felidae    Picornaviridae
    subfamilyof


Panthernae        genusof       genusof

      genusof
                  Panthera    Rhinovirus


                  speciesof    speciesof

                                 human
                    tigris
                              rhinovirus A


                  member        member


                    001           002




                                                       68
DC
                               imprintof


                    titleof                DC Universe


 Green                          titleof
                     001
Lantern   nameof
                                             genreof
                   volumeof   genreof


                   Volume 1                  Sci Fi
                                            Superhero
                               genreof


                    issueof   genreof


                     002            precedes             Issue #2



          number    coverof


  #1                 003




                                                                    69
require 'neo4j'

Neo4j::Transaction.run do
  dc = Neo4j::Node.new
  dc[:name] = 'DC'

 dc_universe = Neo4j::Node.new
 dc_universe[:name] = 'DC Universe'

 dc.relationships.outgoing(:imprints) << dc_universe

 rel = dc.relationships.outgoing(:imprints).first
 rel[:started] = 1980

 vol1 = Neo4j::Node.new
 vol1[:started] = 1941
 vol1[:ended]   = 1949
 vol1[:name]    = 'Green Lantern'

 dc.relationships.outgoing(:titles) << vol1
 dc_universe.relationships.outgoing(:titles) << vol1

  # ...
end




                                                       70
Hybrid Solutions



flickr: joriel

                                   71
72
72
post
tag
      document id




                    {
                        'title':'Post Title'
                        'content':'Hello!'
                        'comments':["First!"]
                    }




                                                73
74
search




user accounts and whatnot




                 {
                     'name':'...'
                     'attr1':'...'
                     'attr7':'...'
                 }




                                     75
Thank You
                    ben scofield - @bscofield
                     http://benscofield.com
              http://www.viget.com/extend
      http://www.speakerrate.com/bscofield
                                              76

Mais conteúdo relacionado

Mais de Ben Scofield

Building Cloud Castles
Building Cloud CastlesBuilding Cloud Castles
Building Cloud CastlesBen Scofield
 
Intentionality: Choice and Mastery
Intentionality: Choice and MasteryIntentionality: Choice and Mastery
Intentionality: Choice and MasteryBen Scofield
 
Mastery or Mediocrity
Mastery or MediocrityMastery or Mediocrity
Mastery or MediocrityBen Scofield
 
With a Mighty Hammer
With a Mighty HammerWith a Mighty Hammer
With a Mighty HammerBen Scofield
 
Mind Control - DevNation Atlanta
Mind Control - DevNation AtlantaMind Control - DevNation Atlanta
Mind Control - DevNation AtlantaBen Scofield
 
Understanding Mastery
Understanding MasteryUnderstanding Mastery
Understanding MasteryBen Scofield
 
Mind Control: Psychology for the Web
Mind Control: Psychology for the WebMind Control: Psychology for the Web
Mind Control: Psychology for the WebBen Scofield
 
The State of NoSQL
The State of NoSQLThe State of NoSQL
The State of NoSQLBen Scofield
 
NoSQL @ CodeMash 2010
NoSQL @ CodeMash 2010NoSQL @ CodeMash 2010
NoSQL @ CodeMash 2010Ben Scofield
 
NoSQL: Death to Relational Databases(?)
NoSQL: Death to Relational Databases(?)NoSQL: Death to Relational Databases(?)
NoSQL: Death to Relational Databases(?)Ben Scofield
 
Charlotte.rb - "Comics" Is Hard
Charlotte.rb - "Comics" Is HardCharlotte.rb - "Comics" Is Hard
Charlotte.rb - "Comics" Is HardBen Scofield
 
The Future of Data
The Future of DataThe Future of Data
The Future of DataBen Scofield
 
WindyCityRails - "Comics" Is Hard
WindyCityRails - "Comics" Is HardWindyCityRails - "Comics" Is Hard
WindyCityRails - "Comics" Is HardBen Scofield
 
Mind Control on the Web
Mind Control on the WebMind Control on the Web
Mind Control on the WebBen Scofield
 
How the Geeks Inherited the Earth
How the Geeks Inherited the EarthHow the Geeks Inherited the Earth
How the Geeks Inherited the EarthBen Scofield
 
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 ... SpaceBen Scofield
 
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 SupportBen Scofield
 
Page Caching Resurrected
Page Caching ResurrectedPage Caching Resurrected
Page Caching ResurrectedBen Scofield
 
Page Caching Resurrected: A Fairy Tale
Page Caching Resurrected: A Fairy TalePage Caching Resurrected: A Fairy Tale
Page Caching Resurrected: A Fairy TaleBen Scofield
 

Mais de Ben Scofield (20)

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
 
With a Mighty Hammer
With a Mighty HammerWith a Mighty Hammer
With a Mighty Hammer
 
Mind Control - DevNation Atlanta
Mind Control - DevNation AtlantaMind Control - DevNation Atlanta
Mind Control - DevNation Atlanta
 
Understanding Mastery
Understanding MasteryUnderstanding Mastery
Understanding Mastery
 
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(?)
 
Charlotte.rb - "Comics" Is Hard
Charlotte.rb - "Comics" Is HardCharlotte.rb - "Comics" Is Hard
Charlotte.rb - "Comics" Is Hard
 
The Future of Data
The Future of DataThe Future of Data
The Future of Data
 
WindyCityRails - "Comics" Is Hard
WindyCityRails - "Comics" Is HardWindyCityRails - "Comics" Is Hard
WindyCityRails - "Comics" Is Hard
 
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
 
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
 
Page Caching Resurrected
Page Caching ResurrectedPage Caching Resurrected
Page Caching Resurrected
 
Page Caching Resurrected: A Fairy Tale
Page Caching Resurrected: A Fairy TalePage Caching Resurrected: A Fairy Tale
Page Caching Resurrected: A Fairy Tale
 

Último

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
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)wesley chun
 
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 educationjfdjdjcjdnsjd
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
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.pdfsudhanshuwaghmare1
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Último (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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)
 
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
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

"Comics" Is Hard: Alternative Databases