SlideShare uma empresa Scribd logo
1 de 110
Baixar para ler offline
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

Mais conteúdo relacionado

Mais de Ben Scofield

Open Source: A Call to Arms
Open Source: A Call to ArmsOpen Source: A Call to Arms
Open Source: A Call to ArmsBen 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
 
"Comics" Is Hard: Alternative Databases
"Comics" Is Hard: Alternative Databases"Comics" Is Hard: Alternative Databases
"Comics" Is Hard: Alternative DatabasesBen 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
 

Mais de 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
 

Último

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 

Último (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 

"Comics" Is Hard: Domain Modeling Challenges