The document discusses various AWS database options and decision factors for choosing between SQL and NoSQL databases on AWS. It provides tips for three companies - Edmodo optimizes for manageability and scale using RDS, Obama for America optimizes for app velocity and scale, and BrandVerity leverages both YesSQL and NoSQL databases. The document also discusses factors to consider such as application needs, transactions, scale, performance, availability, and skills when choosing between SQL and NoSQL databases.
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
AWS Database Options: Choosing Between SQL and NoSQL
1.
2. AWS Database Options and Decision Factors
Best Practice Tips and Techniques
• Optimizing for Manageability and Scale Edmodo
• Optimizing for App Velocity and Scale Obama for America
• Leveraging YesSQL and NoSQL BrandVerity
Q&A
3. Easily and rapidly analyze
petabytes of data
1/10 the cost of traditional
data warehouses
Automated deployment &
administration
Compatible with popular
BI tools – MicroStrategy,
Jaspersoft
4. 1. Zero to App in ____ Minutes
2. Zero to Millions of users in ____ Days
3. Zero to “Hero” in ____ Months
12. Should I use
Should I use SQL MySQL on EC2 or
or NoSQL? RDS?
Should I use
MongoDB,
? Should I use Redis,
Cassandra, or Memcache, or
DynamoDB? ElastiCache?
13. What are my
What are my scale transactional and
and latency needs? consistency needs?
What are my
? What are my time to
read/write, storage market and server
and IOPS needs? control needs?
14. Factors SQL NoSQL
Application • App with complex business logic? • Web app with lots of users?
Transactions • Complex txns, joins, updates? • Simple data model, updates, queries?
Scale • Developer managed • Automatic, on-demand scaling
Performance • Developer architected • Consistent, high performance at scale
Availability • Architected for fail-over • Seamless and transparent
Core Skills • SQL + Java/Ruby/Python/PhP • NoSQL + Java/Ruby/Python/PhP
Best of both worlds: Possible to Use SQL and NoSQL models in one App
15. Amazon RDS is a fully managed SQL database service.
Choice of Database engines
Simple to deploy and scale
Reliable and cost effective
Without any operational burden.
16. Migration
Backup and recovery
Schema design Patching
Query construction Configuration
Query optimization Software upgrades
Storage upgrades
Frequent server upgrades
Focus on the “innovation”
Hardware crash
Off load the “administration”
17. MySQL Manual for Read Replica
Multiple databases per instance
Use MySQL tools & drivers
Quickly set up Read Replicas
High availability Multi-AZ option
OR Amazon RDS console
Ability to promote Read replicas, Rename as Master
Diagnostics
Native MySQL replication
SSL for encryption over the wire
Monitor metrics
Shell, super user or direct file system access (Think security!)
18. AZ location for both Primary and Stand-by are now visible
You can place 3rd replica in an AZ different from Primary and Stand-by
Ability to promote Read replicas
Rename as Master after promotion
19. ElastiCache is a fully managed Memcached
caching service.
Easy to set up and operate
Scale cache clusters with push button ease
Ultra fast response time for read scaling
Without any operational burden.
20. Amazon DynamoDB is a fully managed NoSQL
database service.
Store and retrieve any amount of data
Scale throughput to millions of IO
Single digit millisecond latencies
Without any operational burden.
21. CreateTable PutItem
UpdateTable
GetItem
DeleteTable
UpdateItem
“Select”, “insert”, “update”
DescribeTable items
Manage tables
DeleteItem
ListTables
BatchGetItem
Query
Bulk select or update
Query specific items OR Scan BatchWriteItem (max 1MB)
scan the full table
22. So, what are the tips and techniques for
successful deployments?
25. Learning 101
• Largest, fastest growing social platform for education
• Secure learning network for teachers and students
• Browser, iOS, Android
• Free for teachers and students
26. Stats 101
• 100,000 schools
• 14 million users
• 7 million new users in the last year
• 1 million visits daily
27. Web
Instance
Auto scaling Group
Amazon CloudWatch
Amazon Route 53 Elastic Load
Balancer
Cache Cache
Instance Instance
Amazon Cloudfront Instances
Amazon S3
RDS DB Instance RDS DB Instance RDS DB Instance
Read Replica Read Replica Read Replica
Availability Zone
RDS DB Instance RDS DB Instance RDS DB Instance
Read Replica MySQL DB Instance Read Replica MySQL DB Instance Read Replica MySQL DB Instance
28. DBA 101
• Restore from snapshot
• Replica creation
• Parameter tuning
• Metrics collection
• Know your app/data
29. Educates millions of students
Jay
Reaches millions of citizens
Edwards
Analyzes billions of Ads
30. Me.
• Twitter: First dedicated DBA
• OFA: Lead Database Engineer
• PalominoDB: CTO & VP/Operations
31. Obama for America.
• Technically sophisticated for a campaign
• Not “web-scale”
• Hockey-stick++ growth
• Downtime hurts. A lot…really, really, really a lot.
34. Problems!
• You always need more databases
• OFA had 24+ schemas & 100+ RDS instances
• You never have enough DBAs
• OFA had 1 – 2 x 0.5 fulltime MySQL DBAs
35. Why RDS?
• Makes operational issues very easy
• Need more replicas? BAM!
• Upsize hardware? KAPOW!
• Point in time restore? BIF!
36. Why not RDS?
• Hardware cap (vertical v. horizontal)
• Sophisticated use-cases
• Frequent topology changes
• Multi-region replication (on their roadmap)
• DBAs need busy work
37. Educates millions of students
Reaches millions of citizens
Andy
Analyzes billions of Ads
Skalet
45. • Managed services let you focus on creating value
• Amazon S3 - Very robust, handles large items, but you filter
• Amazon DynamoDB - Extremely fast, scalable, good value
• Must cast your problem as kvs or key + range
• Amazon RDS - MySQL, without the headaches
• Amazon ElastiCache - As memcached, fast kvs for small data
• Multi column queries on big data?
• Looking forward to the AWS solution
46. Thank you
Free aws.amazon.com/dynamodb
Tier
aws.amazon.com/rds
aws.amazon.com/elasticache