DynamoDB presented by David Pearson from AWS
Bizo Business Audience Marketing success story on AWS by Alex Boisvert, Director of Engineering, Bizo
In today's world, consumer habits change fast and marketing decisions need to be made within seconds, not days. Delivering engaging advertising experiences requires real time, high performing architectures that provide digital advertisers the ability to measure and improve the performance of their campaigns and tie them more closely to corporate goals. The insights gleaned from the massive amounts of data collected can then be used to dynamically adjust media spend and creative execution for optimal performance. The AWS Cloud enables you to deliver marketing content and advertisements with the levels of availability, performance, and personalization that your customers expect. Plus, AWS lowers your costs. Join us to learn about how big data and low latency / high performing architectures are changing the game for digital advertising.
9. Fast Application
Development
Time to Build
New Applications
• Flexible data models
• Simple API
• High-scale queries
• Laptop development
Amazon
DynamoDB
DEVS
OPS
USERS
10. Latest News… DynamoDB Local
• Disconnected development
• Full API support
• Download from http://aws.amazon.com/dynamodb/resources/#testing
12. request-based capacity provisioning model
Provisioned Throughput
Throughput is declared and updated via the API or the console
CreateTable (foo, reads/sec = 100, writes/sec = 150)
UpdateTable (foo, reads/sec=10000, writes/sec=4500)
DynamoDB handles the rest
Capacity is reserved and available when needed
Scaling-up triggers repartitioning and reallocation
No impact to performance or availability
17. EC2
Profiles Database
ad request
ad url
visitor
Ad Servers
DynamoDB
1. Visitor loads a web page
2. Web page issues a request to ad servers on EC2
3. Query to DynamoDB returns the ad to display
4. Link is returned to visitor
19. EC2
Profiles DatabaseAd Servers
DynamoDB
RTB
platform
Bidder DynamoDB
Ads Profiles
Queues
and
Bufferbid response
20 ms
20 ms 20 ms 40 ms
Request network transit
Response network transit
Decision on best ad and bid price based on
optimization that needs multiple data look-ups
Contingency
time buffer
…
bid request
21. visitor
Optimize for scale, elasticity, and availability
• Multi-AZ: maintain EC2 capacity in multiple availability zones
• Auto Scaling: scale EC2 capacity to automatically manage
variations in workload
• Elastic Load Balancing: automatically distribute incoming
traffic across multiple EC2 instances
EC2 (MAZ)
ad request
ad url
Ad Servers
DynamoDB
Elastic Load
Balancing
Profiles Database
22. visitor
1. Ad files are downloaded from CloudFront
2. Impressions captured into logs on S3
CloudFront
advertisement
impression logs
Static Repository Files
Amazon S3
EC2 (MAZ)
ad request
ad url
Ad Servers
DynamoDB
Elastic Load
Balancing
Profiles Database
23. CloudFront
advertisement
impression logs
Static Repository Files
Amazon S3
Profiles Database
EC2 (MAZ)
ad request
ad url
Ad Servers
DynamoDB
Elastic Load
Balancing
visitor
Click-through requests are
captured via EC2 into log
files and persisted on S3
Click-through
Servers
click through
log files
click through
requests
Elastic Load
Balancing
EC2
(MAZ)
25. CloudFront
advertisement
impression logs
Static Repository Files
Amazon S3
Profiles Database
EC2 (MAZ)
ad request
ad url
Ad Servers
DynamoDB
Elastic Load
Balancing
visitor
new
bids
updated
profiles
new
requests
Redshift
ETL
Amazon EMR
unstructured
log files
Click-through
Servers
click through
log files
click through
requests
Elastic Load
Balancing
EC2
(MAZ)
26. Amazon Redshift
Drive qualified users to
advertiser’s sites
• Ad server logs
• 3rd party data
• Bid history
• User history
Bid Optimization
Business Analytics using Redshift
Optimize return on
advertising expenditure
• Impressions
• 3rd party data
• User history
• Enrichment
Cost Optimization
30. DynamoDB
cookies
Time Series Data
CreateTable: new
cookie ingest table
PutItem: insert new
cookies into new table
User_Cookies_0
hash=userid
range=timestamp
<cookie payload>
User_Profile
hash=userid
<profile data>
User_Cookies_1
hash=userid
range=timestamp
<cookie payload>
url
34. Four Drivers of DynamoDB Adoption
Resources
David Pearson pearsond@amazon.com
Best Practices http://aws.amazon.com/dynamodb/resources/
Scalable Easy To Use (Durably) Fast Inexpensive