SlideShare ist ein Scribd-Unternehmen logo
1 von 110
Downloaden Sie, um offline zu lesen
Welcome
“Comics” Is Hard:
Domain Modeling Challenges
Ben Scofield – Viget Labs
#?forben
Modeling



#?forben
flickr: bunchofpants
Crowdsourcing
#?forben
flickr: ropesandpulleys
flickr: paopix
person   rating   rater
just because you can
                                                    doesn’t mean you should



http://thisisindexed.com/2009/02/just-because-you-can-doesnt-mean-you-should/
just because you can
                                                    doesn’t mean you should



http://thisisindexed.com/2009/02/just-because-you-can-doesnt-mean-you-should/
just because you can
                                                    doesn’t mean you should



http://thisisindexed.com/2009/02/just-because-you-can-doesnt-mean-you-should/
person   rating
person
avg / # ratings
The Challenge
Deciding what to model
Biology

#?forben
Linnean taxonomy
Kingdom
   Phylum
   Class
   Order
   Family
   Genus
   Species
flickr: pandiyan
Animalia
   Chordata
   Mammalia
   Carnivora
   Felidae
   Panthera
   tigris
flickr: pandiyan
kingdom   phylum     class




 genus     family    order




species   organism
Problem
The levels are imaginary
subphylum

           kingdom                phylum                   class

                                             superclass            subclass


                     subfamily                suborder
                                                                   superorder
            genus                  family                  order

subgenus                                     superfamily


                     subspecies

           species                organism

                       variety
subphylum

           kingdom                phylum                   class




                                  ?
                                             superclass            subclass


                     subfamily                suborder
                                                                   superorder
            genus                  family                  order

subgenus                                     superfamily


                     subspecies

           species                organism

                       variety
subspecies

taxon taxon taxon   species                organism

                                variety
Species
flickr: cpurrin1
Reproductive Isolation
flickr: superciliousness
Reproductive Isolation
flickr: superciliousness
flickr: jassen
flickr: niznoz
Numerical taxonomy
Cladistics
taxon clade taxon   organism
Problem
Cladistics is historical and
    counter-intuitive
flickr: goellnitz
flickr: goellnitz
       pcoin
The Challenge
Unclear, imprecise domain
comics

#?forben
publisher   title   issue
publisher   imprint   title




                      issue
publisher   imprint    title




            issue     volume
publisher   imprint            title




            issue             volume




                      trade
publisher             imprint            title




                      issue             volume




            variant             trade
name




publisher             imprint            title




                      issue             volume




            variant             trade
name




publisher              imprint               title




                        ?
                        issue
                      nested set?
                                            volume




            variant                 trade
“Experience CIVIL WAR and its major tie-ins
from CIVIL WAR: FRONT LINE and
FANTASTIC FOUR in chronological order! ...”
name




                  ??
publisher              imprint               title




                        issue
storyline                                   volume
                      nested set?




            variant                 trade
imprint




publisher                title              name




storyline
            @#&*!       issue
                      nested set?
                                            volume




            variant                 trade
science fiction
     noir       horror

      genres?
independent
           Martial Arts
 historical
  Pirate      superhero
imprint     publisher




@#&*!
               title      name


 genre


              issue
                          volume
            nested set?




storyline    variant      trade
The Challenge
Complete insanity
Alternatives
                     databases unite!




#?forben
flickr: ikhnaton2
http://thisisindexed.com/2009/02/just-because-you-can-doesnt-mean-you-should/
Key-Value

#?forben
Redis    Tokyo Cabinet
 Project Voldemort
  Cassandra*
require quot;rubygemsquot;
                 require quot;tokyocabinetquot;

                 include TokyoCabinet

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

                 # store records in the database, allowing duplicates
                 bdb.putdup(quot;key1quot;, quot;value1quot;)
                 bdb.putdup(quot;key1quot;, quot;value2quot;)
                 bdb.put(quot;key2quot;, quot;value3quot;)
                 bdb.put(quot;key3quot;, quot;value4quot;)

                 # retrieve all values
                 p bdb.getlist(quot;key1quot;)
                 # => [quot;value1quot;, quot;value2quot;]

                 # range query, find all matching keys
                 p bdb.range(quot;key1quot;, true, quot;key3quot;, true)
                 # => [quot;key1quot;, quot;key2quot;, quot;key3quot;]




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

#?forben
{
    'name':'Ben Scofield',
    'adjective':'awesomesauce'
}

{
    'name':'Magic Pony',
    'description':'It is a *lie*!'
}
HTTP
Crowdsourcing   ✓
   Biology      ✓
   Comics       x
{
    'name':'Ben Scofield',
    'image’:‘http://whatevs.com/ben.jpg',
    ‘average_rating’:‘4.667’,
    ‘number_of_ratings’:’3’
}
{
    'kingdom':'Animalia',
    ‘phylum’:‘Chordata’,
    ‘subphylum’:‘Vertebrata’,
    ‘class’:‘Mammalia’,
    ‘subclass’:‘Eutheria’,
    ‘order’:‘Carnivora’,
    ‘family’:‘Felidae’,
    ‘subfamily’:‘Panthernae’,
    ‘genus’:‘Pantera’,
    ‘species’:‘tigris’,
    ‘name’:‘Wanda’
}
Graph

#?forben
AllegroGraph
Java     Java / Lisp
http://neotechnology.com/why-neo
http://markorodriguez.com/Lectures_files/risk-symposium2009.pdf
flickr: 9948354@N08
Crowdsourcing   x
   Biology      ✓
   Comics       ✓
Animalia


             ...


           Felidae
                         subfamilyof


          genusof              Panthernae

                          genusof
          Panthera


          speciesof


            tigris


          member


            001


    age    name       weight



3          Wanda                  300
Animalia


                         ...


                       Felidae
                                     subfamilyof


                      genusof              Panthernae

                                      genusof
                      Panthera



species               speciesof
              type

                        tigris
                         010

              name
 tigris               member


                        001


                age    name       weight



          3            Wanda                  300
Group IV


  orderof


Picornavirales



  familyof


Picornaviridae



  genusof


Rhinovirus


 speciesof

   human
rhinovirus A


  member


    002
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
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
Hybrid Solutions



#?forben
flickr: joriel
Configuration   ✓
  Caching      ✓
Translations   ✓
post
tag
      document id




                    {
                        'title':'Post Title'
                        'content':'Hello!'
                        'comments':[quot;First!quot;]
                    }
http://www.speakerrate.com/talks/1169


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

Weitere ähnliche Inhalte

Mehr von Ben Scofield

Mehr von Ben Scofield (20)

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
 
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
 
"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
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

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
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
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
 
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...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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...
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

"Comics" Is Hard: Domain Modeling Challenges