drupal as a data purveyor, part i
TRANSCRIPT
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13@astonishdesign #ddtx13
Drupal as a Data Purveyor
Layering Drupal with emerging technologies to create a performant, scalable data purveyor.
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
ASTONISH DESIGNC H A N G E G A M E
Diana Montalion Dupuis@dianadupuis
Sam Heuck@samheuck
Andrew Elster@filmknurd
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
ASTONISH DESIGNC H A N G E G A M E
We have a new website: astonishdesign.com
@Astonish_Design
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
An open-source content management PHP/MySQL framework designed for rapid development of content-rich web applications.
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Reasons (among many)
• Growth: evolving tool
• Foundation skill set
• User features
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
http://jdhancock.com/ • JD Hancock• http://farm9.staticflickr.com/8322/8031897271_9c63e48a29_b.jpg
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
“Big” Data
"Big" in relation to the amount of content Drupal is designed
to manage
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Velocity
BIKE WALLS• http://www.bikewalls.com
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Content
•Every kind of data•Coming from everywhere
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Current Issues
•Bootstrapping•Bottlenecks - Normalized - Join Happy•Lack of solution architecture
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
ViewsRapid
DevelopmentPlatform
Visitors& ContentAuthors
Miners
Who is the user?
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Welcome to the future
When modularizing the architecture creates performant applications for all content and all users.
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
Traditional Optimizations
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13@astonishdesign #ddtx13
A Balancing Act
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13@astonishdesign #ddtx13
Go for the low hanging fruit
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
ELENA ELISSEEVA, SHUTTERSTOCK • http://www.shutterstock.com/pic.mhtml?id=61884133
Case Study: NRG
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
High AbstractionEasy to MaintainCheap
Low AbstractionHard to Maintain
Costly
Views Query BuilderDynamic Queries Static Queries
LowPerformance
HighPerformance
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13@astonishdesign #ddtx13
The problem with views...
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13@astonishdesign #ddtx13
In other words...
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13@astonishdesign #ddtx13
Solution!
Dynamic • Extensible • Integrated
Query Builder API
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
High AbstractionEasy to MaintainCheap
Low AbstractionHard to Maintain
Costly
Views Query BuilderDynamic Queries Static Queries
LowPerformance
HighPerformance
OLEKSANDR DIBROVA/DEPOSITPHOTOS • http://depositphotos.com/10983976/stock-photo-Brick-Wall.html
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
DuplicateData
RapidDevelopment
Platform
DenormalizedDocument Storage for READS
NormalizedRelational for WRITES
Data Mining
Content & DataCreation
CoSQL
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
DOUG BEGHTEL/THE OREGONIAN • http://www.oregonlive.com/foodday/index.ssf/2011/09/act_quick_on_those_grocery_out.html
ASTONISH DESIGNC H A N G E G A M E astonishdesign.com@astonishdesign #ddtx13
In our next session ...