尊敬的 微信汇率:1円 ≈ 0.046239 元 支付宝汇率:1円 ≈ 0.04633元 [退出登录]
SlideShare a Scribd company logo
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Nate Slater, Senior Manager AWS Solutions Architecture
Benedikt Neuenfeldt, Architect, SIE Inc.
Aki Kusumoto, VP of NPS Development Department, SIE Inc.
December 1, 2016
Migrating from RDBMS to NoSQL
How PlayStation™Network Moved
from MySQL to Amazon DynamoDB
DAT318
What to Expect from the Session
• Understand key differences between NoSQL and
RDBMS
• Learn the fundamentals of Amazon DynamoDB
• Identify suitable use cases for DynamoDB
• Plan and execute a migration from RDBMS to
DynamoDB
• Explore a customer use case: Sony’s migration from
MySQL to DynamoDB
2016 – A Dizzying Array of Choices for Data Storage and Analytics!
file:///.file/id=657136
7.22587195
Tame the Madness!
Despite a dizzying array of choices, most workloads are
well suited to a tiny subset of options, such as:
• RDBMS – The workhorse. Still as relevant today as it’s
ever been.
• NoSQL – The newcomer. Efficient and inexpensive for
high-volume, high-velocity data.
Why NoSQL?
• Horizontal Scaling – Achieve massive scale at a price
point lower than traditional RDMBS.
• High Concurrency – Locking and consistency models of
NoSQL allow for much higher concurrency than an
ACID-compliant RDBMS.
• Flexible Schema – Key-value pairs and JSON
documents stored in the same table do not need to be
identical in form.
Scaling RDBMS and NoSQL
Scale-Up = Vertical Scaling
• Higher costs for lower operational complexity
• At the top end, everything is proprietary
Scale-Out = Horizontal Scaling
• Lower cost through the use of commodity hardware and
software
• Operationally complex
• Sharding
• Replication
Introducing Amazon DynamoDB
DynamoDB is a fully managed, horizontally scaling
key/value and document data store:
• No infrastructure to manage
• Scaling handled transparently by the service
• Ideal for highly concurrent reads and writes of small
items
Suitable Workloads for DynamoDB
Ad-Tech
• Capturing browser cookie state
Mobile Applications
• Storing application data and session state
Gaming Applications
• Storing user preferences and application state
• Storing players’ game state
Large-Scale Websites
• Session state
• User data used for personalization
• Access control
Internet of Things
• Sensor data and log ingestion
Fundamentals of DynamoDB
Fundamentals of DynamoDB: Keys
• Partition Key – An attribute that defines how
DynamoDB will partition (i.e., shard) your data
• Sort Key – An attribute that defines how data in a
specific partition key space will be sorted on disk
• Primary Key – The partition key or combination of
partition key and sort key that uniquely identifies a single
item in a table
Fundamentals of DynamoDB: Indexes
• Local Secondary Index (LSI) – An alternate
combination of partition key and sort key that allows
atomic lookups and range queries. Stored on the same
set of partitions as the main table.
• Global Secondary Index (GSI) – An alternate partition
key or combination of partition key and sort key that
allows atomic lookups and range queries. Stored on a
different set of partitions than the main table.
Fundamentals of DynamoDB: Queries
Query – An expression for returning pages of items from a
table or index. Requires a partition key and sort key and
supports range operations (greater than, between, etc.) on
the sort key value.
Fundamentals of DynamoDB: Partitions and IOPS
Partition – A shard of data from a DynamoDB table. A
hash function is applied to the partition key values and the
value of the hash determines the partition.
The number of partitions is determined by taking the max
of the partitions required for storage, and the partitions
required for IO.
Migrating from RDBMS to DynamoDB
A Phased Approach to Migrating to DynamoDB
Planning
Data
Analysis
Data
Modeling
Testing Migration
Planning Phase
Overview
• Define goals of the migration
• Identify tables to migrate
• Document per-table challenges
• Define and document backup and restore strategies
Planning Phase
Migration goals should inform which tables to migrate:
• Look for tables with non-relational data as strong
candidates for migration
• Some examples
• Entity-Attribute-Value tables
• Application session state tables
• User preference tables
• Logging tables
Planning Phase
Clearly define and document the backup and recovery
process and the cutover and rollback procedures.
• As it relates to the migration cutover:
• If the migration strategy requires a full cutover from RDBMS
to DynamoDB, make sure to document the restore/rollback
process.
• If possible, run the workload on DynamoDB and the RDBMS
in parallel. The legacy RDBMS can be disabled after the
workload has been running on DynamoDB in production for a
suitable length of time.
Data Analysis Phase
Analysis of both the source data and application access
patterns is key to understanding the cost and performance
of running the workload on DynamoDB.
Data Analysis Phase
RDBMS Source Data Analysis
Key data attributes:
• Number of items to be imported into
DynamoDB
• Distribution of the item sizes
• Multiplicity of values to be used as
partition or sort keys
Access Pattern of the Application
Examples:
• Write only
• Fetches by distinct value
• Queries across a range of values
DynamoDB Cost
4k Read1k Write
Each Write Capacity Unit
(WCU) is one 1k Write*
Each Read Capacity Unit
(RCU) is one 4k Read*
Storage cost:
GB stored per Month
*DynamoDB has no concept of fractional I/O, so a 3.3k item would require 4x 1k WCU to
write and 1x 4k RCU to read
Data Modeling Phase
Choosing a good primary key for a table is crucial for
performance:
• While it is tempting to use the primary key on the source RDBMS
table, this is often not a good practice.
• For example, an RDBMS user table might have a numeric primary
key, but that key is meaningless to the application.
• In this case, the email address would be a better choice for the
DynamoDB table.
Data Modeling Phase
Primary key examples:
• For other data access patterns, such as “write only,” using a
randomly generated numeric ID will work well for the Partition key
• RDBMS tables that contain a unique index on two key values are
good candidates for a Partition + Sort key
• Time series tables often use the time as the Sort key
• For example a table tracking visits to different URLs could use the URL as
the hash key and the date as the range
Data Analysis and Modeling Example
This ER diagram shows the schema used to track events when
processing orders placed online through an e-commerce portal. Both
the RDBMS and DynamoDB tables structures are shown.
Data Analysis Example
The statistical sampling yields a 95th percentile size of 6.6 KB
• Minimum WCU: 𝑐𝑒𝑖𝑙𝑖𝑛𝑔(6.6𝐾𝐵 𝑝𝑒𝑟 𝑖𝑡𝑒𝑚 1𝐾𝐵 𝑝𝑒𝑟 𝑤𝑟𝑖𝑡𝑒 𝑢𝑛𝑖𝑡)=7 𝑤𝑟𝑖𝑡𝑒 𝑢𝑛𝑖𝑡𝑠 𝑝𝑒𝑟 𝑖𝑡𝑒𝑚
• Minimum RCU: 𝑐𝑒𝑖𝑙𝑖𝑛𝑔(6.6𝐾𝐵 𝑝𝑒𝑟 𝑖𝑡𝑒𝑚 4𝐾𝑏 𝑝𝑒𝑟 𝑟𝑒𝑎𝑑 𝑢𝑛𝑖𝑡)=2 𝑟𝑒𝑎𝑑 𝑢𝑛𝑖𝑡𝑠 𝑝𝑒𝑟 𝑖𝑡𝑒𝑚
This particular workload is write-heavy, and we need enough IO to write 1000 events for
500 orders per day. This is computed as follows:
• 500 𝑜𝑟𝑑𝑒𝑟𝑠 𝑝𝑒𝑟 𝑑𝑎𝑦 × 1000 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 𝑜𝑟𝑑𝑒𝑟 = 5 ×105
𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 𝑑𝑎𝑦
• 5 × 105
𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 𝑑𝑎𝑦/86400 𝑠𝑒𝑐𝑜𝑛𝑑𝑠 𝑝𝑒𝑟 𝑑𝑎𝑦 = 5.78 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 𝑠𝑒𝑐𝑜𝑛𝑑
• 𝑐𝑒𝑖𝑙𝑖𝑛𝑔(5.78 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 𝑠𝑒𝑐𝑜𝑛𝑑 × 7 𝑤𝑟𝑖𝑡𝑒 𝑢𝑛𝑖𝑡𝑠 𝑝𝑒𝑟 𝑖𝑡𝑒𝑚) = 41 𝑤𝑟𝑖𝑡𝑒 𝑢𝑛𝑖𝑡𝑠 𝑝𝑒𝑟 𝑠𝑒𝑐𝑜𝑛𝑑
Data Analysis Example
Reads on the table happen only once per hour, when the previous hour’s data is
imported into an Amazon EMR cluster for ETL.
• This operation uses a query that selects items from a given date range (which is why
the EventDate attribute is both a range key and a global secondary index).
• The number of read units (which will be provisioned on the global secondary index)
required to retrieve the results of a query is based on the size of the results returned
by the query:
5.78 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 𝑠𝑒𝑐𝑜𝑛𝑑 × 3600 𝑠𝑒𝑐𝑜𝑛𝑑𝑠 𝑝𝑒𝑟 h 𝑜𝑢𝑟 = 20808 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 h𝑜𝑢𝑟
20808 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 ℎ𝑜𝑢𝑟 × 6.6𝐾𝐵 𝑝𝑒𝑟 𝑖𝑡𝑒𝑚
1024𝐾𝐵
= 134.11MB per hour
Data Analysis Example
To support this particular workload, 256 read units (GSI) and 41 write units (Table & GSI)
will be required. From a practical standpoint, the write units would likely be expressed in
an even number, like 48. We now have all of the data we need to estimate the
DynamoDB cost for this workload:
These can be run through the Amazon Simple Monthly Calculator to derive a cost estimate.
Table
1. Number of items (108
)
2. Item size (7KB)
3. Write units (48)
4. Read units (2)
GSI
1. Number of items (108
)
2. Item size (7KB)
3. Write units (48)
4. Read units (256)
Testing Phase
“A good programmer is someone who
looks both ways before crossing a one-
way street.” – Doug Linder
Testing Phase
During this phase, the entire migration process should be tested end-to-end.
These tests should be run and developed during the other phases because our
migration strategy is iterative. The outcome of a round of tests will often result
in revisiting a previous phase.
Testing Overview
• Basic Acceptance Test
• Functional Tests
• Non-Functional Tests
• User Acceptance Tests
Data Migration Phase
By this time, the end-to-end data migration process will have been
tested and vetted thoroughly. The steps of the process should be fully
documented and automated as much as possible. This should be a
familiar process that has been repeated numerous times in the testing
phase.
• If the migration fails for any reason, execute the rollback procedure,
which also should be well documented and tested.
• After the rollback, a root cause analysis of the failure should be
done. After the issue is identified and resolved, the migration should
be rescheduled.
Conclusion
Keys to Success
• Select a workload that is a good fit for DynamoDB
• Understand the source data and access patterns
• Test thoroughly and often
• Plan on an iterative migration process
What is PSN?
Digital entertainment service platform for PlayStation® devices
• Launched in 2006
• Features and Services
• PlayStation®Store: Online content distribution
• Online multi-play
• Social/Community
• User to user communications
• Etc.
Strategy & Principle
Always-on
Services must always be available without downtime
Scalability
Needs to be able to scale rapidly to increase consumer demand
Testability
Everything needs to be testable
Backwards compatibility
Must still work with legacy platforms and old clients
Establishing a common pattern
Create a guiding framework migrating other services
Friends
About friends?
Friend/Social graph in PSN
Bi-directional friend relationship
• Request Friendship/Accept Request
System Characteristics
• Core system in PSN social features
• Have many sub systems
• Heavy READ access
• Supporting List/Pagination in Web API
• Up to 2000 friends per user
• Multi platform supports
• PlayStation®4, PlayStation®3, PlayStation®Vita, PSP®, iOS, Android, and PC web
Pain points/Bottleneck of current architecture
• Hard to scale out (Fixed sharding)
Original architecture
Master-SlaveRDB
Read App
Write App
L4 Load
Balancer
• On-premises
• Sharded MySQL Master-Slave DB servers
• App servers behind an L4 Load Balancer
Data Center
Hybrid architecture
Amazon
SNS
Master-SlaveRDB
Amazon
EC2
Amazon
ElastiCache
Amazon
SQS
Amazon
EC2
Elastic Load
Balancing
Read App
Write App
L4 Load
Balancer
Amazon
Route 53
Data Center
Architecture geared towards
PS4 launch
Final Architecture
Elastic Load
Balancing
Amazon
EC2
Amazon
DynamoDB
Amazon
ElastiCache
Amazon
SNS
Amazon
Route 53
User ID Friend ID Relationship
User A User B Friends
User A User C Requesting friendship
DynamoDB’s data model allows for easy storing of friend relations
Data migration & rollout
Amazon
SNS
Amazon
SQS
Amazon
DynamoDB
Amazon
EC2
Elastic Load
Balancing
Write AppRead App
On-premises
New service
MySQL Dump
Phase 1a: Start pushing updates into the Amazon SQS to use as a buffer
Phase 1b: Create a dump of the original database on-premises
Data migration & Roll out
Amazon
SNS
Amazon
SQS
Data import
application
Amazon
DynamoDB
Amazon
EC2
Elastic Load
Balancing
Write AppRead App
On-premises
New service
MySQL Dump
Phase 2: Import the MySQL data dump into DynamoDB
Data migration & Roll out
Amazon
SNS
Amazon
SQS
Amazon
DynamoDB
Amazon
EC2
Elastic Load
Balancing
Write AppRead App
On-premises
New service
Real-time
synchronization
application
Phase 3: Start replaying the traffic on the new application
At this point
the new
application is
receiving full
production
traffic for
updates
Bridge & Switch
Amazon
SNS
Amazon
SQS
Amazon
DynamoDB
Amazon
EC2
Elastic Load
Balancing
Write AppRead App
On-premises
New service
Real-time
synchronization
application
Traffic is routed towards the old
application while replicating the
data to the new application
Write traffic
Read traffic
Bridge & Switch
Amazon
SNS
Amazon
SQS
Amazon
DynamoDB
Amazon
EC2
Elastic Load
Balancing
Write AppRead App
On-premises
New service
Real-time
synchronization
application
• Gradually switch read traffic
to the new application
• Can still switch back to the
old application at any time
without incurring any data
loss
Write traffic
Read traffic X%
Read traffic Y%
Bridge & Switch
Amazon
SNS
Amazon
SQS
Amazon
DynamoDB
Amazon
EC2
Elastic Load
Balancing
Write AppRead App
New service
Real-time
synchronization
application
Switch write traffic over to new
application
Write traffic
Read traffic
On-premises
Trophies
About trophies?
Achievement system in PSN
System Characteristics
• Simple data model
• Strict data retention
• Data aggregation required
Pain points/Bottleneck of current architecture
• Limited write capacity/performance
• Complicated system architectures
• Sharding/Replications
Original architecture
Standby
Unlock data
Unlock data
Trophy Stats
Trophy Stats
Calculation
Batch
L4 Load
Balancer
App
Server
Trophy Stats
Data Center
Hybrid architecture
Standby
Unlock data
Unlock data
Trophy Stats
Trophy Stats
Calculation
Batch
L4 Load
Balancer
App
Server
Amazon
SNS
Amazon
EC2
Amazon
ElastiCache
Amazon
SQS
Amazon
EC2
Elastic Load
Balancing
Trophy Stats
Architecture geared towards
PS4 launch
Data Center
New architecture
Elastic Load
Balancing
Amazon
DynamoDB
Amazon
ElastiCache
Amazon
Route 53
Amazon
EC2
AWS
Lambda
Amazon
S3
Amazon Kinesis
Firehose
Taking full advantage of the cloud for enabling new ground-breaking features
Data aggregation
• Taking a very similar approach to Friends, but aggregation is a
unique requirement for Trophies
• Didn’t want to use RDB systems due to scalability concerns
• Using DynamoDB streams and AWS Lambda to calculate and
aggregate data on-the-fly
Amazon
DynamoDB
Amazon
ElastiCache
AWS
Lambda
Amazon
EC2
Amazon Kinesis
Streams
Amazon
S3
Amazon
EMR
Challenges
• Data Integrity is a requirement
• Spent multiple days on reading back data from DynamoDB to
ensure data integrity
• DynamoDB key names
• Reducing key names from the full name (e.g. name) to a
single letter (e.g. ”n”) reduced costs by 3x times
Feature Requests
Multi-region support for DynamoDB
TTL support for DynamoDB
Redis Cluster support for ElastiCache
Multi-region support for RDS
Thank you!
We are hiring globally!
Remember to complete
your evaluations!

More Related Content

What's hot

(DAT401) Amazon DynamoDB Deep Dive
(DAT401) Amazon DynamoDB Deep Dive(DAT401) Amazon DynamoDB Deep Dive
(DAT401) Amazon DynamoDB Deep Dive
Amazon Web Services
 
Structuring Spark: DataFrames, Datasets, and Streaming
Structuring Spark: DataFrames, Datasets, and StreamingStructuring Spark: DataFrames, Datasets, and Streaming
Structuring Spark: DataFrames, Datasets, and Streaming
Databricks
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
pmanvi
 
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
종민 김
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
Shagun Rathore
 
Elasticsearch for beginners
Elasticsearch for beginnersElasticsearch for beginners
Elasticsearch for beginners
Neil Baker
 
Elk stack
Elk stackElk stack
Elk stack
Jilles van Gurp
 
What's New in Apache Hive
What's New in Apache HiveWhat's New in Apache Hive
What's New in Apache Hive
DataWorks Summit
 
Spark streaming: Best Practices
Spark streaming: Best PracticesSpark streaming: Best Practices
Spark streaming: Best Practices
Prakash Chockalingam
 
An Introduction to Elastic Search.
An Introduction to Elastic Search.An Introduction to Elastic Search.
An Introduction to Elastic Search.
Jurriaan Persyn
 
ClickHouse Deep Dive, by Aleksei Milovidov
ClickHouse Deep Dive, by Aleksei MilovidovClickHouse Deep Dive, by Aleksei Milovidov
ClickHouse Deep Dive, by Aleksei Milovidov
Altinity Ltd
 
Apache Spark and MongoDB - Turning Analytics into Real-Time Action
Apache Spark and MongoDB - Turning Analytics into Real-Time ActionApache Spark and MongoDB - Turning Analytics into Real-Time Action
Apache Spark and MongoDB - Turning Analytics into Real-Time Action
João Gabriel Lima
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
Ismaeel Enjreny
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
hypto
 
Introduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of LuceneIntroduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of Lucene
Rahul Jain
 
ElasticSearch Basic Introduction
ElasticSearch Basic IntroductionElasticSearch Basic Introduction
ElasticSearch Basic Introduction
Mayur Rathod
 
Centralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackCentralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stack
Rich Lee
 
Kafka internals
Kafka internalsKafka internals
Kafka internals
David Groozman
 
엘라스틱 서치 세미나
엘라스틱 서치 세미나엘라스틱 서치 세미나
엘라스틱 서치 세미나
종현 김
 
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Databricks
 

What's hot (20)

(DAT401) Amazon DynamoDB Deep Dive
(DAT401) Amazon DynamoDB Deep Dive(DAT401) Amazon DynamoDB Deep Dive
(DAT401) Amazon DynamoDB Deep Dive
 
Structuring Spark: DataFrames, Datasets, and Streaming
Structuring Spark: DataFrames, Datasets, and StreamingStructuring Spark: DataFrames, Datasets, and Streaming
Structuring Spark: DataFrames, Datasets, and Streaming
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민검색엔진이 데이터를 다루는 법 김종민
검색엔진이 데이터를 다루는 법 김종민
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Elasticsearch for beginners
Elasticsearch for beginnersElasticsearch for beginners
Elasticsearch for beginners
 
Elk stack
Elk stackElk stack
Elk stack
 
What's New in Apache Hive
What's New in Apache HiveWhat's New in Apache Hive
What's New in Apache Hive
 
Spark streaming: Best Practices
Spark streaming: Best PracticesSpark streaming: Best Practices
Spark streaming: Best Practices
 
An Introduction to Elastic Search.
An Introduction to Elastic Search.An Introduction to Elastic Search.
An Introduction to Elastic Search.
 
ClickHouse Deep Dive, by Aleksei Milovidov
ClickHouse Deep Dive, by Aleksei MilovidovClickHouse Deep Dive, by Aleksei Milovidov
ClickHouse Deep Dive, by Aleksei Milovidov
 
Apache Spark and MongoDB - Turning Analytics into Real-Time Action
Apache Spark and MongoDB - Turning Analytics into Real-Time ActionApache Spark and MongoDB - Turning Analytics into Real-Time Action
Apache Spark and MongoDB - Turning Analytics into Real-Time Action
 
Introduction to Elasticsearch
Introduction to ElasticsearchIntroduction to Elasticsearch
Introduction to Elasticsearch
 
Introduction to elasticsearch
Introduction to elasticsearchIntroduction to elasticsearch
Introduction to elasticsearch
 
Introduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of LuceneIntroduction to Elasticsearch with basics of Lucene
Introduction to Elasticsearch with basics of Lucene
 
ElasticSearch Basic Introduction
ElasticSearch Basic IntroductionElasticSearch Basic Introduction
ElasticSearch Basic Introduction
 
Centralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stackCentralized log-management-with-elastic-stack
Centralized log-management-with-elastic-stack
 
Kafka internals
Kafka internalsKafka internals
Kafka internals
 
엘라스틱 서치 세미나
엘라스틱 서치 세미나엘라스틱 서치 세미나
엘라스틱 서치 세미나
 
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
Deep Dive into Spark SQL with Advanced Performance Tuning with Xiao Li & Wenc...
 

Viewers also liked

SQL to NoSQL Best Practices with Amazon DynamoDB - AWS July 2016 Webinar Se...
SQL to NoSQL   Best Practices with Amazon DynamoDB - AWS July 2016 Webinar Se...SQL to NoSQL   Best Practices with Amazon DynamoDB - AWS July 2016 Webinar Se...
SQL to NoSQL Best Practices with Amazon DynamoDB - AWS July 2016 Webinar Se...
Amazon Web Services
 
SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013
SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013
SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013
Amazon Web Services
 
Migration and Coexistence between Relational and NoSQL Databases by Manuel H...
 Migration and Coexistence between Relational and NoSQL Databases by Manuel H... Migration and Coexistence between Relational and NoSQL Databases by Manuel H...
Migration and Coexistence between Relational and NoSQL Databases by Manuel H...
Big Data Spain
 
AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)
AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)
AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)
Amazon Web Services
 
Migrating from RDBMS to MongoDB
Migrating from RDBMS to MongoDBMigrating from RDBMS to MongoDB
Migrating from RDBMS to MongoDB
MongoDB
 
AWS re:Invent 2016: Driving AWS Cost Efficiency at Your Company (ENT202)
AWS re:Invent 2016: Driving AWS Cost Efficiency at Your Company (ENT202)AWS re:Invent 2016: Driving AWS Cost Efficiency at Your Company (ENT202)
AWS re:Invent 2016: Driving AWS Cost Efficiency at Your Company (ENT202)
Amazon Web Services
 
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
Amazon Web Services
 
AWS re:Invent 2016: From EC2 to ECS: How Capital One uses Application Load Ba...
AWS re:Invent 2016: From EC2 to ECS: How Capital One uses Application Load Ba...AWS re:Invent 2016: From EC2 to ECS: How Capital One uses Application Load Ba...
AWS re:Invent 2016: From EC2 to ECS: How Capital One uses Application Load Ba...
Amazon Web Services
 
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
Amazon Web Services
 
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
Amazon Web Services
 
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
Amazon Web Services
 
AWS re:Invent 2016: Workshop: Building Your First Big Data Application with A...
AWS re:Invent 2016: Workshop: Building Your First Big Data Application with A...AWS re:Invent 2016: Workshop: Building Your First Big Data Application with A...
AWS re:Invent 2016: Workshop: Building Your First Big Data Application with A...
Amazon Web Services
 
AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...
AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...
AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...
Amazon Web Services
 
AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...
AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...
AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...
Amazon Web Services
 
AWS re:Invent 2016: Migrating a Highly Available and Scalable Database from O...
AWS re:Invent 2016: Migrating a Highly Available and Scalable Database from O...AWS re:Invent 2016: Migrating a Highly Available and Scalable Database from O...
AWS re:Invent 2016: Migrating a Highly Available and Scalable Database from O...
Amazon Web Services
 
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
Amazon Web Services
 
AWS re:Invent 2016: JustGiving: Serverless Data Pipelines, Event-Driven ETL, ...
AWS re:Invent 2016: JustGiving: Serverless Data Pipelines, Event-Driven ETL, ...AWS re:Invent 2016: JustGiving: Serverless Data Pipelines, Event-Driven ETL, ...
AWS re:Invent 2016: JustGiving: Serverless Data Pipelines, Event-Driven ETL, ...
Amazon Web Services
 
Svccg nosql 2011_v4
Svccg nosql 2011_v4Svccg nosql 2011_v4
Svccg nosql 2011_v4
Sid Anand
 
Getting Started with Amazon Enterprise Applications
Getting Started with Amazon Enterprise ApplicationsGetting Started with Amazon Enterprise Applications
Getting Started with Amazon Enterprise Applications
Amazon Web Services
 
Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ...
 Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ... Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ...
Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ...
Amazon Web Services
 

Viewers also liked (20)

SQL to NoSQL Best Practices with Amazon DynamoDB - AWS July 2016 Webinar Se...
SQL to NoSQL   Best Practices with Amazon DynamoDB - AWS July 2016 Webinar Se...SQL to NoSQL   Best Practices with Amazon DynamoDB - AWS July 2016 Webinar Se...
SQL to NoSQL Best Practices with Amazon DynamoDB - AWS July 2016 Webinar Se...
 
SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013
SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013
SmugMug: From MySQL to Amazon DynamoDB (DAT204) | AWS re:Invent 2013
 
Migration and Coexistence between Relational and NoSQL Databases by Manuel H...
 Migration and Coexistence between Relational and NoSQL Databases by Manuel H... Migration and Coexistence between Relational and NoSQL Databases by Manuel H...
Migration and Coexistence between Relational and NoSQL Databases by Manuel H...
 
AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)
AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)
AWS re:Invent 2016: 20k in 20 Days - Agile Genomic Analysis (ENT320)
 
Migrating from RDBMS to MongoDB
Migrating from RDBMS to MongoDBMigrating from RDBMS to MongoDB
Migrating from RDBMS to MongoDB
 
AWS re:Invent 2016: Driving AWS Cost Efficiency at Your Company (ENT202)
AWS re:Invent 2016: Driving AWS Cost Efficiency at Your Company (ENT202)AWS re:Invent 2016: Driving AWS Cost Efficiency at Your Company (ENT202)
AWS re:Invent 2016: Driving AWS Cost Efficiency at Your Company (ENT202)
 
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
AWS re:Invent 2016: Effective Application Data Analytics for Modern Applicati...
 
AWS re:Invent 2016: From EC2 to ECS: How Capital One uses Application Load Ba...
AWS re:Invent 2016: From EC2 to ECS: How Capital One uses Application Load Ba...AWS re:Invent 2016: From EC2 to ECS: How Capital One uses Application Load Ba...
AWS re:Invent 2016: From EC2 to ECS: How Capital One uses Application Load Ba...
 
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
NEW LAUNCH! Intro to Amazon Athena. Easily analyze data in S3, using SQL.
 
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
 
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
AWS re:Invent 2016: Real-Time Data Exploration and Analytics with Amazon Elas...
 
AWS re:Invent 2016: Workshop: Building Your First Big Data Application with A...
AWS re:Invent 2016: Workshop: Building Your First Big Data Application with A...AWS re:Invent 2016: Workshop: Building Your First Big Data Application with A...
AWS re:Invent 2016: Workshop: Building Your First Big Data Application with A...
 
AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...
AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...
AWS re:Invent 2016: Big Data Architectural Patterns and Best Practices on AWS...
 
AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...
AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...
AWS re:Invent 2016: Cloud Monitoring: Change is the New Normal- New Relic & G...
 
AWS re:Invent 2016: Migrating a Highly Available and Scalable Database from O...
AWS re:Invent 2016: Migrating a Highly Available and Scalable Database from O...AWS re:Invent 2016: Migrating a Highly Available and Scalable Database from O...
AWS re:Invent 2016: Migrating a Highly Available and Scalable Database from O...
 
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
 
AWS re:Invent 2016: JustGiving: Serverless Data Pipelines, Event-Driven ETL, ...
AWS re:Invent 2016: JustGiving: Serverless Data Pipelines, Event-Driven ETL, ...AWS re:Invent 2016: JustGiving: Serverless Data Pipelines, Event-Driven ETL, ...
AWS re:Invent 2016: JustGiving: Serverless Data Pipelines, Event-Driven ETL, ...
 
Svccg nosql 2011_v4
Svccg nosql 2011_v4Svccg nosql 2011_v4
Svccg nosql 2011_v4
 
Getting Started with Amazon Enterprise Applications
Getting Started with Amazon Enterprise ApplicationsGetting Started with Amazon Enterprise Applications
Getting Started with Amazon Enterprise Applications
 
Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ...
 Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ... Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ...
Database Migration: Simple, Cross-Engine and Cross-Platform Migrations with ...
 

Similar to AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved from MySQL to Amazon DynamoDB

Deep Dive into DynamoDB
Deep Dive into DynamoDBDeep Dive into DynamoDB
Deep Dive into DynamoDB
AWS Germany
 
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
Amazon Web Services
 
The state of SQL-on-Hadoop in the Cloud
The state of SQL-on-Hadoop in the CloudThe state of SQL-on-Hadoop in the Cloud
The state of SQL-on-Hadoop in the Cloud
DataWorks Summit/Hadoop Summit
 
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Amazon Web Services
 
Workshop on Advanced Design Patterns for Amazon DynamoDB - DAT405 - re:Invent...
Workshop on Advanced Design Patterns for Amazon DynamoDB - DAT405 - re:Invent...Workshop on Advanced Design Patterns for Amazon DynamoDB - DAT405 - re:Invent...
Workshop on Advanced Design Patterns for Amazon DynamoDB - DAT405 - re:Invent...
Amazon Web Services
 
Aerospike Hybrid Memory Architecture
Aerospike Hybrid Memory ArchitectureAerospike Hybrid Memory Architecture
Aerospike Hybrid Memory Architecture
Aerospike, Inc.
 
Optimize Your Reporting In Less Than 10 Minutes
Optimize Your Reporting In Less Than 10 MinutesOptimize Your Reporting In Less Than 10 Minutes
Optimize Your Reporting In Less Than 10 Minutes
Alexandra Sasha Blumenfeld
 
Building Your Data Warehouse with Amazon Redshift
Building Your Data Warehouse with Amazon RedshiftBuilding Your Data Warehouse with Amazon Redshift
Building Your Data Warehouse with Amazon Redshift
Amazon Web Services
 
Processing and Analytics
Processing and AnalyticsProcessing and Analytics
Processing and Analytics
Amazon Web Services
 
AWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDBAWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDB
Amazon Web Services
 
Selecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
Selecting the Right AWS Database Solution - AWS 2017 Online Tech TalksSelecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
Selecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
Amazon Web Services
 
Getting Started with Managed Database Services on AWS - September 2016 Webina...
Getting Started with Managed Database Services on AWS - September 2016 Webina...Getting Started with Managed Database Services on AWS - September 2016 Webina...
Getting Started with Managed Database Services on AWS - September 2016 Webina...
Amazon Web Services
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDBDeep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB
Amazon Web Services
 
Challenges of Implementing an Advanced SQL Engine on Hadoop
Challenges of Implementing an Advanced SQL Engine on HadoopChallenges of Implementing an Advanced SQL Engine on Hadoop
Challenges of Implementing an Advanced SQL Engine on Hadoop
DataWorks Summit
 
Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)
Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)
Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)
Amazon Web Services
 
DAT320_Moving a Galaxy into Cloud
DAT320_Moving a Galaxy into CloudDAT320_Moving a Galaxy into Cloud
DAT320_Moving a Galaxy into Cloud
Amazon Web Services
 
Dynamics CRM high volume systems - lessons from the field
Dynamics CRM high volume systems - lessons from the fieldDynamics CRM high volume systems - lessons from the field
Dynamics CRM high volume systems - lessons from the field
Stéphane Dorrekens
 
Data Science Machine Lerning Bigdat.pptx
Data Science Machine Lerning Bigdat.pptxData Science Machine Lerning Bigdat.pptx
Data Science Machine Lerning Bigdat.pptx
Priyadarshini648418
 
Dynamic DDL: Adding structure to streaming IoT data on the fly
Dynamic DDL: Adding structure to streaming IoT data on the flyDynamic DDL: Adding structure to streaming IoT data on the fly
Dynamic DDL: Adding structure to streaming IoT data on the fly
DataWorks Summit
 
Best Practices for Supercharging Cloud Analytics on Amazon Redshift
Best Practices for Supercharging Cloud Analytics on Amazon RedshiftBest Practices for Supercharging Cloud Analytics on Amazon Redshift
Best Practices for Supercharging Cloud Analytics on Amazon Redshift
SnapLogic
 

Similar to AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved from MySQL to Amazon DynamoDB (20)

Deep Dive into DynamoDB
Deep Dive into DynamoDBDeep Dive into DynamoDB
Deep Dive into DynamoDB
 
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
 
The state of SQL-on-Hadoop in the Cloud
The state of SQL-on-Hadoop in the CloudThe state of SQL-on-Hadoop in the Cloud
The state of SQL-on-Hadoop in the Cloud
 
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
Advanced Design Patterns for Amazon DynamoDB - Workshop (DAT404-R1) - AWS re:...
 
Workshop on Advanced Design Patterns for Amazon DynamoDB - DAT405 - re:Invent...
Workshop on Advanced Design Patterns for Amazon DynamoDB - DAT405 - re:Invent...Workshop on Advanced Design Patterns for Amazon DynamoDB - DAT405 - re:Invent...
Workshop on Advanced Design Patterns for Amazon DynamoDB - DAT405 - re:Invent...
 
Aerospike Hybrid Memory Architecture
Aerospike Hybrid Memory ArchitectureAerospike Hybrid Memory Architecture
Aerospike Hybrid Memory Architecture
 
Optimize Your Reporting In Less Than 10 Minutes
Optimize Your Reporting In Less Than 10 MinutesOptimize Your Reporting In Less Than 10 Minutes
Optimize Your Reporting In Less Than 10 Minutes
 
Building Your Data Warehouse with Amazon Redshift
Building Your Data Warehouse with Amazon RedshiftBuilding Your Data Warehouse with Amazon Redshift
Building Your Data Warehouse with Amazon Redshift
 
Processing and Analytics
Processing and AnalyticsProcessing and Analytics
Processing and Analytics
 
AWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDBAWS Webcast - Build high-scale applications with Amazon DynamoDB
AWS Webcast - Build high-scale applications with Amazon DynamoDB
 
Selecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
Selecting the Right AWS Database Solution - AWS 2017 Online Tech TalksSelecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
Selecting the Right AWS Database Solution - AWS 2017 Online Tech Talks
 
Getting Started with Managed Database Services on AWS - September 2016 Webina...
Getting Started with Managed Database Services on AWS - September 2016 Webina...Getting Started with Managed Database Services on AWS - September 2016 Webina...
Getting Started with Managed Database Services on AWS - September 2016 Webina...
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDBDeep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB
 
Challenges of Implementing an Advanced SQL Engine on Hadoop
Challenges of Implementing an Advanced SQL Engine on HadoopChallenges of Implementing an Advanced SQL Engine on Hadoop
Challenges of Implementing an Advanced SQL Engine on Hadoop
 
Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)
Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)
Amazon Redshift 與 Amazon Redshift Spectrum 幫您建立現代化資料倉儲 (Level 300)
 
DAT320_Moving a Galaxy into Cloud
DAT320_Moving a Galaxy into CloudDAT320_Moving a Galaxy into Cloud
DAT320_Moving a Galaxy into Cloud
 
Dynamics CRM high volume systems - lessons from the field
Dynamics CRM high volume systems - lessons from the fieldDynamics CRM high volume systems - lessons from the field
Dynamics CRM high volume systems - lessons from the field
 
Data Science Machine Lerning Bigdat.pptx
Data Science Machine Lerning Bigdat.pptxData Science Machine Lerning Bigdat.pptx
Data Science Machine Lerning Bigdat.pptx
 
Dynamic DDL: Adding structure to streaming IoT data on the fly
Dynamic DDL: Adding structure to streaming IoT data on the flyDynamic DDL: Adding structure to streaming IoT data on the fly
Dynamic DDL: Adding structure to streaming IoT data on the fly
 
Best Practices for Supercharging Cloud Analytics on Amazon Redshift
Best Practices for Supercharging Cloud Analytics on Amazon RedshiftBest Practices for Supercharging Cloud Analytics on Amazon Redshift
Best Practices for Supercharging Cloud Analytics on Amazon Redshift
 

More from 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 Fargate
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon 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
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
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 Workloads
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon 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 sfatare
Amazon 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 NodeJS
Amazon 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 web
Amazon 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 sfatare
Amazon 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 AWS
Amazon 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 Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
Amazon 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 Service
Amazon Web Services
 

More from 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
 

Recently uploaded

From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google CloudRadically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
ScyllaDB
 
From NCSA to the National Research Platform
From NCSA to the National Research PlatformFrom NCSA to the National Research Platform
From NCSA to the National Research Platform
Larry Smarr
 
MongoDB to ScyllaDB: Technical Comparison and the Path to Success
MongoDB to ScyllaDB: Technical Comparison and the Path to SuccessMongoDB to ScyllaDB: Technical Comparison and the Path to Success
MongoDB to ScyllaDB: Technical Comparison and the Path to Success
ScyllaDB
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
zjhamm304
 
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
manji sharman06
 
APJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes WebinarAPJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes Webinar
ThousandEyes
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
Mydbops
 
An All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS MarketAn All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS Market
ScyllaDB
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
dipikamodels1
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
Multivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back againMultivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back again
Kieran Kunhya
 
Facilitation Skills - When to Use and Why.pptx
Facilitation Skills - When to Use and Why.pptxFacilitation Skills - When to Use and Why.pptx
Facilitation Skills - When to Use and Why.pptx
Knoldus Inc.
 
An Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise IntegrationAn Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise Integration
Safe Software
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 
Automation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI AutomationAutomation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI Automation
UiPathCommunity
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 

Recently uploaded (20)

From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google CloudRadically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
Radically Outperforming DynamoDB @ Digital Turbine with SADA and Google Cloud
 
From NCSA to the National Research Platform
From NCSA to the National Research PlatformFrom NCSA to the National Research Platform
From NCSA to the National Research Platform
 
MongoDB to ScyllaDB: Technical Comparison and the Path to Success
MongoDB to ScyllaDB: Technical Comparison and the Path to SuccessMongoDB to ScyllaDB: Technical Comparison and the Path to Success
MongoDB to ScyllaDB: Technical Comparison and the Path to Success
 
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...QA or the Highway - Component Testing: Bridging the gap between frontend appl...
QA or the Highway - Component Testing: Bridging the gap between frontend appl...
 
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
Call Girls Chandigarh🔥7023059433🔥Agency Profile Escorts in Chandigarh Availab...
 
APJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes WebinarAPJC Introduction to ThousandEyes Webinar
APJC Introduction to ThousandEyes Webinar
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMySQL InnoDB Storage Engine: Deep Dive - Mydbops
MySQL InnoDB Storage Engine: Deep Dive - Mydbops
 
An All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS MarketAn All-Around Benchmark of the DBaaS Market
An All-Around Benchmark of the DBaaS Market
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
Call Girls Kochi 💯Call Us 🔝 7426014248 🔝 Independent Kochi Escorts Service Av...
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
Multivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back againMultivendor cloud production with VSF TR-11 - there and back again
Multivendor cloud production with VSF TR-11 - there and back again
 
Facilitation Skills - When to Use and Why.pptx
Facilitation Skills - When to Use and Why.pptxFacilitation Skills - When to Use and Why.pptx
Facilitation Skills - When to Use and Why.pptx
 
An Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise IntegrationAn Introduction to All Data Enterprise Integration
An Introduction to All Data Enterprise Integration
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 
Automation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI AutomationAutomation Student Developers Session 3: Introduction to UI Automation
Automation Student Developers Session 3: Introduction to UI Automation
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 

AWS re:Invent 2016| DAT318 | Migrating from RDBMS to NoSQL: How Sony Moved from MySQL to Amazon DynamoDB

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Nate Slater, Senior Manager AWS Solutions Architecture Benedikt Neuenfeldt, Architect, SIE Inc. Aki Kusumoto, VP of NPS Development Department, SIE Inc. December 1, 2016 Migrating from RDBMS to NoSQL How PlayStation™Network Moved from MySQL to Amazon DynamoDB DAT318
  • 2. What to Expect from the Session • Understand key differences between NoSQL and RDBMS • Learn the fundamentals of Amazon DynamoDB • Identify suitable use cases for DynamoDB • Plan and execute a migration from RDBMS to DynamoDB • Explore a customer use case: Sony’s migration from MySQL to DynamoDB
  • 3. 2016 – A Dizzying Array of Choices for Data Storage and Analytics! file:///.file/id=657136 7.22587195
  • 4. Tame the Madness! Despite a dizzying array of choices, most workloads are well suited to a tiny subset of options, such as: • RDBMS – The workhorse. Still as relevant today as it’s ever been. • NoSQL – The newcomer. Efficient and inexpensive for high-volume, high-velocity data.
  • 5. Why NoSQL? • Horizontal Scaling – Achieve massive scale at a price point lower than traditional RDMBS. • High Concurrency – Locking and consistency models of NoSQL allow for much higher concurrency than an ACID-compliant RDBMS. • Flexible Schema – Key-value pairs and JSON documents stored in the same table do not need to be identical in form.
  • 6. Scaling RDBMS and NoSQL Scale-Up = Vertical Scaling • Higher costs for lower operational complexity • At the top end, everything is proprietary Scale-Out = Horizontal Scaling • Lower cost through the use of commodity hardware and software • Operationally complex • Sharding • Replication
  • 7. Introducing Amazon DynamoDB DynamoDB is a fully managed, horizontally scaling key/value and document data store: • No infrastructure to manage • Scaling handled transparently by the service • Ideal for highly concurrent reads and writes of small items
  • 8. Suitable Workloads for DynamoDB Ad-Tech • Capturing browser cookie state Mobile Applications • Storing application data and session state Gaming Applications • Storing user preferences and application state • Storing players’ game state Large-Scale Websites • Session state • User data used for personalization • Access control Internet of Things • Sensor data and log ingestion
  • 10. Fundamentals of DynamoDB: Keys • Partition Key – An attribute that defines how DynamoDB will partition (i.e., shard) your data • Sort Key – An attribute that defines how data in a specific partition key space will be sorted on disk • Primary Key – The partition key or combination of partition key and sort key that uniquely identifies a single item in a table
  • 11. Fundamentals of DynamoDB: Indexes • Local Secondary Index (LSI) – An alternate combination of partition key and sort key that allows atomic lookups and range queries. Stored on the same set of partitions as the main table. • Global Secondary Index (GSI) – An alternate partition key or combination of partition key and sort key that allows atomic lookups and range queries. Stored on a different set of partitions than the main table.
  • 12. Fundamentals of DynamoDB: Queries Query – An expression for returning pages of items from a table or index. Requires a partition key and sort key and supports range operations (greater than, between, etc.) on the sort key value.
  • 13. Fundamentals of DynamoDB: Partitions and IOPS Partition – A shard of data from a DynamoDB table. A hash function is applied to the partition key values and the value of the hash determines the partition. The number of partitions is determined by taking the max of the partitions required for storage, and the partitions required for IO.
  • 14. Migrating from RDBMS to DynamoDB
  • 15. A Phased Approach to Migrating to DynamoDB Planning Data Analysis Data Modeling Testing Migration
  • 16. Planning Phase Overview • Define goals of the migration • Identify tables to migrate • Document per-table challenges • Define and document backup and restore strategies
  • 17. Planning Phase Migration goals should inform which tables to migrate: • Look for tables with non-relational data as strong candidates for migration • Some examples • Entity-Attribute-Value tables • Application session state tables • User preference tables • Logging tables
  • 18. Planning Phase Clearly define and document the backup and recovery process and the cutover and rollback procedures. • As it relates to the migration cutover: • If the migration strategy requires a full cutover from RDBMS to DynamoDB, make sure to document the restore/rollback process. • If possible, run the workload on DynamoDB and the RDBMS in parallel. The legacy RDBMS can be disabled after the workload has been running on DynamoDB in production for a suitable length of time.
  • 19. Data Analysis Phase Analysis of both the source data and application access patterns is key to understanding the cost and performance of running the workload on DynamoDB.
  • 20. Data Analysis Phase RDBMS Source Data Analysis Key data attributes: • Number of items to be imported into DynamoDB • Distribution of the item sizes • Multiplicity of values to be used as partition or sort keys Access Pattern of the Application Examples: • Write only • Fetches by distinct value • Queries across a range of values
  • 21. DynamoDB Cost 4k Read1k Write Each Write Capacity Unit (WCU) is one 1k Write* Each Read Capacity Unit (RCU) is one 4k Read* Storage cost: GB stored per Month *DynamoDB has no concept of fractional I/O, so a 3.3k item would require 4x 1k WCU to write and 1x 4k RCU to read
  • 22. Data Modeling Phase Choosing a good primary key for a table is crucial for performance: • While it is tempting to use the primary key on the source RDBMS table, this is often not a good practice. • For example, an RDBMS user table might have a numeric primary key, but that key is meaningless to the application. • In this case, the email address would be a better choice for the DynamoDB table.
  • 23. Data Modeling Phase Primary key examples: • For other data access patterns, such as “write only,” using a randomly generated numeric ID will work well for the Partition key • RDBMS tables that contain a unique index on two key values are good candidates for a Partition + Sort key • Time series tables often use the time as the Sort key • For example a table tracking visits to different URLs could use the URL as the hash key and the date as the range
  • 24. Data Analysis and Modeling Example This ER diagram shows the schema used to track events when processing orders placed online through an e-commerce portal. Both the RDBMS and DynamoDB tables structures are shown.
  • 25. Data Analysis Example The statistical sampling yields a 95th percentile size of 6.6 KB • Minimum WCU: 𝑐𝑒𝑖𝑙𝑖𝑛𝑔(6.6𝐾𝐵 𝑝𝑒𝑟 𝑖𝑡𝑒𝑚 1𝐾𝐵 𝑝𝑒𝑟 𝑤𝑟𝑖𝑡𝑒 𝑢𝑛𝑖𝑡)=7 𝑤𝑟𝑖𝑡𝑒 𝑢𝑛𝑖𝑡𝑠 𝑝𝑒𝑟 𝑖𝑡𝑒𝑚 • Minimum RCU: 𝑐𝑒𝑖𝑙𝑖𝑛𝑔(6.6𝐾𝐵 𝑝𝑒𝑟 𝑖𝑡𝑒𝑚 4𝐾𝑏 𝑝𝑒𝑟 𝑟𝑒𝑎𝑑 𝑢𝑛𝑖𝑡)=2 𝑟𝑒𝑎𝑑 𝑢𝑛𝑖𝑡𝑠 𝑝𝑒𝑟 𝑖𝑡𝑒𝑚 This particular workload is write-heavy, and we need enough IO to write 1000 events for 500 orders per day. This is computed as follows: • 500 𝑜𝑟𝑑𝑒𝑟𝑠 𝑝𝑒𝑟 𝑑𝑎𝑦 × 1000 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 𝑜𝑟𝑑𝑒𝑟 = 5 ×105 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 𝑑𝑎𝑦 • 5 × 105 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 𝑑𝑎𝑦/86400 𝑠𝑒𝑐𝑜𝑛𝑑𝑠 𝑝𝑒𝑟 𝑑𝑎𝑦 = 5.78 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 𝑠𝑒𝑐𝑜𝑛𝑑 • 𝑐𝑒𝑖𝑙𝑖𝑛𝑔(5.78 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 𝑠𝑒𝑐𝑜𝑛𝑑 × 7 𝑤𝑟𝑖𝑡𝑒 𝑢𝑛𝑖𝑡𝑠 𝑝𝑒𝑟 𝑖𝑡𝑒𝑚) = 41 𝑤𝑟𝑖𝑡𝑒 𝑢𝑛𝑖𝑡𝑠 𝑝𝑒𝑟 𝑠𝑒𝑐𝑜𝑛𝑑
  • 26. Data Analysis Example Reads on the table happen only once per hour, when the previous hour’s data is imported into an Amazon EMR cluster for ETL. • This operation uses a query that selects items from a given date range (which is why the EventDate attribute is both a range key and a global secondary index). • The number of read units (which will be provisioned on the global secondary index) required to retrieve the results of a query is based on the size of the results returned by the query: 5.78 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 𝑠𝑒𝑐𝑜𝑛𝑑 × 3600 𝑠𝑒𝑐𝑜𝑛𝑑𝑠 𝑝𝑒𝑟 h 𝑜𝑢𝑟 = 20808 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 h𝑜𝑢𝑟 20808 𝑒𝑣𝑒𝑛𝑡𝑠 𝑝𝑒𝑟 ℎ𝑜𝑢𝑟 × 6.6𝐾𝐵 𝑝𝑒𝑟 𝑖𝑡𝑒𝑚 1024𝐾𝐵 = 134.11MB per hour
  • 27. Data Analysis Example To support this particular workload, 256 read units (GSI) and 41 write units (Table & GSI) will be required. From a practical standpoint, the write units would likely be expressed in an even number, like 48. We now have all of the data we need to estimate the DynamoDB cost for this workload: These can be run through the Amazon Simple Monthly Calculator to derive a cost estimate. Table 1. Number of items (108 ) 2. Item size (7KB) 3. Write units (48) 4. Read units (2) GSI 1. Number of items (108 ) 2. Item size (7KB) 3. Write units (48) 4. Read units (256)
  • 28. Testing Phase “A good programmer is someone who looks both ways before crossing a one- way street.” – Doug Linder
  • 29. Testing Phase During this phase, the entire migration process should be tested end-to-end. These tests should be run and developed during the other phases because our migration strategy is iterative. The outcome of a round of tests will often result in revisiting a previous phase. Testing Overview • Basic Acceptance Test • Functional Tests • Non-Functional Tests • User Acceptance Tests
  • 30. Data Migration Phase By this time, the end-to-end data migration process will have been tested and vetted thoroughly. The steps of the process should be fully documented and automated as much as possible. This should be a familiar process that has been repeated numerous times in the testing phase. • If the migration fails for any reason, execute the rollback procedure, which also should be well documented and tested. • After the rollback, a root cause analysis of the failure should be done. After the issue is identified and resolved, the migration should be rescheduled.
  • 31. Conclusion Keys to Success • Select a workload that is a good fit for DynamoDB • Understand the source data and access patterns • Test thoroughly and often • Plan on an iterative migration process
  • 32. What is PSN? Digital entertainment service platform for PlayStation® devices • Launched in 2006 • Features and Services • PlayStation®Store: Online content distribution • Online multi-play • Social/Community • User to user communications • Etc.
  • 33. Strategy & Principle Always-on Services must always be available without downtime Scalability Needs to be able to scale rapidly to increase consumer demand Testability Everything needs to be testable Backwards compatibility Must still work with legacy platforms and old clients Establishing a common pattern Create a guiding framework migrating other services
  • 35. About friends? Friend/Social graph in PSN Bi-directional friend relationship • Request Friendship/Accept Request System Characteristics • Core system in PSN social features • Have many sub systems • Heavy READ access • Supporting List/Pagination in Web API • Up to 2000 friends per user • Multi platform supports • PlayStation®4, PlayStation®3, PlayStation®Vita, PSP®, iOS, Android, and PC web Pain points/Bottleneck of current architecture • Hard to scale out (Fixed sharding)
  • 36. Original architecture Master-SlaveRDB Read App Write App L4 Load Balancer • On-premises • Sharded MySQL Master-Slave DB servers • App servers behind an L4 Load Balancer Data Center
  • 37. Hybrid architecture Amazon SNS Master-SlaveRDB Amazon EC2 Amazon ElastiCache Amazon SQS Amazon EC2 Elastic Load Balancing Read App Write App L4 Load Balancer Amazon Route 53 Data Center Architecture geared towards PS4 launch
  • 38. Final Architecture Elastic Load Balancing Amazon EC2 Amazon DynamoDB Amazon ElastiCache Amazon SNS Amazon Route 53 User ID Friend ID Relationship User A User B Friends User A User C Requesting friendship DynamoDB’s data model allows for easy storing of friend relations
  • 39. Data migration & rollout Amazon SNS Amazon SQS Amazon DynamoDB Amazon EC2 Elastic Load Balancing Write AppRead App On-premises New service MySQL Dump Phase 1a: Start pushing updates into the Amazon SQS to use as a buffer Phase 1b: Create a dump of the original database on-premises
  • 40. Data migration & Roll out Amazon SNS Amazon SQS Data import application Amazon DynamoDB Amazon EC2 Elastic Load Balancing Write AppRead App On-premises New service MySQL Dump Phase 2: Import the MySQL data dump into DynamoDB
  • 41. Data migration & Roll out Amazon SNS Amazon SQS Amazon DynamoDB Amazon EC2 Elastic Load Balancing Write AppRead App On-premises New service Real-time synchronization application Phase 3: Start replaying the traffic on the new application At this point the new application is receiving full production traffic for updates
  • 42. Bridge & Switch Amazon SNS Amazon SQS Amazon DynamoDB Amazon EC2 Elastic Load Balancing Write AppRead App On-premises New service Real-time synchronization application Traffic is routed towards the old application while replicating the data to the new application Write traffic Read traffic
  • 43. Bridge & Switch Amazon SNS Amazon SQS Amazon DynamoDB Amazon EC2 Elastic Load Balancing Write AppRead App On-premises New service Real-time synchronization application • Gradually switch read traffic to the new application • Can still switch back to the old application at any time without incurring any data loss Write traffic Read traffic X% Read traffic Y%
  • 44. Bridge & Switch Amazon SNS Amazon SQS Amazon DynamoDB Amazon EC2 Elastic Load Balancing Write AppRead App New service Real-time synchronization application Switch write traffic over to new application Write traffic Read traffic On-premises
  • 46. About trophies? Achievement system in PSN System Characteristics • Simple data model • Strict data retention • Data aggregation required Pain points/Bottleneck of current architecture • Limited write capacity/performance • Complicated system architectures • Sharding/Replications
  • 47. Original architecture Standby Unlock data Unlock data Trophy Stats Trophy Stats Calculation Batch L4 Load Balancer App Server Trophy Stats Data Center
  • 48. Hybrid architecture Standby Unlock data Unlock data Trophy Stats Trophy Stats Calculation Batch L4 Load Balancer App Server Amazon SNS Amazon EC2 Amazon ElastiCache Amazon SQS Amazon EC2 Elastic Load Balancing Trophy Stats Architecture geared towards PS4 launch Data Center
  • 49. New architecture Elastic Load Balancing Amazon DynamoDB Amazon ElastiCache Amazon Route 53 Amazon EC2 AWS Lambda Amazon S3 Amazon Kinesis Firehose Taking full advantage of the cloud for enabling new ground-breaking features
  • 50. Data aggregation • Taking a very similar approach to Friends, but aggregation is a unique requirement for Trophies • Didn’t want to use RDB systems due to scalability concerns • Using DynamoDB streams and AWS Lambda to calculate and aggregate data on-the-fly Amazon DynamoDB Amazon ElastiCache AWS Lambda Amazon EC2 Amazon Kinesis Streams Amazon S3 Amazon EMR
  • 51. Challenges • Data Integrity is a requirement • Spent multiple days on reading back data from DynamoDB to ensure data integrity • DynamoDB key names • Reducing key names from the full name (e.g. name) to a single letter (e.g. ”n”) reduced costs by 3x times
  • 52. Feature Requests Multi-region support for DynamoDB TTL support for DynamoDB Redis Cluster support for ElastiCache Multi-region support for RDS
  • 54. We are hiring globally!
  翻译: