SlideShare a Scribd company logo
“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

More Related Content

More from Ben Scofield

Ship It
Ship ItShip It
Ship It
Ben Scofield
 
Building Cloud Castles
Building Cloud CastlesBuilding Cloud Castles
Building Cloud Castles
Ben Scofield
 
Intentionality: Choice and Mastery
Intentionality: Choice and MasteryIntentionality: Choice and Mastery
Intentionality: Choice and Mastery
Ben Scofield
 
Mastery or Mediocrity
Mastery or MediocrityMastery or Mediocrity
Mastery or Mediocrity
Ben Scofield
 
With a Mighty Hammer
With a Mighty HammerWith a Mighty Hammer
With a Mighty Hammer
Ben Scofield
 
Mind Control - DevNation Atlanta
Mind Control - DevNation AtlantaMind Control - DevNation Atlanta
Mind Control - DevNation Atlanta
Ben Scofield
 
Understanding Mastery
Understanding MasteryUnderstanding Mastery
Understanding Mastery
Ben Scofield
 
Mind Control: Psychology for the Web
Mind Control: Psychology for the WebMind Control: Psychology for the Web
Mind Control: Psychology for the Web
Ben Scofield
 
The State of NoSQL
The State of NoSQLThe State of NoSQL
The State of NoSQL
Ben Scofield
 
NoSQL @ CodeMash 2010
NoSQL @ CodeMash 2010NoSQL @ CodeMash 2010
NoSQL @ CodeMash 2010
Ben 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 Hard
Ben Scofield
 
The Future of Data
The Future of DataThe Future of Data
The Future of Data
Ben Scofield
 
WindyCityRails - "Comics" Is Hard
WindyCityRails - "Comics" Is HardWindyCityRails - "Comics" Is Hard
WindyCityRails - "Comics" Is Hard
Ben Scofield
 
Mind Control on the Web
Mind Control on the WebMind Control on the Web
Mind Control on the Web
Ben Scofield
 
How the Geeks Inherited the Earth
How the Geeks Inherited the EarthHow the Geeks Inherited the Earth
How the Geeks Inherited the Earth
Ben 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 ... Space
Ben 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 Support
Ben Scofield
 
Page Caching Resurrected
Page Caching ResurrectedPage Caching Resurrected
Page Caching Resurrected
Ben Scofield
 
Page Caching Resurrected: A Fairy Tale
Page Caching Resurrected: A Fairy TalePage Caching Resurrected: A Fairy Tale
Page Caching Resurrected: A Fairy Tale
Ben Scofield
 

More from 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
 

Recently uploaded

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 

"Comics" Is Hard: Alternative Databases