• Like

Aws Summit Berlin 2013 - Understanding database options on AWS

  • 377 views
Uploaded on

With AWS you can choose the right database for the right job. Given the myriad of choices, from relational databases to non-relational stores, this session will profile details and examples of some of …

With AWS you can choose the right database for the right job. Given the myriad of choices, from relational databases to non-relational stores, this session will profile details and examples of some of the choices available to you (MySQL, RDS, Elasticache, Redis, Cassandra, MongoDB and DynamoDB), with details on real world deployments from customers using Amazon RDS, ElastiCache and DynamoDB.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
377
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
26
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Jan Borch - AWS Solutions ArchitectUnderstanding Database Options on AWSJan Borch#awssummitBerlin
  • 2. We want to make it easy for you to start1. Zero to Application in ____ Minutes2. Zero to Millions of users in ____ Days3. Zero to “Profits!” ASAP
  • 3. Spot the critical component!
  • 4. https://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systemshttp://nosql-database.org/
  • 5. Spectrum of options on AWSSQL NoSQLLow Cost High CostDo-it-yourself Fully ManagedNotavailable onAWS
  • 6. Spectrum of options on AWSSQL NoSQLDo-it-yourself Fully Managed
  • 7. RDS- MySQL- Oracle- SQL ServerMySQLOracleSQL ServerPostgreSQLYour favorite RDBMSSpectrum of options on AWSSQL NoSQLDo-it-yourself Fully Managed
  • 8. Spectrum of options on AWSSQL NoSQLDo-it-yourself Fully ManagedMongoDBCassandraRedisMemcached…Amazon DynamoDBAmazon ElastiCache
  • 9. Thinking about the questionsShould I use SQL orNoSQL?Should I use MySQLon EC2 or RDS?Should I useMongoDB, Cassandra, or DynamoDB?Should I useRedis, Memcached, orElastiCache??
  • 10. Actually, thinking about the right questionsWhat are my scaleand latency needs?What are mytransactional andconsistency needs?What are myread/write, storageand IOPS needs?What are my time tomarket and servercontrol needs??
  • 11. Focus on your application
  • 12. Option 1:Run your databases on EC2
  • 13. Amazon Elastic Compute CloudAmazon EC2
  • 14. Virtual core: 1Memory: 1.7 GiBI/O performance: Moderatem1.small cc2.8xlargeVirtual core: 32 - 2 x Intel XeonMemory: 60,5 GiBI/O performance: 10 Gbitcr1.8xlargeVirtual core: 32 - 2 x Intel XeonMemory: 240 GiBI/O performance: 10 GbitSSD Instance store: 240 GBcr1.8xlargeVirtual core: 16Memory: 60.5 GiBI/O performance: 10 GbitSSD Instance store: 2 x 1TBcr1.8xlargeVirtual core: 16Memory: 117 GiBI/O performance: 10 GbitInstance store: 24 x 2TB
  • 15. Choose an Amazon Machine Image
  • 16. Leverage AWS servicesEBS storage Volumes with EBS SnapshotsS3 for backups (for example Oracle RMAN)Automation with AWS API or CloudFormation
  • 17. Option 2:Let AWS manage my databases
  • 18. backup & recovery,data load & unloadperformancetuning25%40%5% 5%scripting & codingsecurityplanninginstall,upgrade, patchand migratedocumentation,licensing &trainingdifferentiated effortincreases theuniquenessof an applicationWhy Managed Databases?
  • 19. We believe in choiceOne size does not fit allTraditional AppsRelational DB NeedsHighPerformance, HighScale DataWarehousesNew Web AppsMassive ScalabilityAmazon RDSAmazonElasticCacheAmazonDynamoeDBAmazonRedshift
  • 20. Option 2.1:Managed SQL database
  • 21. Amazon Relational Database ServicesAmazonRDSRDS is a fully managed relational database servicethat is simple to deploy, easy to scale, reliable andcost-effective
  • 22. Choice of database options
  • 23. Rapid deployment via Web Console
  • 24. Backups and Recovery
  • 25. Push Button ScalingScale …• vertically up or down• Storage vertically
  • 26. PricereductionHigh Availability: Multi-AZ DeploymentsMulti AZ price reductionsranging from 15% to 32%
  • 27. A few clicks or one API call
  • 28. Horizontal Scaling with Read ReplicasNewFeatures• Endpoint Renaming• ReadReplicato master promotion
  • 29. A few clicks or one API call
  • 30. High Performance RDS
  • 31. SecurityOracle Native Network Encryption and TransparentData Encryption on Oracle EESSL support for SQL Server and mysql
  • 32. Amazon RDSConfigurationImproveAvailabilityIncreaseThroughputReduceLatencyPush-Button ScalingMulti-AZRead ReplicasProvisioned IOPSRead ReplicasPush-Button ScalingProvisioned IOPSRegionMulti-AZAvailabilityZoneAvailabilityZoneAvailability and performance options
  • 33. Use case
  • 34. Who is succeeding with RDS?Thousands of developers use RDS every single dayGaming Web Apps Mobile/Social Media
  • 35. Amazon Elastic CacheAmazon ElastiCache is a fully managedMemcached-compatible caching service
  • 36. Option 2.2:Managed noSQL database
  • 37. Amazon DynamoDBAmazon DynamoDB is a fully managed NoSQLdatabase service
  • 38. Single digit millisecond latency.Backed on solid-state drives.Consistent, predictable performance
  • 39. No table size limits. Unlimited storageNo downtime.Seamless scalability
  • 40. Consistent, disk only writes.Replication across data centers and availabilityzones.Durable
  • 41. Without the operational burden.managed by DynamoDB
  • 42. Three click or on API call
  • 43. Reserve IOPS for reads and writes.Scale up for down at any time.Provisioned throughput.
  • 44. Pay per capacity unitREADCapacity Units =Size of item (KB) x read per secondConsistent read:$0.0065 for 50 read unitsEventually consistent reads:$0.0065 for 100 read unitsWRITECapacity Units =Size of item (KB) x write per second$0.0065 for 10 write units
  • 45. Reserved capacityUp to 53% for 1 year reservationUp to 76% for 3 year reservation
  • 46. TransactionsItem level transactions onlyPuts, updates and deletes are ACIDAtomic increment and decrementConditional writes
  • 47. Read ConsistencyStrong or eventually consistent readsSame latency expectations for strongMix and match at „read time‟
  • 48. Data ModelingTables do not require a formal schemaItems are an arbitrarily sized hash.
  • 49. id = 100date = 2012-05-16-09-00-10 total = 25.00id = 101date = 2012-05-15-15-00-11 total = 35.00id = 101date = 2012-05-16-12-00-10 total = 100.00id = 102date = 2012-03-20-18-23-10 total = 20.00id = 102date = 2012-03-20-18-23-10 total = 120.00Data modelingTable
  • 50. id = 100date = 2012-05-16-09-00-10 total = 25.00id = 101date = 2012-05-15-15-00-11 total = 35.00id = 101date = 2012-05-16-12-00-10 total = 100.00id = 102date = 2012-03-20-18-23-10 total = 20.00id = 102date = 2012-03-20-18-23-10 total = 120.00Data modelingItem
  • 51. id = 100date = 2012-05-16-09-00-10 total = 25.00id = 101date = 2012-05-15-15-00-11 total = 35.00id = 101date = 2012-05-16-12-00-10 total = 100.00id = 102date = 2012-03-20-18-23-10 total = 20.00id = 102date = 2012-03-20-18-23-10 total = 120.00Data modelingAttributes
  • 52. Items are indexed by primary and secondary keysPrimary keys can be compositeSecondary keys are local to the tableIndexing
  • 53. ID Date TotalIndexing
  • 54. ID Date TotalHash keyIndexing
  • 55. ID Date TotalHash key Range keyComposite primary keyIndexing
  • 56. ID Date TotalHash key Range key Secondary range keyIndexing
  • 57. Programming DynamoDB.Small but perfectly formed API.CreateTableUpdateTableDeleteTableDescribeTableListTablesPutItemGetItemUpdateItemDeleteItemBatchGetItemBatchWriteItemQueryScanManage tablesQuery specificitems OR scan thefull table“Select”, “insert”,“update” itemsBulk select orupdate (max 1MB)
  • 58. Query patternsRetrieve all items by hash key.Range key conditions:==, <, >, >=, <=, begins with, between.Counts. Top and bottom n values.Paged responses.
  • 59. 500,000 WRITES PER SECONDDURING SUPER BOWL
  • 60. Amazon DynamoDB: who is succeedingwith it?
  • 61. Option 2.3:Managed datawarehouse database
  • 62. OLTP <-> OLAPSELECT ProductID, NameFROM ProductsWhere ProductID = 1234;SELECT ProductID, count(*)FROM Page_HitsWHERE hour in (12,13)GROUP BY ProductID
  • 63. Transactional Processing• Global context– Daily revenue report• Throughput• Full table scans• Sequential IO• Disk Transfer ratesAnalytical Processing• Transactional context– Get order total• Latency• Indexed access• Random IO• Disk Seek timesOLTP <-> OLAP
  • 64. Amazon Redshift is a fast, fully managed, petabyte-scaledata warehouse serviceAmazon Redshift
  • 65. Fast and powerfulParallelize and Distribute EverythingDramatically Reduce I/ODirect-attached storageLarge data block sizesColumn data storeData compressionZone mapsMPPLoadQueryResizeBackupRestore
  • 66. Fully ManagedProtect OperationsSimplify ProvisioningRedshift data is always encryptedContinuously backed up to S3Automatic node recoveryTransparent disk failureCreate a cluster in minutesAutomatic OS and software patchingScale up to 1.6PB with a few clicks and no downtime
  • 67. Amazon Redshift architecture10 GigE(HPC)IngestionBackupRestoreJDBC/ODBC
  • 68. Focus on your application
  • 69. Best of both worlds: Use both SQL andNoSQL models in one app
  • 70. More on Amazon Redshift?03:15pm to 03:45pmIntroducing the Amazon Redshift data warehouseRoom ZeroSpeaker: Steffen Krause, Amazon