Skip to main content

Bài 4: Database Solutions trên AWS

1. Amazon Relational Database Service (RDS)

Amazon RDS là một dịch vụ quản lý cơ sở dữ liệu quan hệ, hỗ trợ nhiều engine phổ biến.

1.1 Supported Engines

  • Amazon Aurora
  • MySQL
  • PostgreSQL
  • MariaDB
  • Oracle
  • Microsoft SQL Server

1.2 Key Features

  • Multi-AZ Deployment: Tự động replicate data đến một instance khác trong một AZ khác.
  • Read Replicas: Tạo read-only copies của database để cải thiện performance.
  • Automated Backups: Daily full backups và transaction logs.
  • Manual Snapshots: User-initiated backups của DB instance.
  • Automatic Software Patching: Tự động update OS và DB software.
  • Monitoring: Integration với Amazon CloudWatch để monitor performance metrics.

1.3 Use Cases

  • Web và Mobile Applications
  • E-commerce Platforms
  • Gaming Applications
  • Content Management Systems

2. Amazon Aurora

Amazon Aurora là một relational database engine tương thích với MySQL và PostgreSQL, được thiết kế đặc biệt cho cloud.

2.1 Key Features

  • High Performance: Up to 5x throughput của MySQL standard và 3x của PostgreSQL standard.
  • Auto Scaling Storage: Tự động grow từ 10GB đến 128TB.
  • Multi-Master: Cho phép multiple write nodes để tăng write availability.
  • Global Database: Replicate data across multiple AWS Regions.
  • Serverless: Tự động start up, shut down, và scale capacity.

2.2 Use Cases

  • SaaS Applications
  • Gaming Applications
  • Web và Mobile Apps cần low latency và high concurrency

3. Amazon DynamoDB

Amazon DynamoDB là một fully managed NoSQL database service cung cấp fast và predictable performance với seamless scalability.

3.1 Key Features

  • Serverless: Tự động scale throughput capacity.
  • Performance: Single-digit millisecond latency at any scale.
  • Fully Managed: No servers to provision, patch, or manage.
  • Flexible: Supports both document và key-value data models.
  • Transactions: Supports ACID transactions.
  • Global Tables: Multi-region, multi-master replication.

3.2 DynamoDB Accelerator (DAX)

  • In-memory cache cho DynamoDB
  • Microsecond latency cho read-heavy workloads

3.3 Use Cases

  • Mobile và Web Applications
  • Gaming
  • IoT
  • Ad Tech

4. Amazon ElastiCache

Amazon ElastiCache là một in-memory data store và cache service, hỗ trợ Redis và Memcached.

4.1 Redis vs Memcached

  • Redis:

    • Complex data types
    • Multi-AZ với auto-failover
    • Pub/Sub messaging
    • Sorted sets và lists
  • Memcached:

    • Đơn giản hơn, multi-threaded
    • Không có persistence
    • Hỗ trợ auto discovery

4.2 Use Cases

  • Caching
  • Session Store
  • Gaming Leaderboards
  • Geospatial Applications
  • Real-time Analytics

5. Amazon Redshift

Amazon Redshift là một fully managed, petabyte-scale data warehouse service trong cloud.

5.1 Key Features

  • Columnar Storage: Optimized cho analytical queries.
  • Massive Parallel Processing (MPP): Distributes và parallelizes queries.
  • Spectrum: Query data trực tiếp từ S3 mà không cần load.
  • Concurrency Scaling: Automatically add cluster capacity để handle increase in concurrent queries.

5.2 Use Cases

  • Business Intelligence
  • Big Data Processing
  • Log Analysis

6. Amazon DocumentDB

Amazon DocumentDB là một fully managed document database service tương thích với MongoDB.

6.1 Key Features

  • MongoDB Compatibility: Sử dụng existing MongoDB drivers và tools.
  • Scalability: Scale compute và storage independently.
  • Fully Managed: Automated backups, patching, và recovery.

6.2 Use Cases

  • Content Management
  • Catalogs
  • User Profiles

7. Amazon Neptune

Amazon Neptune là một fully managed graph database service.

7.1 Key Features

  • Supports Property Graph và RDF: Uses Apache TinkerPop Gremlin và SPARQL.
  • High Availability: Replicate across multiple AZs.
  • Secure: Encryption at rest và in transit.

7.2 Use Cases

  • Social Networking
  • Fraud Detection
  • Recommendation Engines
  • Knowledge Graphs

8. Amazon Quantum Ledger Database (QLDB)

Amazon QLDB là một fully managed ledger database cung cấp transparent, immutable, và cryptographically verifiable transaction log.

8.1 Key Features

  • Immutable: Cannot update or delete records.
  • Cryptographically Verifiable: Sử dụng blockchain-like structure.
  • SQL-like API: Familiar query language.

8.2 Use Cases

  • Financial Transactions
  • Supply Chain
  • Cryptocurrency và Blockchain Applications

9. Best Practices

  1. Choose the Right Database: Understand your data model và access patterns.

  2. Plan for Scalability: Use services that can scale với your needs.

  3. Implement High Availability: Sử dụng features như Multi-AZ và Read Replicas.

  4. Secure Your Data: Encrypt data at rest và in transit, implement least privilege access.

  5. Monitor Performance: Use CloudWatch và database-specific monitoring tools.

  6. Optimize Cost: Choose the right instance size, use reserved instances cho predictable workloads.

  7. Backup và Recovery: Implement regular backups và test recovery procedures.

  8. Consider Caching: Use ElastiCache để reduce database load cho read-heavy workloads.

Hiểu sâu về các giải pháp database trên AWS là cực kỳ quan trọng cho việc thiết kế và triển khai các ứng dụng hiệu quả, có khả năng mở rộng trên cloud. Những kiến thức này là nền tảng cho kỳ thi SAA-C03 và sẽ giúp bạn trong việc lựa chọn và triển khai database phù hợp cho các use case khác nhau.