hey google scan away
play

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


  1. Hey, Google: Scan Away! Jake Harr and Jeff Pool tell you why

  2. A Match Made in Heaven

  3. Storage • Correctness • Extendable design

  4. Storage • Correctness – Integrity checking within the database – NormalizaGon • Extendable design

  5. Storage • Correctness • Extendable design – Not locked into predetermined publicaGon types – Can add full texts simply – Can also add other objects • Images • Video

  6. Storage Details

  7. Retrieval • Robust • Extendable • Modular • Synergy • Performant

  8. Retrieval • Robust – Unit tesGng • Extendable • Modular • Synergy • Performant

  9. Retrieval • Robust • Extendable – Different DB engine – Different language • Modular • Synergy • Performant

  10. Retrieval • Robust • Extendable • Modular – Each class encapsulates funcGonality – DB gateway, SQL interface • Synergy • Performant

  11. Retrieval • Robust • Extendable • Modular • Synergy – It’s bigger than all of us – You can’t fight it • Performant

  12. Retrieval • Robust • Extendable • Modular • Synergy • Performant – DB is only accessed when necessary – Query caching system in place and modifiable

  13. Retrieval • C++/Java/Python • Mapping • SQL Layer • JDBC Layer

  14. Mappers • Deliver Objects to the Client • Only accept certain requests – Find ____ by _____ • Don’t know anything about: – SQL – JDBC – Databases

  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

  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

  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

  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

Recommend


More recommend