Amazon Web Services: DynamoDB 101 with ITOC Australia - What is DynamoDB
-
Upload
david-nedved -
Category
Technology
-
view
1.203 -
download
0
description
Transcript of Amazon Web Services: DynamoDB 101 with ITOC Australia - What is DynamoDB
Scalable NoSQL with DynamoDB
http://linkedin.com/in/davidnedved
On AWS Cloud
DynamoDB is a fully managed NoSQL database service that provides extremely fast and predictable performance with seamless scalability
What is DynamoDB?
Many LanguagesUsing an API to access & control your cloud resources such as dynamo, ec2, elasticache, simpledb, etc KICKS ASS!
Highlights
● Put● Get● Update● Delete● Scan● Query
6 Operations● Predictable Performance○ Pay for performance - not what you use○ Provisioned throughput (API or web-console)
● Simple key value store (HashKey)○ Tables, Items, Attributes
● Sorted range key setup (RangeKey)● Durable & Available
○ Consistent, disk-only writes● Low Latency
○ SSD Based Storage○ Single Digit (milliseconds)
● Zero Administration● Massive & Seamless Scalability!
○ No table size/throughput limits○ Live re-partitioning for changes
to storage & throughput
Reducing Risk● Consistency
○ DynamoDB writes are not always consistent○ Reads are consistent, or eventually consistent
● Durability○ All writes occur to disk, not memory○ A write is only acknowledged (committed) once it exists in at least two AZ's
● Availability○ Regional Service○ Spans multiple AZ's○ All Data is continually
replicated to multiple AZ's
DynamoDB & EMR
Seamless Integration● Archive
○ Effective export of dynamo tables to S3 (as CSV files)● Data Load
○ Efficient import of exported tables from S3 backend into DynamoDB● Complex Queries
○ Sophisticated, SQL-based querying of DynamoDB table GROUP BY, JOIN, HAVING, etc...
● Complex Joins○ Ability to Join live tables in
DynamoDB with ArchivedTables in S3
(Elastic MapReduce)
What to watch out for● 64kb item limit.
○ Use it as a lookup to S3● No Auto Increase Throughput Option
○ Cloudwatch alarm -> SNS Alert -> HTTP endpoint -> API increase throughput
○ Write to an SQS queue. Control the input speed.● 50 Item limit on scans.
○ Paging. ● Don’t assume sorting.
○ Use range key for sorting.● Where clauses on the scans will
run over the entire table.○ Use Elastic MapReduce
Thank You!
http://linkedin.com/in/davidnedved
http://aws.amazon.com/dynamodb
Email: [email protected]