• Save
Introducing DynamoDB
 

Introducing DynamoDB

on

  • 2,413 views

DynamoDB is a NoSQL database service built for fast, scalable, consistent performance. This presentation introduces DynamoDB and discusses how to get started, provision throughput, design for the ...

DynamoDB is a NoSQL database service built for fast, scalable, consistent performance. This presentation introduces DynamoDB and discusses how to get started, provision throughput, design for the DynamoDB data model, query and scan tables and scale reads and writes without downtime.

Statistics

Views

Total Views
2,413
Views on SlideShare
2,413
Embed Views
0

Actions

Likes
3
Downloads
33
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introducing DynamoDB Introducing DynamoDB Presentation Transcript

  • What’s New with Amazon Web Services23rd February, 2012LO N D O N - # AW S LO N D O N
  • Hello.
  • Thank you
  • What’s New?
  • 8/ month
  • Price drops
  • Objects in S3Billions of objects 762B 800.000 600.000 400.000 200.000 0 Q4 2006 Q4 2007 Q4 2008 Q4 2009 Q4 2010 Q4 2011 500k peak transactions per second
  • New regions
  • New regions
  • Per-AZ spot pricing S3 object expirationElastiCache in us-west-2 and sa-east-1 Elastic Network Interfaces Simple Notification Service EC2 instance status New regions Windows free tier New CloudFront POPs VPC everywhere New availability zones
  • 2.00pm Welcome~ 2.00pm to 2.45pm Introducing DynamoDB 2.45pm to 3.30pm Analytics in the Cloud 3.30pm to 4.00pm Coffee break 4.00pm to 4.45pm Cloud Economics 4.45pm to 5.30pm Integrating Enterprise IT 5.30pm to 6.30pm Drinks and networking
  • 2.00pm Welcome~ 2.00pm to 2.40pm Introducing DynamoDB 2.40pm to 3.10pm Analytics in the Cloud 3.10pm to 3.30pm Amazon Simple Workflow 3.30pm to 4.00pm Coffee break 4.00pm to 4.45pm Cloud Economics 4.45pm to 5.30pm Integrating Enterprise IT 5.30pm to 6.30pm Drinks and networking
  • StorageTools & ComputeSupport Databases
  • StorageTools & ComputeSupport Databases
  • Storage DatabasesTools & ComputeSupport
  • DatabasesRelational “NoSQL”databases databases
  • DatabasesRelational “NoSQL”databases databases
  • Any database on Amazon EC2 MySQL, DB2, Oracle, PostgreSQL...
  • Relational Database Service Managed MySQL and Oracle databases
  • Rapid High provisioning availabilityScalable Scalablestorage compute Relational Database Service Managed MySQL and Oracle databases
  • ElastiCacheIn memory, memcached compliant, caching clusters
  • High performance databases Increase throughput Increase availability Reduce latency
  • High performance databases Read replicasPush-button scaling Increase throughput ElastiCache Increase availability Reduce latency
  • High performance databases Increase throughputMulti-AZ Increase availability Reduce latency
  • High performance databases Increase throughput Increase availability Reduce latency ElastiCache
  • ProblemPerformance decreases at scale
  • Performance Predictable, consistent Scale
  • Performance Predictable, consistent Degraded performance with scale Scale
  • Performance Predictable, consistent Degraded performance with scale Scale
  • = more problems
  • Data caching Provisioning!Data sharding = more problemsCluster management Fault management
  • Undifferentiated heavy lifting
  • DynamoDB
  • Fully managedNoSQL database service
  • Extremely fastperformance
  • Consistently fast performance
  • Seamless scalability
  • H I G H L I G H T S
  • H I G H L I G H T SLow latency Single digit millisecond
  • H I G H L I G H T S Low latency Single digit millisecond< 5 ms reads < 10 ms writes
  • H I G H L I G H T S SSD backed Low latency Single digit millisecond< 5 ms reads < 10 ms writes
  • H I G H L I G H T S Massive scaleNo table size limits. Unlimited storage.
  • H I G H L I G H T SSeamless scaleLive repartitioning. Zero admin.
  • H I G H L I G H T SPredictable performance Provisioned throughput
  • H I G H L I G H T SDurable and available Consistent, disk-only writes
  • H I G H L I G H T SZero administration
  • What is provisioned throughput?
  • Reserve required IOPS Per table. Set at creation. Scale via API.
  • “ProvisionedThroughput”: { “ReadsPerSecond” : 500 }, { “WritesPerSecond” : 1000 }
  • Scale at any time No downtime
  • Pay for throughput
  • Per 1kb item:$0.01 per hour for every 10 writes/second $0.01 per hour for every 50 strongly consistent reads/second
  • Per 1kb item: $0.28 per million writes$0.056 per million strongly consistent reads
  • Pay for storage$1.00 per Gb per month of indexed storage
  • Data model
  • “ImageID” = “1” “Date” = “20100915”“Title” = “flower”“Tags” = “flower”,“jasmine”, “white”
  • “ImageID” = “1” “ImageID” =”2” “ImageID” =”3” “Date” = “Date” = “Date” = “20100915” “20100916” “20100917”“Title” = “flower” “Title” = “ferrari” “Title” = “coffee”“Tags” = “flower”, “Tags” = “car”, “Tags” = “drink”,“jasmine”, “white” “italian” “delicious”
  • Primary key
  • Composite key
  • Simple API Only 12 operations.Atomic increment/decrement on number attributes.
  • Automatic scaling Subscribe to SNS topic
  • $Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->ReadCapacityUnits;$Write = (int) $Res->body->Table->ProvisionedThroughput->WriteCapacityUnits;$Read *= 2;$Write *= 2;$PT = array(ReadCapacityUnits => (string) $Read, WriteCapacityUnits => (string) $Write);$Res = $ddb->update_table(array(TableName => wsdot_images, ProvisionedThroughPut => $PT));
  • $Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->ReadCapacityUnits;$Write = (int) $Res->body->Table->ProvisionedThroughput->WriteCapacityUnits;$Read *= 2;$Write *= 2;$PT = array(ReadCapacityUnits => (string) $Read, WriteCapacityUnits => (string) $Write);$Res = $ddb->update_table(array(TableName => wsdot_images, ProvisionedThroughPut => $PT));
  • $Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->ReadCapacityUnits;$Write = (int) $Res->body->Table->ProvisionedThroughput->WriteCapacityUnits;$Read *= 2;$Write *= 2;$PT = array(ReadCapacityUnits => (string) $Read, WriteCapacityUnits => (string) $Write);$Res = $ddb->update_table(array(TableName => wsdot_images, ProvisionedThroughPut => $PT));
  • $Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->ReadCapacityUnits;$Write = (int) $Res->body->Table->ProvisionedThroughput->WriteCapacityUnits;$Read *= 2;$Write *= 2;$PT = array(ReadCapacityUnits => (string) $Read, WriteCapacityUnits => (string) $Write);$Res = $ddb->update_table(array(TableName => wsdot_images, ProvisionedThroughPut => $PT));
  • $Res = $DDB->describe_table(array(TableName => wsdot_images));$Read = (int) $Res->body->Table->ProvisionedThroughput->ReadCapacityUnits;$Write = (int) $Res->body->Table->ProvisionedThroughput->WriteCapacityUnits;$Read *= 2;$Write *= 2;$PT = array(ReadCapacityUnits => (string) $Read, WriteCapacityUnits => (string) $Write);$Res = $ddb->update_table(array(TableName => wsdot_images, ProvisionedThroughPut => $PT));
  • Consistency Writes are always consistent.Reads are consistent or eventually consistent.
  • Durability Writes occur to disk, not memory.Writes are acknowledged once they have been made in two physical data centres.
  • Availability Region specific (not AZ)Continuously replicated across multiple AZs
  • Considerations Limited index and query modelThroughput is provisioned in 1K operations Maximum 64K item sizeBackup and restore via Elastic MapReduce
  • DatabasesRelational “NoSQL”databases databases
  • SimpleDBZero maintenance, NoSQL datastore
  • Flexible queries 10Gb / 1 billion No nativeattributes per tabel data sharding SimpleDB Zero maintenance, NoSQL datastore
  • Choose the right tool for the job
  • DynamoDB free tier 5 writes/second 10 consistent reads/second 100Mb storage
  • Q&Amatthew@amazon.com