SlideShare una empresa de Scribd logo
1 de 126
Descargar para leer sin conexión
November 12, 2014 | Las Vegas, NV 
David Yanacek, Amazon DynamoDB 
Jason Lambert, Here by Nokia
App/Web Tier 
Client TierRDBMS
App/Web Tier 
Client TierRDBMS
App/Web Tier 
Client TierData Tier 
Search 
Cache 
Blob Store 
RDBMS 
NoSQL 
Data Warehouse
Data Tier 
Search 
Cache 
Blob Store 
RDBMS 
NoSQL 
Data Warehouse 
logging 
analytics 
key/value 
simple query 
rich search 
hot reads 
complex queries 
and transactions
Data Tier 
Amazon 
DynamoDB 
Amazon 
RDS 
Amazon 
ElastiCache 
Amazon 
S3 
Amazon 
Redshift 
Amazon 
CloudSearch 
logging 
analytics 
key/value 
simple query 
rich search hot reads 
complex queries 
and transactions
“DynamoDB has scaled effortlessly to match our company's explosive growth, doesn't burden our operations staff, and integrates beautifully with our other AWS assets”. 
“I love how DynamoDB enables us to provision our desired throughput, and achieve low latency and seamless scale, even with our constantly growing workloads.”
RDBMS 
Poor Availability Limited Scalability High Cost
lack of strong 
operational consistency 
every engineer needs to 
learn distributed systems 
complexity
Non-Relational 
Fast & Predictable Performance 
Seamless Scalability 
Easy Administration
database service 
automated operationspredictable performance 
fast development 
always durable 
low latencycost effective 
=
table
WRITES 
Continuously replicated to 3 zones 
Quorum acknowledgment 
Persisted to disk (custom SSD) 
READS 
Strongly or eventually consistent 
No trade-off in latency
“Our previous NoSQL database required almost a full time administrator to run. 
Now AWS takes care of it.” 
“Being optimized at AdRollmeans we spend more every month on snacks than we do on DynamoDB–and almost nothing on an ops team” 
Save MoneyReduce Effort
Weatherbugmobile app 
Lightning detection & alerting for 40M users/month 
Developed and tested in weeks, at “1/20th of the cost of the traditional DB approach” 
Super Bowl promotion 
Millions of interactions over a relatively short period of time 
Built the app in 3 days, from design to production-ready
database service 
automated operationspredictable performance 
fast development 
always durable 
low latencycost effective 
=
https://www.example.com/maps/Pike+Place+Market,+Seattle,+ WA/47.6206924,-122.3492979/@47.6151852,- 122.3516502,16z/data=!3m1!4b1!4m8!4m7!1m5!1m1!1s0x54906ab2c151d6cb:0x60441d5f633e9f1c!2m2!1d- 122.3420567!2d47.6101359!1m0
https://__________________________Place+Market,+Seattle,+ WA/47.6206924,-122.3492979/@47.6151852,- 122.3516502,16z/data=!3m1!4b1!4m8!4m7!1m5!1m1!1s0x54906ab2c151d6cb:0x60441d5f633e9f1c!2m2!1d- 122.3420567!2d47.6101359!1m0 
https://short.example.com/c3b87de1
client 
Amazon DynamoDB 
Web Service 
Elastic Load Balancing 
URL Shortener App 
Target Website 
example.com 
website
client 
example.com 
website 
Web Service 
Elastic Load Balancing 
GET /u/d83 
HTTP 1.1 301 Moved Permanently 
Location: http://www.example.com/maps/... 
Amazon DynamoDB
client 
example.com 
website 
Web Service 
Elastic Load Balancing 
GET /maps/Pike+Place... 
Amazon DynamoDB
ShortUrl 
RedirectTo 
CreatedBy 
CreateDate 
example.com/u/d83 
<long url> 
David 
2014-09-09 
example.com/u/abc 
<long url> 
Alice 
2013-08-17 
example.com/u/123 
<long url> 
2013-12-21 
example.com/u/ea2 
<long url> 
Bob 
2014-03-30 
Url Table 
Table
ShortUrl 
RedirectTo 
CreatedBy 
CreateDate 
example.com/u/d83 
<long url> 
David 
2014-09-09 
example.com/u/abc 
<long url> 
Alice 
2013-08-17 
example.com/u/123 
<long url> 
2013-12-21 
example.com/u/ea2 
<long url> 
Bob 
2014-03-30 
Url Table 
Item
ShortUrl 
RedirectTo 
CreatedBy 
CreateDate 
example.com/u/d83 
<long url> 
David 
2014-09-09 
example.com/u/abc 
<long url> 
Alice 
2013-08-17 
example.com/u/123 
<long url> 
2013-12-21 
example.com/u/ea2 
<long url> 
Bob 
2014-03-30 
Url Table 
Attributes (schema-less)
ShortUrl 
RedirectTo 
CreatedBy 
CreateDate 
example.com/u/d83 
<long url> 
David 
2014-09-09 
example.com/u/abc 
<long url> 
Alice 
2013-08-17 
example.com/u/123 
<long url> 
2013-12-21 
example.com/u/ea2 
<long url> 
Bob 
2014-03-30 
Url Table 
Primary Key (Hash Index)
Item (JSON Document)
String Set 
String 
Number 
Map 
Not pictured: 
•Binary 
•List 
•Null 
•Number Set 
•Binary Set 
Boolean
64 KB 
400 KB
dynamodb.putItem({ 
TableName:'Url', 
Item:{ 
ShortUrl:"short.example.com/4ua93", 
RedirectTo:"long.example.com/maps/Pike+Place...", 
IsLive:true, 
Tags:["map","directions"], 
Metadata:{ 
CreatedBy:"David", 
CreateDate:"2014-19-21T08:49", 
TargetViews:100 
}, 
Stats:{ 
LastVisited:"2014-10-30T10:31", 
PageViews:326 
} 
} 
},function(err,data){ 
if(err)print(err);// an error occurred 
elseprint(data);// successful response 
}); 
Request 
Response (empty)
dynamodb.getItem({ 
TableName:'Url', 
Key:{ 
"ShortUrl":"short.example.com/4ua93" 
}, 
ConsistentRead:true 
},function(err,data){ 
if(err)print(err); 
elseprint(data); 
}); 
Optional read-your-writes consistency
dynamodb.scan({ 
TableName:'Url', 
ProjectionExpression:'ShortUrl, ' 
+'RedirectTo, Stats.LastVisited', 
Limit:2 
}).eachPage(function(err,data){ 
if(err)print(err); 
elseif(data)print(data); 
}); 
SQL-like expressions 
Paginated (max 1 MB per page)
dynamodb.scan({ 
TableName:'Url', 
FilterExpression: 
'begins_with(RedirectTo, :domain) '+ 
'AND contains(Tags, :tag)'+ 
'AND ('+ 
' Stats.PageViews> Metadata.TargetViews'+ 
' OR '+ 
' Stats.StarCount> Metadata.TargetStars'+ 
')', 
ExpressionAttributeValues:{ 
':domain':'long.example.com/', 
':tag':'directions' 
} 
}).eachPage(function(err,data){ 
if(err)print(err); 
elseif(data)print(data); 
}); 
Nested conditions 
Compare existing attributes 
Filter Expressions 
and Improved Conditions!
Update when viewed
dynamodb.updateItem({ 
TableName:'Url', 
Key:{ 
"ShortUrl":"short.example.com/4ua93" 
}, 
UpdateExpression: 
'SET Usage.Views= Usage.Views+ :increment_by, ' 
+'Usage.LastVisited= :now', 
ExpressionAttributeValues:{ 
':increment_by':1, 
':now':newDate().toISOString() 
}, 
ReturnValues:'ALL_NEW', 
ConditionExpression:'attribute_exists(ShortUrl)' 
},function(err,data){ 
if(err)print(err); 
elseprint(data); 
}); 
Increment views by 1
dynamodb.updateItem({ 
TableName:'Url', 
Key:{ 
"ShortUrl":"short.example.com/4ua93" 
}, 
UpdateExpression: 
'SET Usage.Views= Usage.Views+ :increment_by, ' 
+'Usage.LastVisited= :now', 
ExpressionAttributeValues:{ 
':increment_by':1, 
':now':newDate().toISOString() 
}, 
ReturnValues:'ALL_NEW', 
ConditionExpression:'attribute_exists(ShortUrl)' 
},function(err,data){ 
if(err)print(err); 
elseprint(data); 
}); 
Writes are also free reads!
Images Table
Images Table 
User 
Image 
Date 
Link 
Bob 
aed4c 
2013-10-01 
s3://… 
Bob 
cf2e2 
2013-09-05 
s3://… 
Bob 
f93bae 
2013-10-08 
s3://… 
Alice 
ca61a 
2013-09-12 
s3://… 
Hash and range primary key schema (composite key)
Images Table 
User 
Image 
Date 
Link 
Bob 
aed4c 
2013-10-01 
s3://… 
Bob 
cf2e2 
2013-09-05 
s3://… 
Bob 
f93bae 
2013-10-08 
s3://… 
Alice 
ca61a 
2013-09-12 
s3://… 
Range: Index is sorted by range key, can do range queries 
Hash: Equality queries only
Images Table 
User 
Image 
Date 
Link 
Bob 
aed4c 
2013-10-01 
s3://… 
Bob 
cf2e2 
2013-09-05 
s3://… 
Bob 
f93bae 
2013-10-08 
s3://… 
Alice 
ca61a 
2013-09-12 
s3://… 
Bob 
Query for Bob’s Images 
Query 
FROM Images 
WHERE User=Bob
Images Table 
User 
Image 
Date 
Link 
Bob 
aed4c 
2013-10-01 
s3://… 
Bob 
cf2e2 
2013-09-05 
s3://… 
Bob 
f93bae 
2013-10-08 
s3://… 
Alice 
ca61a 
2013-09-12 
s3://… 
User 
Date 
Image 
Bob 
2013-09-05 
cf2e2 
Bob 
2013-10-01 
aed4c 
Bob 
2013-10-08 
f93bae 
Alice 
2013-09-12 
ca61a 
Table 
ByDate Local Secondary Index 
Local secondary index on Date
Images Table 
User 
Image 
Date 
Link 
Bob 
aed4c 
2013-10-01 
s3://… 
Bob 
cf2e2 
2013-09-05 
s3://… 
Bob 
f93bae 
2013-10-08 
s3://… 
Alice 
ca61a 
2013-09-12 
s3://… 
User 
Date 
Image 
Bob 
2013-09-05 
cf2e2 
Bob 
2013-10-01 
aed4c 
Bob 
2013-10-08 
f93bae 
Alice 
2013-09-12 
ca61a 
Table 
ByDate Local Secondary Index 
Query for Bob’s 
two most recent images 
Query 
FROM Image-Index 
WHERE User=Bob, DESC, LIMIT 2
Images 
Table 
ImageTags 
Table
ImageTags Table 
Image 
User 
aed4c 
Alice 
aed4c 
Bob 
f93bae 
Bob
ImageTags Table 
Image 
User 
aed4c 
Alice 
aed4c 
Bob 
f93bae 
Bob 
Hash and range primary key schema
Image 
User 
aed4c 
Alice 
aed4c 
Bob 
f93bae 
Bob 
ImageTags Table 
Bob 
Query 
FROM ImageTags 
WHERE Image=aed4c
ImageTags Table 
Image 
User 
aed4c 
Alice 
aed4c 
Bob 
f93bae 
Alice 
f93bae 
Bob 
Bob 
Tag Alice in Image f93bae
and/or range keyfor your table 
•Even moreflexible query patterns 
Distributed transaction managed for you by DynamoDB
ImageTags Table 
Image 
User 
aed4c 
Alice 
aed4c 
Bob 
f93bae 
Alice 
f93bae 
Bob 
Table
ImageTags Table 
Global secondary index on User, Image 
User 
Image 
Bob 
aed4c 
Bob 
f93bae 
Alice 
aed4c 
Alice 
f93bae 
ByUser Global Secondary Index 
Image 
User 
aed4c 
Alice 
aed4c 
Bob 
f93bae 
Alice 
f93bae 
Bob 
Table 
Alternate hash and range keys
ImageTags Table 
Alice 
Query for images tagged Alice 
User 
Image 
Bob 
aed4c 
Bob 
f93bae 
Alice 
aed4c 
Alice 
f93bae 
ByUser Global Secondary Index 
Image 
User 
aed4c 
Alice 
aed4c 
Bob 
f93bae 
Alice 
f93bae 
Bob 
Table 
Query 
FROM ImageTags-Index 
WHERE User=Alice
{ 
Id: abecd, 
Players : [ Alice, Bob ], 
State : STARTED, 
Turn : Bob, 
Top-Right : O 
} 
Game Item
Amazon 
DynamoDB 
Alice 
Bob
Amazon 
DynamoDB 
Alice 
Bob 
Update: 
Top-Right : O 
Turn : Bob
Amazon 
DynamoDB 
Alice 
Bob 
Update: 
Top-Left : X 
Turn : Alice
Alice 
Bob (1) 
Amazon 
DynamoDB 
Bob (2) 
Bob (3)
Alice 
Bob (1) 
Amazon 
DynamoDB 
Bob (2) 
Bob (3)
Alice 
Bob (1) 
Amazon 
DynamoDB 
Bob (2) 
Bob (3)
Bob (1) 
Amazon 
DynamoDB 
Bob (2) 
Bob (3) 
State : STARTED, 
Turn : Bob, 
Top-Right : O
Bob (1) 
Amazon 
DynamoDB 
Bob (2) 
Bob (3) 
Update: 
Turn : Alice 
Top-Left : X 
Update: 
Turn : Alice 
Mid : X 
State : STARTED, 
Turn : Bob, 
Top-Right : O 
Update: 
Turn : Alice 
Low-Right : X
Bob (1) 
Amazon 
DynamoDB 
Bob (2) 
Bob (3) 
Update: 
Turn : Alice 
Top-Left : X 
Update: 
Turn : Alice 
Mid : X 
State : STARTED, 
Turn : Alice, 
Top-Right : O, 
Top-Left : X, 
Mid: X, 
Low-Right: X 
Update: 
Turn : Alice 
Low-Right : X
Update: 
Turn : Alice 
Low-Right : X 
Expect: 
Turn : Bob 
Low-Right : null 
Bob (1) 
Amazon 
DynamoDB 
Bob (2) 
Bob (3) 
Update: 
Turn : Alice 
Top-Left : X 
Expect: 
Turn : Bob 
Top-Left : null 
State : STARTED, 
Turn : Bob, 
Top-Right : O 
Update: 
Turn : Alice 
Mid : X 
Expect: 
Turn : Bob 
Mid : null
Bob (1) 
Amazon 
DynamoDB 
Bob (2) 
Bob (3) 
State : STARTED, 
Turn : Bob, 
Top-Right : O 
Update: 
Turn : Alice 
Top-Left : X 
Expect: 
Turn : Bob 
Top-Left : null 
Update: 
Turn : Alice 
Low-Right : X 
Expect: 
Turn : Bob 
Low-Right : null 
Update: 
Turn : Alice 
Mid : X 
Expect: 
Turn : Bob 
Mid : null
Bob (1) 
Amazon 
DynamoDB 
Bob (2) 
Bob (3) 
State : STARTED, 
Turn : Alice, 
Top-Right : O, 
Top-Left : X 
Update: 
Turn : Alice 
Top-Left : X 
Expect: 
Turn : Bob 
Top-Left : null 
Update: 
Turn : Alice 
Mid : X 
Expect: 
Turn : Bob 
Mid : null 
Update: 
Turn : Alice 
Low-Right : X 
Expect: 
Turn : Bob 
Low-Right : null
Amazon 
DynamoDB 
Bob 
Alice 
Update: 
Turn : Alice 
Top-Right : X 
Expect: 
Turn : Bob 
Top-Right : null 
Update: 
Turn : Bob 
Top-Left : X 
Expect: 
Turn : Alice 
Top-Left : null
{ 
Id : abecd, 
Players : [ Alice, Bob ], 
State : STARTED, 
Turn : Bob, 
Top-Right: O, 
Version : 2 
}
Bob (1) 
Bob (2) 
Time
Bob (1) 
Bob (2) 
Read 
Version: 1 
Turn: Bob 
Version: 1 
Turn: Bob 
Time
Bob (1) 
Bob (2) 
Read 
Read 
Version: 1 
Turn: Bob 
Version: 1 
Turn: Bob 
Version: 1 
Turn: Bob 
Time
Bob (1) 
Bob (2) 
Time 
Read 
Read 
Version: 1 
Turn: Bob 
Version: 1 
Turn: Bob 
Version: 1 
Turn: Bob 
Version: 2 
Turn: Alice 
Top-Right: X 
Version: 2 
Turn: Alice 
Top-Right: X
Bob (1) 
Bob (2) 
Read 
Read 
Version: 1 
Turn: Bob 
Version: 1 
Turn: Bob 
Version: 1 
Turn: Bob 
Version: 2 
Turn: Alice 
Top-Right: X 
Version: 2 
Turn: Alice 
Top-Right: X 
Version: 2 
Turn: Alice 
Top-Right: X 
Put 
If V=1 
Time
Bob (1) 
Bob (2) 
Read 
Read 
Version: 1 
Turn: Bob 
Version: 1 
Turn: Bob 
Version: 1 
Turn: Bob 
Version: 2 
Turn: Alice 
Top-Right: X 
Version: 2 
Turn: Alice 
Top-Right: X 
Version: 2 
Turn: Alice 
Top-Right: X 
Put 
If V=1 
Put 
If V=1 
Time
@DynamoDBTable(tableName="TicTacToeGame") 
publicclassGame { 
privateString id; 
// ... other attributes 
privateLong version; 
@DynamoDBHashKey 
publicString getId(){...} 
@DynamoDBVersionAttribute 
publicLong getVersion(){...} 
}
@DynamoDBTable(tableName="TicTacToeGame") 
publicclassGame { 
privateString id; 
// ... other attributes 
privateLong version; 
@DynamoDBHashKey 
publicString getId(){...} 
@DynamoDBVersionAttribute 
publicLong getVersion(){...} 
}
// 1. Load Game 
Game game=dynamoDBMapper.load(Game.class,"cde3f"); 
// 2. See if the move is valid 
// 3. Update the Game object 
// 4. Save the game 
dynamoDBMapper.save(game);
Amazon Redshift 
Amazon EMR 
DynamoDB 
Amazon RDS 
Amazon CloudSearch 
dynamoDBMapper.save(game); 
transaction.commit();
Addresses to Geolocations
records, tracking and analytics
high performance run time data retrieval
–Preparing a new wave of data to hit the service, tripling our coverage and data count
•Chop the big data stream files into small files 
•Store those billions of files on a big CDN file system
http://navteq-maps.ovi.com.edgesuite.net/144/0206/23/87/53/206238753_r10_f5_x0_y2.jpg 
We split the world into chunks –lots of those chunks have no streets 
We couldn’t implement our own tracking and analytics 
$$$$$$$$$$$$
Future flexible API
Keeps an index of all large files 
Stores large files 
Origin Service
RDS
406311934325785de138c33-fa48-4418- 8ffa-54cc05e72adabigFile8098.big 
A server can look up a DynamoDB record by key (~10ms), find the s3 location and use the Amazon S3 API to read file chunks (~60ms)
~50% 80%
http://bit.ly/awsevals

Más contenido relacionado

La actualidad más candente

Deep Dive on Amazon DynamoDB - AWS Online Tech Talks
Deep Dive on Amazon DynamoDB - AWS Online Tech TalksDeep Dive on Amazon DynamoDB - AWS Online Tech Talks
Deep Dive on Amazon DynamoDB - AWS Online Tech TalksAmazon Web Services
 
AWS Webcast - Optimize your database for the cloud with DynamoDB – A Deep Div...
AWS Webcast - Optimize your database for the cloud with DynamoDB – A Deep Div...AWS Webcast - Optimize your database for the cloud with DynamoDB – A Deep Div...
AWS Webcast - Optimize your database for the cloud with DynamoDB – A Deep Div...Amazon Web Services
 
Building Applications with DynamoDB
Building Applications with DynamoDBBuilding Applications with DynamoDB
Building Applications with DynamoDBAmazon Web Services
 
Amazon DynamoDB Lessen's Learned by Beginner
Amazon DynamoDB Lessen's Learned by BeginnerAmazon DynamoDB Lessen's Learned by Beginner
Amazon DynamoDB Lessen's Learned by BeginnerHirokazu Tokuno
 
Extending Cassandra with Doradus OLAP for High Performance Analytics
Extending Cassandra with Doradus OLAP for High Performance AnalyticsExtending Cassandra with Doradus OLAP for High Performance Analytics
Extending Cassandra with Doradus OLAP for High Performance Analyticsrandyguck
 
User Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love StoryUser Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love StoryDatabricks
 
Strata Presentation: One Billion Objects in 2GB: Big Data Analytics on Small ...
Strata Presentation: One Billion Objects in 2GB: Big Data Analytics on Small ...Strata Presentation: One Billion Objects in 2GB: Big Data Analytics on Small ...
Strata Presentation: One Billion Objects in 2GB: Big Data Analytics on Small ...randyguck
 
Cassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series Example
Cassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series ExampleCassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series Example
Cassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series ExampleDataStax Academy
 
Analytics with Cassandra & Spark
Analytics with Cassandra & SparkAnalytics with Cassandra & Spark
Analytics with Cassandra & SparkMatthias Niehoff
 
A Developer’s View into Spark's Memory Model with Wenchen Fan
A Developer’s View into Spark's Memory Model with Wenchen FanA Developer’s View into Spark's Memory Model with Wenchen Fan
A Developer’s View into Spark's Memory Model with Wenchen FanDatabricks
 
Redshift at Lightspeed: How to continuously optimize and modify Redshift sche...
Redshift at Lightspeed: How to continuously optimize and modify Redshift sche...Redshift at Lightspeed: How to continuously optimize and modify Redshift sche...
Redshift at Lightspeed: How to continuously optimize and modify Redshift sche...Amazon Web Services
 

La actualidad más candente (20)

Amazon DynamoDB Design Workshop
Amazon DynamoDB Design WorkshopAmazon DynamoDB Design Workshop
Amazon DynamoDB Design Workshop
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB
 
AWS Webcast - Dynamo DB
AWS Webcast - Dynamo DBAWS Webcast - Dynamo DB
AWS Webcast - Dynamo DB
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDBDeep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB
 
Deep Dive on Amazon DynamoDB - AWS Online Tech Talks
Deep Dive on Amazon DynamoDB - AWS Online Tech TalksDeep Dive on Amazon DynamoDB - AWS Online Tech Talks
Deep Dive on Amazon DynamoDB - AWS Online Tech Talks
 
AWS Webcast - Optimize your database for the cloud with DynamoDB – A Deep Div...
AWS Webcast - Optimize your database for the cloud with DynamoDB – A Deep Div...AWS Webcast - Optimize your database for the cloud with DynamoDB – A Deep Div...
AWS Webcast - Optimize your database for the cloud with DynamoDB – A Deep Div...
 
DynamoDB Deep Dive
DynamoDB Deep DiveDynamoDB Deep Dive
DynamoDB Deep Dive
 
Building Applications with DynamoDB
Building Applications with DynamoDBBuilding Applications with DynamoDB
Building Applications with DynamoDB
 
Amazon DynamoDB Workshop
Amazon DynamoDB WorkshopAmazon DynamoDB Workshop
Amazon DynamoDB Workshop
 
Under the Covers of DynamoDB
Under the Covers of DynamoDBUnder the Covers of DynamoDB
Under the Covers of DynamoDB
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDBDeep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB
 
Amazon DynamoDB Lessen's Learned by Beginner
Amazon DynamoDB Lessen's Learned by BeginnerAmazon DynamoDB Lessen's Learned by Beginner
Amazon DynamoDB Lessen's Learned by Beginner
 
DynamoDB Design Workshop
DynamoDB Design WorkshopDynamoDB Design Workshop
DynamoDB Design Workshop
 
Extending Cassandra with Doradus OLAP for High Performance Analytics
Extending Cassandra with Doradus OLAP for High Performance AnalyticsExtending Cassandra with Doradus OLAP for High Performance Analytics
Extending Cassandra with Doradus OLAP for High Performance Analytics
 
User Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love StoryUser Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love Story
 
Strata Presentation: One Billion Objects in 2GB: Big Data Analytics on Small ...
Strata Presentation: One Billion Objects in 2GB: Big Data Analytics on Small ...Strata Presentation: One Billion Objects in 2GB: Big Data Analytics on Small ...
Strata Presentation: One Billion Objects in 2GB: Big Data Analytics on Small ...
 
Cassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series Example
Cassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series ExampleCassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series Example
Cassandra Day Atlanta 2015: Data Modeling In-Depth: A Time Series Example
 
Analytics with Cassandra & Spark
Analytics with Cassandra & SparkAnalytics with Cassandra & Spark
Analytics with Cassandra & Spark
 
A Developer’s View into Spark's Memory Model with Wenchen Fan
A Developer’s View into Spark's Memory Model with Wenchen FanA Developer’s View into Spark's Memory Model with Wenchen Fan
A Developer’s View into Spark's Memory Model with Wenchen Fan
 
Redshift at Lightspeed: How to continuously optimize and modify Redshift sche...
Redshift at Lightspeed: How to continuously optimize and modify Redshift sche...Redshift at Lightspeed: How to continuously optimize and modify Redshift sche...
Redshift at Lightspeed: How to continuously optimize and modify Redshift sche...
 

Destacado

(SDD424) Simplifying Scalable Distributed Applications Using DynamoDB Streams...
(SDD424) Simplifying Scalable Distributed Applications Using DynamoDB Streams...(SDD424) Simplifying Scalable Distributed Applications Using DynamoDB Streams...
(SDD424) Simplifying Scalable Distributed Applications Using DynamoDB Streams...Amazon Web Services
 
Masterclass Webinar: Amazon DynamoDB July 2014
Masterclass Webinar: Amazon DynamoDB July 2014Masterclass Webinar: Amazon DynamoDB July 2014
Masterclass Webinar: Amazon DynamoDB July 2014Amazon Web Services
 
Gluecon 2012 - DynamoDB
Gluecon 2012 - DynamoDBGluecon 2012 - DynamoDB
Gluecon 2012 - DynamoDBJeff Douglas
 
Webinar | Introduction to Amazon DynamoDB
Webinar | Introduction to Amazon DynamoDBWebinar | Introduction to Amazon DynamoDB
Webinar | Introduction to Amazon DynamoDBAmazon Web Services
 
What's New with Amazon DynamoDB - AWS Online Tech Talks
What's New with Amazon DynamoDB - AWS Online Tech TalksWhat's New with Amazon DynamoDB - AWS Online Tech Talks
What's New with Amazon DynamoDB - AWS Online Tech TalksAmazon Web Services
 
Dynamodb Presentation
Dynamodb PresentationDynamodb Presentation
Dynamodb Presentationadvaitdeo
 

Destacado (8)

(SDD424) Simplifying Scalable Distributed Applications Using DynamoDB Streams...
(SDD424) Simplifying Scalable Distributed Applications Using DynamoDB Streams...(SDD424) Simplifying Scalable Distributed Applications Using DynamoDB Streams...
(SDD424) Simplifying Scalable Distributed Applications Using DynamoDB Streams...
 
Masterclass Webinar: Amazon DynamoDB July 2014
Masterclass Webinar: Amazon DynamoDB July 2014Masterclass Webinar: Amazon DynamoDB July 2014
Masterclass Webinar: Amazon DynamoDB July 2014
 
Gluecon 2012 - DynamoDB
Gluecon 2012 - DynamoDBGluecon 2012 - DynamoDB
Gluecon 2012 - DynamoDB
 
Webinar | Introduction to Amazon DynamoDB
Webinar | Introduction to Amazon DynamoDBWebinar | Introduction to Amazon DynamoDB
Webinar | Introduction to Amazon DynamoDB
 
What's New with Amazon DynamoDB - AWS Online Tech Talks
What's New with Amazon DynamoDB - AWS Online Tech TalksWhat's New with Amazon DynamoDB - AWS Online Tech Talks
What's New with Amazon DynamoDB - AWS Online Tech Talks
 
Dynamodb Presentation
Dynamodb PresentationDynamodb Presentation
Dynamodb Presentation
 
Introducing DynamoDB
Introducing DynamoDBIntroducing DynamoDB
Introducing DynamoDB
 
Introduction to Amazon DynamoDB
Introduction to Amazon DynamoDBIntroduction to Amazon DynamoDB
Introduction to Amazon DynamoDB
 

Similar a (BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014

DynamoDB as a Secondary Language - Pop-up Loft Tel Aviv
DynamoDB as a Secondary Language - Pop-up Loft Tel AvivDynamoDB as a Secondary Language - Pop-up Loft Tel Aviv
DynamoDB as a Secondary Language - Pop-up Loft Tel AvivAmazon Web Services
 
Application Development and Data Modeling on Amazon DynamoDB
Application Development and Data Modeling on Amazon DynamoDBApplication Development and Data Modeling on Amazon DynamoDB
Application Development and Data Modeling on Amazon DynamoDBAmazon Web Services Japan
 
Hands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4jHands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4jSerendio Inc.
 
Battle of NoSQL stars: Amazon's SDB vs MongoDB vs CouchDB vs RavenDB
Battle of NoSQL stars: Amazon's SDB vs MongoDB vs CouchDB vs RavenDBBattle of NoSQL stars: Amazon's SDB vs MongoDB vs CouchDB vs RavenDB
Battle of NoSQL stars: Amazon's SDB vs MongoDB vs CouchDB vs RavenDBJesse Wolgamott
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large GraphsNishant Gandhi
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use CasesMax De Marzi
 
Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015StampedeCon
 
SQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 QuestionsSQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 QuestionsMike Broberg
 
Creating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at ScaleCreating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at ScaleSean Chittenden
 
MongoDB .local London 2019: Managing Diverse User Needs with MongoDB and SQL
MongoDB .local London 2019: Managing Diverse User Needs with MongoDB and SQLMongoDB .local London 2019: Managing Diverse User Needs with MongoDB and SQL
MongoDB .local London 2019: Managing Diverse User Needs with MongoDB and SQLMongoDB
 
扩展世界上最大的图片Blog社区
扩展世界上最大的图片Blog社区扩展世界上最大的图片Blog社区
扩展世界上最大的图片Blog社区yiditushe
 
Fotolog: Scaling the World's Largest Photo Blogging Community
Fotolog: Scaling the World's Largest Photo Blogging CommunityFotolog: Scaling the World's Largest Photo Blogging Community
Fotolog: Scaling the World's Largest Photo Blogging Communityfarhan "Frank"​ mashraqi
 
Big Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb ShardingBig Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb ShardingAraf Karsh Hamid
 
How to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech Talks
How to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech TalksHow to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech Talks
How to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech TalksAmazon Web Services
 
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingAmazon Web Services Korea
 
Structured Streaming with Apache Spark
Structured Streaming with Apache SparkStructured Streaming with Apache Spark
Structured Streaming with Apache SparkDataya Nolja
 
Neo4j: Import and Data Modelling
Neo4j: Import and Data ModellingNeo4j: Import and Data Modelling
Neo4j: Import and Data ModellingNeo4j
 
How Rackspace Cloud Monitoring uses Cassandra
How Rackspace Cloud Monitoring uses CassandraHow Rackspace Cloud Monitoring uses Cassandra
How Rackspace Cloud Monitoring uses Cassandragdusbabek
 

Similar a (BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014 (20)

DynamoDB as a Secondary Language - Pop-up Loft Tel Aviv
DynamoDB as a Secondary Language - Pop-up Loft Tel AvivDynamoDB as a Secondary Language - Pop-up Loft Tel Aviv
DynamoDB as a Secondary Language - Pop-up Loft Tel Aviv
 
Application Development and Data Modeling on Amazon DynamoDB
Application Development and Data Modeling on Amazon DynamoDBApplication Development and Data Modeling on Amazon DynamoDB
Application Development and Data Modeling on Amazon DynamoDB
 
Hands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4jHands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4j
 
Battle of NoSQL stars: Amazon's SDB vs MongoDB vs CouchDB vs RavenDB
Battle of NoSQL stars: Amazon's SDB vs MongoDB vs CouchDB vs RavenDBBattle of NoSQL stars: Amazon's SDB vs MongoDB vs CouchDB vs RavenDB
Battle of NoSQL stars: Amazon's SDB vs MongoDB vs CouchDB vs RavenDB
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large Graphs
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use Cases
 
Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015Graph Database Use Cases - StampedeCon 2015
Graph Database Use Cases - StampedeCon 2015
 
SQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 QuestionsSQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 Questions
 
Data Access Patterns
Data Access PatternsData Access Patterns
Data Access Patterns
 
Spark and MongoDB
Spark and MongoDBSpark and MongoDB
Spark and MongoDB
 
Creating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at ScaleCreating PostgreSQL-as-a-Service at Scale
Creating PostgreSQL-as-a-Service at Scale
 
MongoDB .local London 2019: Managing Diverse User Needs with MongoDB and SQL
MongoDB .local London 2019: Managing Diverse User Needs with MongoDB and SQLMongoDB .local London 2019: Managing Diverse User Needs with MongoDB and SQL
MongoDB .local London 2019: Managing Diverse User Needs with MongoDB and SQL
 
扩展世界上最大的图片Blog社区
扩展世界上最大的图片Blog社区扩展世界上最大的图片Blog社区
扩展世界上最大的图片Blog社区
 
Fotolog: Scaling the World's Largest Photo Blogging Community
Fotolog: Scaling the World's Largest Photo Blogging CommunityFotolog: Scaling the World's Largest Photo Blogging Community
Fotolog: Scaling the World's Largest Photo Blogging Community
 
Big Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb ShardingBig Data Redis Mongodb Dynamodb Sharding
Big Data Redis Mongodb Dynamodb Sharding
 
How to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech Talks
How to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech TalksHow to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech Talks
How to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech Talks
 
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
 
Structured Streaming with Apache Spark
Structured Streaming with Apache SparkStructured Streaming with Apache Spark
Structured Streaming with Apache Spark
 
Neo4j: Import and Data Modelling
Neo4j: Import and Data ModellingNeo4j: Import and Data Modelling
Neo4j: Import and Data Modelling
 
How Rackspace Cloud Monitoring uses Cassandra
How Rackspace Cloud Monitoring uses CassandraHow Rackspace Cloud Monitoring uses Cassandra
How Rackspace Cloud Monitoring uses Cassandra
 

Más de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Más de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Último

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Último (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

(BDT203) From Zero to NoSQL Hero: Amazon DynamoDB Tutorial | AWS re:Invent 2014

  • 1. November 12, 2014 | Las Vegas, NV David Yanacek, Amazon DynamoDB Jason Lambert, Here by Nokia
  • 2.
  • 3.
  • 6. App/Web Tier Client TierData Tier Search Cache Blob Store RDBMS NoSQL Data Warehouse
  • 7. Data Tier Search Cache Blob Store RDBMS NoSQL Data Warehouse logging analytics key/value simple query rich search hot reads complex queries and transactions
  • 8. Data Tier Amazon DynamoDB Amazon RDS Amazon ElastiCache Amazon S3 Amazon Redshift Amazon CloudSearch logging analytics key/value simple query rich search hot reads complex queries and transactions
  • 9.
  • 10. “DynamoDB has scaled effortlessly to match our company's explosive growth, doesn't burden our operations staff, and integrates beautifully with our other AWS assets”. “I love how DynamoDB enables us to provision our desired throughput, and achieve low latency and seamless scale, even with our constantly growing workloads.”
  • 11.
  • 12. RDBMS Poor Availability Limited Scalability High Cost
  • 13. lack of strong operational consistency every engineer needs to learn distributed systems complexity
  • 14. Non-Relational Fast & Predictable Performance Seamless Scalability Easy Administration
  • 15. database service automated operationspredictable performance fast development always durable low latencycost effective =
  • 16. table
  • 17.
  • 18.
  • 19. WRITES Continuously replicated to 3 zones Quorum acknowledgment Persisted to disk (custom SSD) READS Strongly or eventually consistent No trade-off in latency
  • 20. “Our previous NoSQL database required almost a full time administrator to run. Now AWS takes care of it.” “Being optimized at AdRollmeans we spend more every month on snacks than we do on DynamoDB–and almost nothing on an ops team” Save MoneyReduce Effort
  • 21. Weatherbugmobile app Lightning detection & alerting for 40M users/month Developed and tested in weeks, at “1/20th of the cost of the traditional DB approach” Super Bowl promotion Millions of interactions over a relatively short period of time Built the app in 3 days, from design to production-ready
  • 22. database service automated operationspredictable performance fast development always durable low latencycost effective =
  • 23.
  • 26. client Amazon DynamoDB Web Service Elastic Load Balancing URL Shortener App Target Website example.com website
  • 27. client example.com website Web Service Elastic Load Balancing GET /u/d83 HTTP 1.1 301 Moved Permanently Location: http://www.example.com/maps/... Amazon DynamoDB
  • 28. client example.com website Web Service Elastic Load Balancing GET /maps/Pike+Place... Amazon DynamoDB
  • 29. ShortUrl RedirectTo CreatedBy CreateDate example.com/u/d83 <long url> David 2014-09-09 example.com/u/abc <long url> Alice 2013-08-17 example.com/u/123 <long url> 2013-12-21 example.com/u/ea2 <long url> Bob 2014-03-30 Url Table Table
  • 30. ShortUrl RedirectTo CreatedBy CreateDate example.com/u/d83 <long url> David 2014-09-09 example.com/u/abc <long url> Alice 2013-08-17 example.com/u/123 <long url> 2013-12-21 example.com/u/ea2 <long url> Bob 2014-03-30 Url Table Item
  • 31. ShortUrl RedirectTo CreatedBy CreateDate example.com/u/d83 <long url> David 2014-09-09 example.com/u/abc <long url> Alice 2013-08-17 example.com/u/123 <long url> 2013-12-21 example.com/u/ea2 <long url> Bob 2014-03-30 Url Table Attributes (schema-less)
  • 32. ShortUrl RedirectTo CreatedBy CreateDate example.com/u/d83 <long url> David 2014-09-09 example.com/u/abc <long url> Alice 2013-08-17 example.com/u/123 <long url> 2013-12-21 example.com/u/ea2 <long url> Bob 2014-03-30 Url Table Primary Key (Hash Index)
  • 34. String Set String Number Map Not pictured: •Binary •List •Null •Number Set •Binary Set Boolean
  • 35. 64 KB 400 KB
  • 36.
  • 37. dynamodb.putItem({ TableName:'Url', Item:{ ShortUrl:"short.example.com/4ua93", RedirectTo:"long.example.com/maps/Pike+Place...", IsLive:true, Tags:["map","directions"], Metadata:{ CreatedBy:"David", CreateDate:"2014-19-21T08:49", TargetViews:100 }, Stats:{ LastVisited:"2014-10-30T10:31", PageViews:326 } } },function(err,data){ if(err)print(err);// an error occurred elseprint(data);// successful response }); Request Response (empty)
  • 38. dynamodb.getItem({ TableName:'Url', Key:{ "ShortUrl":"short.example.com/4ua93" }, ConsistentRead:true },function(err,data){ if(err)print(err); elseprint(data); }); Optional read-your-writes consistency
  • 39. dynamodb.scan({ TableName:'Url', ProjectionExpression:'ShortUrl, ' +'RedirectTo, Stats.LastVisited', Limit:2 }).eachPage(function(err,data){ if(err)print(err); elseif(data)print(data); }); SQL-like expressions Paginated (max 1 MB per page)
  • 40. dynamodb.scan({ TableName:'Url', FilterExpression: 'begins_with(RedirectTo, :domain) '+ 'AND contains(Tags, :tag)'+ 'AND ('+ ' Stats.PageViews> Metadata.TargetViews'+ ' OR '+ ' Stats.StarCount> Metadata.TargetStars'+ ')', ExpressionAttributeValues:{ ':domain':'long.example.com/', ':tag':'directions' } }).eachPage(function(err,data){ if(err)print(err); elseif(data)print(data); }); Nested conditions Compare existing attributes Filter Expressions and Improved Conditions!
  • 41.
  • 42.
  • 43.
  • 45. dynamodb.updateItem({ TableName:'Url', Key:{ "ShortUrl":"short.example.com/4ua93" }, UpdateExpression: 'SET Usage.Views= Usage.Views+ :increment_by, ' +'Usage.LastVisited= :now', ExpressionAttributeValues:{ ':increment_by':1, ':now':newDate().toISOString() }, ReturnValues:'ALL_NEW', ConditionExpression:'attribute_exists(ShortUrl)' },function(err,data){ if(err)print(err); elseprint(data); }); Increment views by 1
  • 46. dynamodb.updateItem({ TableName:'Url', Key:{ "ShortUrl":"short.example.com/4ua93" }, UpdateExpression: 'SET Usage.Views= Usage.Views+ :increment_by, ' +'Usage.LastVisited= :now', ExpressionAttributeValues:{ ':increment_by':1, ':now':newDate().toISOString() }, ReturnValues:'ALL_NEW', ConditionExpression:'attribute_exists(ShortUrl)' },function(err,data){ if(err)print(err); elseprint(data); }); Writes are also free reads!
  • 47.
  • 48.
  • 49.
  • 50.
  • 52. Images Table User Image Date Link Bob aed4c 2013-10-01 s3://… Bob cf2e2 2013-09-05 s3://… Bob f93bae 2013-10-08 s3://… Alice ca61a 2013-09-12 s3://… Hash and range primary key schema (composite key)
  • 53. Images Table User Image Date Link Bob aed4c 2013-10-01 s3://… Bob cf2e2 2013-09-05 s3://… Bob f93bae 2013-10-08 s3://… Alice ca61a 2013-09-12 s3://… Range: Index is sorted by range key, can do range queries Hash: Equality queries only
  • 54. Images Table User Image Date Link Bob aed4c 2013-10-01 s3://… Bob cf2e2 2013-09-05 s3://… Bob f93bae 2013-10-08 s3://… Alice ca61a 2013-09-12 s3://… Bob Query for Bob’s Images Query FROM Images WHERE User=Bob
  • 55.
  • 56.
  • 57. Images Table User Image Date Link Bob aed4c 2013-10-01 s3://… Bob cf2e2 2013-09-05 s3://… Bob f93bae 2013-10-08 s3://… Alice ca61a 2013-09-12 s3://… User Date Image Bob 2013-09-05 cf2e2 Bob 2013-10-01 aed4c Bob 2013-10-08 f93bae Alice 2013-09-12 ca61a Table ByDate Local Secondary Index Local secondary index on Date
  • 58. Images Table User Image Date Link Bob aed4c 2013-10-01 s3://… Bob cf2e2 2013-09-05 s3://… Bob f93bae 2013-10-08 s3://… Alice ca61a 2013-09-12 s3://… User Date Image Bob 2013-09-05 cf2e2 Bob 2013-10-01 aed4c Bob 2013-10-08 f93bae Alice 2013-09-12 ca61a Table ByDate Local Secondary Index Query for Bob’s two most recent images Query FROM Image-Index WHERE User=Bob, DESC, LIMIT 2
  • 59.
  • 61. ImageTags Table Image User aed4c Alice aed4c Bob f93bae Bob
  • 62. ImageTags Table Image User aed4c Alice aed4c Bob f93bae Bob Hash and range primary key schema
  • 63. Image User aed4c Alice aed4c Bob f93bae Bob ImageTags Table Bob Query FROM ImageTags WHERE Image=aed4c
  • 64. ImageTags Table Image User aed4c Alice aed4c Bob f93bae Alice f93bae Bob Bob Tag Alice in Image f93bae
  • 65.
  • 66.
  • 67. and/or range keyfor your table •Even moreflexible query patterns Distributed transaction managed for you by DynamoDB
  • 68. ImageTags Table Image User aed4c Alice aed4c Bob f93bae Alice f93bae Bob Table
  • 69. ImageTags Table Global secondary index on User, Image User Image Bob aed4c Bob f93bae Alice aed4c Alice f93bae ByUser Global Secondary Index Image User aed4c Alice aed4c Bob f93bae Alice f93bae Bob Table Alternate hash and range keys
  • 70. ImageTags Table Alice Query for images tagged Alice User Image Bob aed4c Bob f93bae Alice aed4c Alice f93bae ByUser Global Secondary Index Image User aed4c Alice aed4c Bob f93bae Alice f93bae Bob Table Query FROM ImageTags-Index WHERE User=Alice
  • 71.
  • 72.
  • 73.
  • 74. { Id: abecd, Players : [ Alice, Bob ], State : STARTED, Turn : Bob, Top-Right : O } Game Item
  • 76. Amazon DynamoDB Alice Bob Update: Top-Right : O Turn : Bob
  • 77. Amazon DynamoDB Alice Bob Update: Top-Left : X Turn : Alice
  • 78. Alice Bob (1) Amazon DynamoDB Bob (2) Bob (3)
  • 79. Alice Bob (1) Amazon DynamoDB Bob (2) Bob (3)
  • 80. Alice Bob (1) Amazon DynamoDB Bob (2) Bob (3)
  • 81. Bob (1) Amazon DynamoDB Bob (2) Bob (3) State : STARTED, Turn : Bob, Top-Right : O
  • 82. Bob (1) Amazon DynamoDB Bob (2) Bob (3) Update: Turn : Alice Top-Left : X Update: Turn : Alice Mid : X State : STARTED, Turn : Bob, Top-Right : O Update: Turn : Alice Low-Right : X
  • 83. Bob (1) Amazon DynamoDB Bob (2) Bob (3) Update: Turn : Alice Top-Left : X Update: Turn : Alice Mid : X State : STARTED, Turn : Alice, Top-Right : O, Top-Left : X, Mid: X, Low-Right: X Update: Turn : Alice Low-Right : X
  • 84.
  • 85. Update: Turn : Alice Low-Right : X Expect: Turn : Bob Low-Right : null Bob (1) Amazon DynamoDB Bob (2) Bob (3) Update: Turn : Alice Top-Left : X Expect: Turn : Bob Top-Left : null State : STARTED, Turn : Bob, Top-Right : O Update: Turn : Alice Mid : X Expect: Turn : Bob Mid : null
  • 86. Bob (1) Amazon DynamoDB Bob (2) Bob (3) State : STARTED, Turn : Bob, Top-Right : O Update: Turn : Alice Top-Left : X Expect: Turn : Bob Top-Left : null Update: Turn : Alice Low-Right : X Expect: Turn : Bob Low-Right : null Update: Turn : Alice Mid : X Expect: Turn : Bob Mid : null
  • 87. Bob (1) Amazon DynamoDB Bob (2) Bob (3) State : STARTED, Turn : Alice, Top-Right : O, Top-Left : X Update: Turn : Alice Top-Left : X Expect: Turn : Bob Top-Left : null Update: Turn : Alice Mid : X Expect: Turn : Bob Mid : null Update: Turn : Alice Low-Right : X Expect: Turn : Bob Low-Right : null
  • 88. Amazon DynamoDB Bob Alice Update: Turn : Alice Top-Right : X Expect: Turn : Bob Top-Right : null Update: Turn : Bob Top-Left : X Expect: Turn : Alice Top-Left : null
  • 89. { Id : abecd, Players : [ Alice, Bob ], State : STARTED, Turn : Bob, Top-Right: O, Version : 2 }
  • 90.
  • 91. Bob (1) Bob (2) Time
  • 92. Bob (1) Bob (2) Read Version: 1 Turn: Bob Version: 1 Turn: Bob Time
  • 93. Bob (1) Bob (2) Read Read Version: 1 Turn: Bob Version: 1 Turn: Bob Version: 1 Turn: Bob Time
  • 94. Bob (1) Bob (2) Time Read Read Version: 1 Turn: Bob Version: 1 Turn: Bob Version: 1 Turn: Bob Version: 2 Turn: Alice Top-Right: X Version: 2 Turn: Alice Top-Right: X
  • 95. Bob (1) Bob (2) Read Read Version: 1 Turn: Bob Version: 1 Turn: Bob Version: 1 Turn: Bob Version: 2 Turn: Alice Top-Right: X Version: 2 Turn: Alice Top-Right: X Version: 2 Turn: Alice Top-Right: X Put If V=1 Time
  • 96. Bob (1) Bob (2) Read Read Version: 1 Turn: Bob Version: 1 Turn: Bob Version: 1 Turn: Bob Version: 2 Turn: Alice Top-Right: X Version: 2 Turn: Alice Top-Right: X Version: 2 Turn: Alice Top-Right: X Put If V=1 Put If V=1 Time
  • 97. @DynamoDBTable(tableName="TicTacToeGame") publicclassGame { privateString id; // ... other attributes privateLong version; @DynamoDBHashKey publicString getId(){...} @DynamoDBVersionAttribute publicLong getVersion(){...} }
  • 98. @DynamoDBTable(tableName="TicTacToeGame") publicclassGame { privateString id; // ... other attributes privateLong version; @DynamoDBHashKey publicString getId(){...} @DynamoDBVersionAttribute publicLong getVersion(){...} }
  • 99. // 1. Load Game Game game=dynamoDBMapper.load(Game.class,"cde3f"); // 2. See if the move is valid // 3. Update the Game object // 4. Save the game dynamoDBMapper.save(game);
  • 100.
  • 101.
  • 102.
  • 103. Amazon Redshift Amazon EMR DynamoDB Amazon RDS Amazon CloudSearch dynamoDBMapper.save(game); transaction.commit();
  • 104.
  • 105.
  • 106.
  • 108. records, tracking and analytics
  • 109. high performance run time data retrieval
  • 110. –Preparing a new wave of data to hit the service, tripling our coverage and data count
  • 111.
  • 112. •Chop the big data stream files into small files •Store those billions of files on a big CDN file system
  • 113. http://navteq-maps.ovi.com.edgesuite.net/144/0206/23/87/53/206238753_r10_f5_x0_y2.jpg We split the world into chunks –lots of those chunks have no streets We couldn’t implement our own tracking and analytics $$$$$$$$$$$$
  • 115. Keeps an index of all large files Stores large files Origin Service
  • 116.
  • 117.
  • 118. RDS
  • 119.
  • 120. 406311934325785de138c33-fa48-4418- 8ffa-54cc05e72adabigFile8098.big A server can look up a DynamoDB record by key (~10ms), find the s3 location and use the Amazon S3 API to read file chunks (~60ms)
  • 121.
  • 122.
  • 123.
  • 125.