Hey, Google: Scan Away! Jake Harr and Jeff Pool tell you why A - - PowerPoint PPT Presentation

hey google scan away
SMART_READER_LITE
LIVE PREVIEW

Hey, Google: Scan Away! Jake Harr and Jeff Pool tell you why A - - PowerPoint PPT Presentation

Hey, Google: Scan Away! Jake Harr and Jeff Pool tell you why A Match Made in Heaven Storage Correctness Extendable design Storage Correctness Integrity checking within the database NormalizaGon Extendable design Storage


slide-1
SLIDE 1

Hey, Google: Scan Away!

Jake Harr and Jeff Pool tell you why

slide-2
SLIDE 2

A Match Made in Heaven

slide-3
SLIDE 3

Storage

  • Correctness
  • Extendable design
slide-4
SLIDE 4

Storage

  • Correctness

– Integrity checking within the database – NormalizaGon

  • Extendable design
slide-5
SLIDE 5

Storage

  • Correctness
  • Extendable design

– Not locked into predetermined publicaGon types – Can add full texts simply – Can also add other objects

  • Images
  • Video
slide-6
SLIDE 6

Storage Details

slide-7
SLIDE 7

Retrieval

  • Robust
  • Extendable
  • Modular
  • Synergy
  • Performant
slide-8
SLIDE 8

Retrieval

  • Robust

– Unit tesGng

  • Extendable
  • Modular
  • Synergy
  • Performant
slide-9
SLIDE 9

Retrieval

  • Robust
  • Extendable

– Different DB engine – Different language

  • Modular
  • Synergy
  • Performant
slide-10
SLIDE 10

Retrieval

  • Robust
  • Extendable
  • Modular

– Each class encapsulates funcGonality – DB gateway, SQL interface

  • Synergy
  • Performant
slide-11
SLIDE 11

Retrieval

  • Robust
  • Extendable
  • Modular
  • Synergy

– It’s bigger than all of us – You can’t fight it

  • Performant
slide-12
SLIDE 12

Retrieval

  • Robust
  • Extendable
  • Modular
  • Synergy
  • Performant

– DB is only accessed when necessary – Query caching system in place and modifiable

slide-13
SLIDE 13

Retrieval

  • C++/Java/Python
  • Mapping
  • SQL Layer
  • JDBC Layer
slide-14
SLIDE 14

Mappers

  • Deliver Objects to the Client
  • Only accept certain requests

– Find ____ by _____

  • Don’t know anything about:

– SQL – JDBC – Databases

slide-15
SLIDE 15

Gateway

  • Accepts an AbstractQuery, made of:

– Tables to join – A\ributes to find – RestricGons (WHERE clause)

  • Equality, substring matching, regexp, etc.
  • Queries the QueryCache
  • Generates a proper query, depending on

flavor

  • Returns a relaGon to the calling Mapper
slide-16
SLIDE 16

QueryCache

  • Hashes AbstractQueries to their associated

RelaGons

  • Simple for now, but effecGve with mulGple

users

  • Can be easily modified and extended
  • No extra work is necessary, will improve

performance much like a hardware cache

slide-17
SLIDE 17

SQLGenerator

  • Can be wri\en in many flavors
  • Factory pa\ern

– mySQLGenerator – MSSQLGenerator – Etc…

  • Take a list of tables, a\ributes, and restricGons
  • Generates properly forma\ed SQL query
slide-18
SLIDE 18

DBConnecGon

  • Currently JDBC
  • Can change with minimal effort (single class)
  • Accepts a properly forma\ed query
  • Executes the query, packages the resulGng

RelaGon

  • RelaGon is returned to Gateway