Amazon RDS vs DynamoDB Flashcards
AWS RDS
Types of Database: Managed Relational (SQL) database
Features: Has several database instance types for different kinds of workloads and supports six database engines - Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database and SQL Server
Storage Size: 128TB for Aurora Engine, 64TB for MySQL, MariaDB, Oracle and PostgreSQL engines, 16TB for SQL server engine
Number of Tables Per Unit: Depends on the database engine
Performance: General Purpose Storage is an SSD backed storage option that delivers at consistent baseline of 3 IOPS per provisioned GB with the ability to burst up to 3,000 IOPS
Provisioned IOPS storage is an SSD backed storage option designed to deliver a consistent IOPS rate that you specify when creating a database instance up to 40,000 IOPS per database instance. Amazon RDS provisions that IOPS rate for the lifetime of the database instance. Optimized for OLTP database workloads
Magnetic - Amazon RDS also supports magnetic storage for backward compatibility
Availability and Durability: Amazon RDS Multi AZ deployments synchronously replicates your data to a standby instance in a different AZ. Amazon RDS will automatically replace the compute instance powering your deployment in the event of a hardware failure
Backups: The automated backup feature enables point in time recovery for your database instance. Database snapshots are user initiated backups of your instance stored in Amazon S3 that are kept until you explicitly delete them
Scalability: The Amazon Aurora engine will automatically grow the size of your database volume. The MySQL, MariaDB, SQL Server, Oracle and PostgreSQL engines allow you to scale on the fly with zero downtime. RDS also supports storage auto scaling Reads replicas are available in Amazon RDS for MySQL, MariaDB and PostgreSQL as well as Amazon Aurora
Security: Isolate your database in your own virtual network. Connect to your on premises IT infrastructure using industry standard encrypted IPsec VPNs. You can configure firewall settings and control network access to your database instances. Integrates with IAM
Encryption: Encrypt your databases using keys you managed through AWS KMS. With encryption enabled, data stored at rest is encrypted, as are its automated backups, read replicas and snapshots. Supports Transparent Data Encryption in SQL Server and Oracle. Supports the use of SSL to secure data in transit
Maintenance: Amazon RDS will update databases with the latest patches. You can exert optional control over when and if your database instance is patched
Pricing: A monthly charge for each database instance that you launch. Option to reserve a DB instance for a One or three year term and receive discounts in pricing, compared to On Demand instance pricing
Use Cases: Traditional applications, ERP, CRM and e-commerce
DynamoDB
Type of Database: Fully managed key value and document (NoSQL) database
Features: Delivers single digit millisecond performance at any scale
Storage Size: Supports tables of virtually any size
Number of Tables per Unit: 256
Performance: Single digit millisecond read and write performance. Can handle more than 10 trillion requests per day with peaks greater than 20 million requests per second, over petabytes of storage. DynamoDB Accelerator (DAX) is an in memory cache that can improve the read performance of your DynamoDB tables by up to 10 times, taking the time required for reads from milliseconds to microseconds, even at millions of requests per second
Availability and Durability: DynamoDB global tables replicate your data automatically across 3 AZs of your choice of AWS Regions and automatically scale capacity to accommodate your workloads
Backups: Point in time recovery provides continuous backups of your DynamoDB table data, and you can restore that table to any point in time up to the second during the preceding 35 days. On Demand backups and restore allow you to create full backups of your DynamoDB tables data for data archiving
Scalability: Supports tables of virtually any size with horizontal scaling. For tables using on demand capacity mode, DynamoDB instantly accommodates your workloads as they ramp up or down to any previous reached traffic level. For tables using provisioned capacity, DynamoDB delivers automatic scaling of throughput and storage based on your previously set capacity
Security: Integrates with IAM
Encryption: DynamoDB encrypts data at rest by default using encryption keys stored in AWS KMS
Maintenance: No maintenance since DynamoDB is serverless
Pricing: Charges for reading, writing and storing data in your DynamoDB tables, along with any optional features you choose to enable. There are specific billing options for each of DynamoDBs capacity modes
Use Cases: Internet scale application, real time bidding, shopping carts, customer preferences, content management, personalization and mobile applications