Ngân hàng đề — AWS Certified Database Specialty

Tìm thấy 358 câu.

Câu 171 Chọn nhiều đáp án
A database specialist is launching a test graph database using Amazon Neptune for the first time. The database specialist needs to insert millions of rows of test observations from a .csv file that is stored in Amazon S3. The database specialist has been using a series of API calls to upload the data to the Neptune DB instance.
Which combination of steps would allow the database specialist to upload the data faster? (Choose three.)
  1. A Ensure Amazon Cognito returns the proper AWS STS tokens to authenticate the Neptune DB instance to the S3 bucket hosting the CSV file.
  2. B Ensure the vertices and edges are specified in different .csv files with proper header column formatting.
  3. C Use AWS DMS to move data from Amazon S3 to the Neptune Loader.
  4. D Curl the S3 URI while inside the Neptune DB instance and then run the addVertex or addEdge commands.
  5. E Ensure an IAM role for the Neptune DB instance is configured with the appropriate permissions to allow access to the file in the S3 bucket.
  6. F Create an S3 VPC endpoint and issue an HTTP POST to the database's loader endpoint.
Xem giải thích

🧩 Giải thích nội dung câu hỏi

Câu hỏi tập trung vào việc một chuyên gia cơ sở dữ liệu (database specialist) đang triển khai Amazon Neptune (dịch vụ graph database serverless của AWS) lần đầu tiên cho môi trường test. Họ cần chèn hàng triệu dòng dữ liệu test từ file .csv lưu trữ trên Amazon S3 vào Neptune DB instance. Hiện tại, họ đang sử dụng các API calls liên tiếp (như addVertex/addEdge), dẫn đến tốc độ chậm.

Mục tiêu: Tìm kết hợp 3 bước để tăng tốc độ upload dữ liệu bằng cách sử dụng Neptune Bulk Loader – một tính năng chuyên dụng cho bulk loading dữ liệu lớn từ S3 vào Neptune. Bulk Loader cho phép load dữ liệu song song, nhanh hơn hàng nghìn lần so với API calls thông thường. Quy trình yêu cầu cấu hình IAM, định dạng file đúng, và endpoint loader an toàn qua VPC.

Lưu ý quan trọng từ AWS (cập nhật đến 2026): Neptune Bulk Loader hỗ trợ định dạng CSV/Gremlin với headers chuẩn (~label,id), load vertices/edges riêng biệt, IAM role cho S3 access, và VPC endpoints để tránh public internet. Không dùng DMS hay Cognito trực tiếp cho loader này.

✅ Đáp án đúng (Chọn 3 phương án sau)

Dưới đây là 3 phương án đúng, kết hợp để kích hoạt Neptune Bulk Loader hiệu quả, tăng tốc độ load dữ liệu lên đến hàng triệu edges/giây:

  • Ensure the vertices and edges are specified in different .csv files with proper header column formatting.
    ✅ Lý do: Neptune Bulk Loader yêu cầu tách riêng file CSV cho vertices và edges (ví dụ: vertices.csv với headers ~id,~label và edges.csv với ~id,~label,from,to). Định dạng header đúng giúp parser tự động hóa, load song song siêu nhanh. Nếu không tách, loader sẽ fail hoặc chậm.

  • Ensure an IAM role for the Neptune DB instance is configured with the appropriate permissions to allow access to the file in the S3 bucket.
    ✅ Lý do: Neptune DB instance cần IAM role (Neptune DB Instance Role) với policy AmazonS3ReadOnlyAccess hoặc custom policy cho phép s3:GetObject trên bucket S3. Loader sử dụng role này để pull dữ liệu trực tiếp từ S3 mà không cần credentials tạm thời.

  • Create an S3 VPC endpoint and issue an HTTP POST to the database's loader endpoint.
    ✅ Lý do: S3 VPC Endpoint (Gateway Endpoint) đảm bảo traffic private trong VPC, tránh public internet chậm và rủi ro bảo mật. Sau đó, gửi HTTP POST đến loader endpoint (ví dụ: https://your-neptune.cluster-xxx.us-east-1.neptune.amazonaws.com:8182/loader) với JSON payload chỉ định S3 URIs để kích hoạt bulk load ngay lập tức.

Kết hợp 3 bước này: Tạo role IAM → Tách file CSV đúng format → POST qua VPC endpoint → Loader tự động pull và load dữ liệu parallel!

❌ Phân tích tất cả các phương án (Đúng/Sai chi tiết)

Dưới đây là phân tích từng phương án một, giữ nguyên văn bản gốc tiếng Anh. Mỗi cái được đánh giá dựa trên docs Neptune Bulk Loader mới nhất:

  • Ensure Amazon Cognito returns the proper AWS STS tokens to authenticate the Neptune DB instance to the S3 bucket hosting the CSV file.
    ❌ Sai: Cognito dùng cho user auth (IAM Identity Pool), không áp dụng cho Neptune Bulk Loader. Loader chỉ cần IAM instance role cố định, không dùng STS tokens tạm thời từ Cognito. Sử dụng Cognito sẽ phức tạp hóa và không hỗ trợ loader endpoint.

  • Ensure the vertices and edges are specified in different .csv files with proper header column formatting.
    ✅ Đúng: Như giải thích trên, tách file riêng + header chuẩn (~id,~label) là bắt buộc cho CSV Gremlin loader, giúp Neptune parse và load parallel hiệu quả cao.

  • Use AWS DMS to move data from Amazon S3 to the Neptune Loader.
    ❌ Sai: AWS DMS (Database Migration Service) hỗ trợ migrate giữa RDBMS/Neptune, nhưng không copy trực tiếp từ S3 CSV sang Neptune Loader. DMS không optimize cho graph bulk load; dùng loader native từ S3 nhanh hơn và rẻ hơn.

  • Curl the S3 URI while inside the Neptune DB instance and then run the addVertex or addEdge commands.
    ❌ Sai: Neptune không hỗ trợ SSH/curl trực tiếp vào DB instance (serverless, không accessible). Hơn nữa, addVertex/addEdge Gremlin chỉ cho small data; với millions rows, nó chậm khủng khiếp so với bulk loader.

  • Ensure an IAM role for the Neptune DB instance is configured with the appropriate permissions to allow access to the file in the S3 bucket.
    ✅ Đúng: IAM role là yếu tố cốt lõi, attach vào Neptune cluster với trust policy neptune.amazonaws.com, cho phép S3 access. Loader fail nếu thiếu.

  • Create an S3 VPC endpoint and issue an HTTP POST to the database's loader endpoint.
    ✅ Đúng: VPC Endpoint + HTTP POST là cách chuẩn để trigger loader an toàn, nhanh (qua private link). POST body ví dụ: {"source": ["s3://bucket/file.csv"], "format": "csv", "iamRoleArn": "..."}.

📘 Tài liệu tham khảo (AWS cập nhật 2026)

💡 Mẹo DevOps: Test bulk load với curl -X POST ... từ EC2 trong VPC, monitor qua CloudWatch Metrics (LoaderStatus). Nếu lỗi, check IAM/S3 bucket policy! 🚀

Câu 172
A company is using Amazon DynamoDB global tables for an online gaming application. The game has players around the world. As the game has become more popular, the volume of requests to DynamoDB has increased significantly. Recently, players have reported that the game state is inconsistent between players in different countries. A database specialist observes that the ReplicationLatency metric for some of the replica tables is too high.
Which approach will alleviate the problem?
  1. A Configure all replica tables to use DynamoDB auto scaling.
  2. B Configure a DynamoDB Accelerator (DAX) cluster on each of the replicas.
  3. C Configure the primary table to use DynamoDB auto scaling and the replica tables to use manually provisioned capacity.
  4. D Configure the table-level write throughput limit service quota to a higher value.
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi xoay quanh Amazon DynamoDB Global Tables – một tính năng cho phép sao chép dữ liệu đa vùng (multi-region) để hỗ trợ ứng dụng toàn cầu như game online. 📱
Công ty đang dùng Global Tables cho ứng dụng game có người chơi khắp thế giới. Khi lượng request tăng vọt, ReplicationLatency (độ trễ sao chép) trên một số replica tables quá cao, dẫn đến trạng thái game không nhất quán giữa các quốc gia (ví dụ: người chơi ở Mỹ thấy điểm số khác với châu Á). 🕒
Vấn đề cốt lõi: ReplicationLatency cao thường do replicas bị throttle (hạn chế writes) vì capacity write không đủ xử lý lượng dữ liệu replicate từ các vùng khác. Trong Global Tables (phiên bản mới nhất 2024-2026, hỗ trợ multi-master writes), writes có thể vào bất kỳ replica nào và replicate bất đồng bộ sang các replica khác. Nếu replica không scale kịp, latency tăng → inconsistency.
Mục tiêu: Tìm cách giảm latency bằng cách đảm bảo tất cả replicas xử lý writes replicate mượt mà. 🛠️

✅ Đáp án đúng và lý do lựa chọn

Đáp án đúng: Configure all replica tables to use DynamoDB auto scaling.

Lý do chi tiết:

  • DynamoDB auto scaling (tính năng mặc định từ 2017, cập nhật liên tục đến 2026) tự động điều chỉnh provisioned write/read capacity dựa trên workload thực tế, giữ utilization ở mức target (mặc định 70%).
  • Trong Global Tables, tất cả replicas cần auto scaling để xử lý writes replicate từ các vùng khác, tránh throttling → giảm ReplicationLatency ngay lập tức. Nếu chỉ manual provisioned, capacity cố định dễ bị quá tải khi traffic spike.
  • Kết quả: Game state sync nhanh hơn, consistency cao giữa người chơi toàn cầu. Đây là best practice từ AWS cho high-throughput global apps. 🚀

📋 Giải thích tất cả các phương án (đúng/sai)

  • ✅ Configure all replica tables to use DynamoDB auto scaling.
    Đúng vì: Như phân tích trên, auto scaling trên tất cả replicas đảm bảo write capacity scale động theo replication traffic, trực tiếp giải quyết throttling và ReplicationLatency cao. AWS khuyến nghị cho Global Tables với variable workload. Không ảnh hưởng reads/writes primary vì multi-master. Hoàn hảo cho game traffic bursty! 🎮

  • ❌ Configure a DynamoDB Accelerator (DAX) cluster on each of the replicas.
    Sai vì: DAX là in-memory cache cho reads (giảm latency read <2ms), không xử lý writes hay replication. ReplicationLatency liên quan writes replicate giữa replicas, DAX chỉ cache local reads → không giảm latency sync giữa regions. Thêm DAX còn tốn chi phí không cần thiết. 😵

  • ❌ Configure the primary table to use DynamoDB auto scaling and the replica tables to use manually provisioned capacity.
    Sai vì: Global Tables (v2, chuẩn hiện tại 2026) là multi-master – không có "primary" cố định, tất cả regions equal và accept writes. Chỉ auto scale "primary" (nếu nghĩ theo v1 cũ) bỏ qua replicas → replicas manual dễ throttle khi replicate → latency vẫn cao. Phải scale tất cả mới hiệu quả. ⚠️

  • ❌ Configure the table-level write throughput limit service quota to a higher value.
    Sai vì: Service quota (limit tổng writes/giây per table, mặc định 40k WCUs) hiếm khi là bottleneck cho Global Tables (có thể request tăng quota miễn phí). Vấn đề ở đây là per-region replica capacity throttling, không phải quota toàn cục. Tăng quota không scale replicas → latency không giảm. Chỉ dùng khi AWS Console báo quota exceeded. 📏

📘 Tài liệu tham khảo (cập nhật mới nhất 2026)

  • AWS Documentation: Troubleshoot Global Tables replication – Xác nhận high latency do replica throttling, recommend auto scaling all replicas.
  • Best Practices: DynamoDB Auto Scaling và Global Tables v2.
  • Monitoring: Sử dụng CloudWatch metric ReplicationLatency > 180s là alert, kết hợp ThrottledRequests.
    Học thêm qua AWS Exam Readiness DOP-C02 (DevOps Pro 2024 edition). 🌟
Câu 173
A company runs a MySQL database for its ecommerce application on a single Amazon RDS DB instance. Application purchases are automatically saved to the database, which causes intensive writes. Company employees frequently generate purchase reports. The company needs to improve database performance and reduce downtime due to patching for upgrades.
Which approach will meet these requirements with the LEAST amount of operational overhead?
  1. A Enable a Multi-AZ deployment of the RDS for MySQL DB instance, and enable Memcached in the MySQL option group.
  2. B Enable a Multi-AZ deployment of the RDS for MySQL DB instance, and set up replication to a MySQL DB instance running on Amazon EC2.
  3. C Enable a Multi-AZ deployment of the RDS for MySQL DB instance, and add a read replica.
  4. D Add a read replica and promote it to an Amazon Aurora MySQL DB cluster master. Then enable Amazon Aurora Serverless.
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi tập trung vào một công ty đang chạy MySQL database trên một single Amazon RDS DB instance cho ứng dụng thương mại điện tử (ecommerce).

  • Vấn đề chính:
    ✅ Intensive writes (ghi dữ liệu mạnh mẽ) từ các giao dịch mua hàng tự động được lưu vào database.
    ✅ Frequent read queries từ nhân viên tạo báo cáo mua hàng (purchase reports).
    ✅ Cần cải thiện hiệu suất database (performance) để xử lý tốt cả writes và reads.
    ✅ Giảm downtime do patching (bảo trì nâng cấp hệ thống RDS).

Yêu cầu cốt lõi: Chọn giải pháp với LEAST operational overhead (ít nhất overhead vận hành), nghĩa là ưu tiên các tính năng managed service của AWS RDS, dễ triển khai, tự động hóa cao, không cần can thiệp thủ công nhiều.

RDS single instance hiện tại thiếu high availability (HA) và read scaling, dẫn đến bottleneck ở reads và downtime khi patching (vì patching trên instance chính gây gián đoạn). Giải pháp lý tưởng phải kết hợp Multi-AZ (cho HA và patching seamless) + offload reads (cho reports).

✅ Đáp án đúng: Enable a Multi-AZ deployment of the RDS for MySQL DB instance, and add a read replica.

Lý do lựa chọn:
🛠️ Multi-AZ deployment: Tạo standby replica ở AZ khác, tự động failover (RTO <60s), patching/upgrades diễn ra trên standby trước nên downtime gần như zero (chỉ vài phút nếu cần). Giảm rủi ro outage.
🧩 Add a read replica: Offload toàn bộ read traffic (reports) khỏi primary instance, giữ writes intensive trên primary. Read replicas hỗ trợ up to 15 replicas (tính đến 2024-2026), auto-scaling reads, fully managed bởi RDS (không cần config replication thủ công).
📈 Least overhead: Cả hai tính năng enable qua console/CLI/API một lần, AWS tự quản lý sync async replication, monitoring, scaling. Không cần code thay đổi (ứng dụng dùng endpoint read replica cho reports). Phù hợp MySQL RDS tiêu chuẩn.
Kết quả: Performance cải thiện (reads scale), downtime giảm, overhead thấp nhất.

📋 Giải thích chi tiết tất cả các phương án

  • ❌ Enable a Multi-AZ deployment of the RDS for MySQL DB instance, and enable Memcached in the MySQL option group.
    Phương án này chỉ giảm downtime patching nhờ Multi-AZ (tốt), nhưng Memcached chỉ là query cache cho reads (qua option group), không scale reads hiệu quả như read replica. Không giải quyết intensive writes (vẫn overload primary), và Memcached cần app code thay đổi để sử dụng (overhead cao hơn). Không phải giải pháp tối ưu cho read-heavy reports.

  • ❌ Enable a Multi-AZ deployment of the RDS for MySQL DB instance, and set up replication to a MySQL DB instance running on Amazon EC2.
    Multi-AZ tốt cho HA/patching, nhưng replication sang EC2 yêu cầu self-managed (cài MySQL trên EC2, config replication manual, monitoring, patching riêng). Overhead vận hành rất cao (không managed như RDS), dễ lỗi sync, scaling phức tạp. Vi phạm "least overhead".

  • ✅ Enable a Multi-AZ deployment of the RDS for MySQL DB instance, and add a read replica.
    Như đã giải thích ở trên: Hoàn hảo cho cả performance (read offload) + HA/patching, fully managed, enable nhanh chóng. Hỗ trợ MySQL RDS đến phiên bản 8.0+ (2026).

  • ❌ Add a read replica and promote it to an Amazon Aurora MySQL DB cluster master. Then enable Amazon Aurora Serverless.
    Không khả thi trực tiếp: Read replica RDS MySQL không thể "promote" đơn giản thành Aurora cluster master (hai engine khác nhau: RDS MySQL vs Aurora MySQL). Cần migrate data phức tạp (DMS/snapshot), rồi enable Aurora Serverless (v2 hỗ trợ tốt hơn từ 2022-2026, auto-scale writes/reads). Overhead cao nhất (migration, testing, downtime ban đầu), không giữ nguyên RDS MySQL.

📘 Tài liệu tham khảo (AWS cập nhật đến 2026)

Giải pháp này đảm bảo 99.99% availability và scale dễ dàng! 🚀

Câu 174 Chọn nhiều đáp án
An ecommerce company is migrating its core application database to Amazon Aurora MySQL. The company is currently performing online transaction processing
(OLTP) stress testing with concurrent database sessions. During the first round of tests, a database specialist noticed slow performance for some specific write operations.
Reviewing Amazon CloudWatch metrics for the Aurora DB cluster showed 90% CPU utilization.
Which steps should the database specialist take to MOST effectively identify the root cause of high CPU utilization and slow performance? (Choose two.)
  1. A Enable Enhanced Monitoring at less than 30 seconds of granularity to review the operating system metrics before the next round of tests.
  2. B Review the VolumeBytesUsed metric in CloudWatch to see if there is a spike in write I/O.
  3. C Review Amazon RDS Performance Insights to identify the top SQL statements and wait events.
  4. D Review Amazon RDS API calls in AWS CloudTrail to identify long-running queries.
  5. E Enable Advance Auditing to log QUERY events in Amazon CloudWatch before the next round of tests.
Xem giải thích

🧩 Giải thích nội dung câu hỏi

Câu hỏi mô tả một công ty thương mại điện tử đang di chuyển cơ sở dữ liệu ứng dụng cốt lõi sang Amazon Aurora MySQL. Họ đang thực hiện kiểm tra căng thẳng OLTP (Online Transaction Processing) với các phiên kết nối đồng thời. Trong vòng kiểm tra đầu tiên, chuyên gia cơ sở dữ liệu nhận thấy hiệu suất chậm đối với một số hoạt động ghi (write operations) cụ thể. Kiểm tra chỉ số Amazon CloudWatch của cụm Aurora DB cluster cho thấy CPU utilization đạt 90%.
Mục tiêu: Chuyên gia cần thực hiện hai bước hiệu quả nhất để xác định nguyên nhân gốc rễ (root cause) gây CPU cao và hiệu suất chậm. Đây là câu hỏi chọn TWO đáp án đúng, tập trung vào các công cụ chẩn đoán sâu của AWS RDS/Aurora (cập nhật đến 2024-2026: Performance Insights và Enhanced Monitoring vẫn là best practice cho troubleshooting CPU/performance issues).
📘 Tài liệu tham khảo: AWS RDS Troubleshooting Guide, Aurora Performance Insights, Enhanced Monitoring.

✅ Đáp án đúng (Chọn TWO)

Hai lựa chọn đúng là những bước hiệu quả nhất để chẩn đoán CPU cao do các truy vấn SQL kém hiệu quả hoặc wait events trong môi trường OLTP Aurora MySQL:

  1. Enable Enhanced Monitoring at less than 30 seconds of granularity to review the operating system metrics before the next round of tests.
    🛠️ Lý do: Enhanced Monitoring sử dụng OS agent để cung cấp metrics chi tiết (CPU per process, load average, memory) với granularity thấp (<30 giây), giúp phát hiện chính xác process nào (như mysqld) gây CPU spike trước test tiếp theo.
  2. Review Amazon RDS Performance Insights to identify the top SQL statements and wait events.
    🛠️ Lý do: Performance Insights là công cụ mạnh mẽ nhất cho RDS/Aurora, tự động phân tích top SQL tiêu tốn CPU/wait time, hiển thị wait events (như IO:wait, CPU time), lý tưởng cho OLTP stress test với write chậm.

📋 Phân tích tất cả các phương án (Đúng/Sai)

Dưới đây là phân tích chi tiết từng lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh giá dựa trên tính hiệu quả nhất cho root cause analysis (CPU cao + slow writes).

  • Enable Enhanced Monitoring at less than 30 seconds of granularity to review the operating system metrics before the next round of tests.
    ✅ Đúng. Bước này cung cấp dữ liệu OS-level granular (như %CPU per thread via CloudWatch Agent), giúp isolate CPU bottleneck trước test mới. Hiệu quả cao vì Aurora CPU thường do processes SQL nặng.

  • Review the VolumeBytesUsed metric in CloudWatch to see if there is a spike in write I/O.
    ❌ Sai. VolumeBytesUsed chỉ đo lượng storage đã dùng (không phải I/O speed/spike). Write I/O spike nên dùng VolumeWriteIOPs hoặc WriteLatency, không liên quan trực tiếp đến CPU 90%. Không hiệu quả cho root cause CPU.

  • Review Amazon RDS Performance Insights to identify the top SQL statements and wait events.
    ✅ Đúng. Performance Insights (mặc định bật hoặc enable dễ dàng) phân tích top SQL CPU-intensive và wait events (e.g., lock waits trong OLTP writes), trực tiếp chỉ ra queries gây chậm. Best practice AWS cho high CPU (hỗ trợ Aurora MySQL đến 2026).

  • Review Amazon RDS API calls in AWS CloudTrail to identify long-running queries.
    ❌ Sai. CloudTrail log API calls (như DescribeDBInstances), không phải SQL queries thực thi trên DB. Long-running queries cần Performance Insights hoặc slow query log, không phải CloudTrail.

  • Enable Advance Auditing to log QUERY events in Amazon CloudWatch before the next round of tests.
    ❌ Sai (lưu ý: "Advance" có lẽ là lỗi chính tả của Advanced Auditing). Auditing log queries đầy đủ nhưng overhead cao, dữ liệu thô khó phân tích root cause nhanh (không top SQL/wait như Performance Insights). Không phải bước "MOST effective" cho troubleshooting CPU.

🏆 Kết luận & Best Practice

🔥 Kết hợp Enhanced Monitoring (OS deep dive) + Performance Insights (SQL/wait analysis) là cách nhanh nhất để fix CPU 90% trong Aurora OLTP. Sau đó, scale instance hoặc optimize queries (e.g., indexes cho writes).
📘 Nguồn bổ sung: AWS Well-Architected Framework - Reliability Pillar (Monitoring section, cập nhật 2024). Nếu test tiếp theo, bật Slow Query Log làm bước phụ! 🚀

Câu 175
An online advertising company is implementing an application that displays advertisements to its users. The application uses an Amazon DynamoDB table as a data store. The application also uses a DynamoDB Accelerator (DAX) cluster to cache its reads. Most of the reads are from the GetItem query and the
BatchGetItem query. Consistency of reads is not a requirement for this application.
Upon deployment, the application cache is not performing as expected. Specific strongly consistent queries that run against the DAX cluster are taking many milliseconds to respond instead of microseconds.
How can the company improve the cache behavior to increase application performance?
  1. A Increase the size of the DAX cluster.
  2. B Configure DAX to be an item cache with no query cache
  3. C Use eventually consistent reads instead of strongly consistent reads.
  4. D Create a new DAX cluster with a higher TTL for the item cache.
Xem giải thích

🧩 Phân tích chi tiết câu hỏi trắc nghiệm AWS

📖 Nội dung câu hỏi được giải thích rõ ràng:
Câu hỏi mô tả một công ty quảng cáo trực tuyến đang triển khai ứng dụng hiển thị quảng cáo cho người dùng. Ứng dụng sử dụng Amazon DynamoDB làm kho dữ liệu chính và DynamoDB Accelerator (DAX) làm lớp cache cho các hoạt động đọc (chủ yếu là GetItem và BatchGetItem). Ứng dụng không yêu cầu tính nhất quán cao (consistency không phải là yêu cầu). Tuy nhiên, sau khi triển khai, hiệu suất cache không như mong đợi: Các truy vấn strongly consistent chạy trên DAX mất nhiều milliseconds (ms) thay vì microseconds (μs) như dự kiến.
🛠️ Vấn đề cốt lõi: DAX được thiết kế để cung cấp tốc độ đọc siêu nhanh (μs) cho các truy vấn eventually consistent, nhưng các truy vấn strongly consistent phải kiểm tra và lấy dữ liệu từ backend DynamoDB (chậm hơn, ms). Do đó, cần cải thiện hành vi cache để tăng performance tổng thể. (Kiến thức dựa trên tài liệu AWS DAX mới nhất đến 2026, không có thay đổi lớn về cơ chế consistency trong DAX).

✅ Đáp án đúng: Use eventually consistent reads instead of strongly consistent reads.
Lý do lựa chọn (chi tiết):
DAX cache dữ liệu eventually consistent trực tiếp từ bộ nhớ in-memory, cho phép phản hồi trong microseconds (μs) mà không cần truy cập backend DynamoDB. Ngược lại, strongly consistent reads trên DAX không được cache và phải forward đến DynamoDB chính, dẫn đến độ trễ cao (ms). Vì ứng dụng không yêu cầu consistency, việc chuyển sang eventually consistent reads sẽ tận dụng tối đa cache DAX, cải thiện performance ngay lập tức mà không cần thay đổi hạ tầng. Đây là giải pháp hiệu quả nhất, chi phí thấp theo best practices AWS.

🔍 Giải thích tất cả các phương án (đúng/sai)

Dưới đây là phân tích từng lựa chọn giữ nguyên văn bản gốc bằng tiếng Anh, kèm giải thích hoàn toàn bằng tiếng Việt với lý do đúng/sai:

  • ❌ [SAI] Increase the size of the DAX cluster.
    Tăng kích thước cluster DAX (thêm node) chỉ cải thiện throughput và khả năng chịu tải (scale horizontally), nhưng không giải quyết vấn đề strongly consistent reads. Các truy vấn này vẫn phải đi qua backend DynamoDB, nên độ trễ vẫn ở mức ms. Không phải giải pháp gốc rễ, chỉ làm tăng chi phí không cần thiết.

  • ❌ [SAI] Configure DAX to be an item cache with no query cache.
    DAX mặc định sử dụng item cache (cho GetItem) và query cache (cho BatchGetItem/Scan). Tắt query cache chỉ ảnh hưởng đến một phần truy vấn, nhưng strongly consistent reads vẫn không được cache ở bất kỳ chế độ nào. Phương án này không cải thiện tốc độ cho vấn đề chính, thậm chí có thể làm giảm hit rate cache tổng thể.

  • ✅ [ĐÚNG] Use eventually consistent reads instead of strongly consistent reads.
    Như đã giải thích ở trên: Chuyển sang eventually consistent tận dụng cache in-memory của DAX hoàn hảo, giảm thời gian phản hồi từ ms xuống μs. Phù hợp với yêu cầu "consistency không cần thiết" của ứng dụng. Đây là best practice từ AWS cho workload read-heavy không cần strong consistency.

  • ❌ [SAI] Create a new DAX cluster with a higher TTL for the item cache.
    Tăng TTL (Time-To-Live) chỉ kéo dài thời gian lưu trữ item trong cache (mặc định 5 phút cho item cache), giúp giảm miss rate cho eventually consistent reads. Tuy nhiên, strongly consistent reads không bị ảnh hưởng bởi TTL vì chúng không dùng cache. Tạo cluster mới với TTL cao hơn là lãng phí tài nguyên và không giải quyết vấn đề cốt lõi.

📘 Tài liệu tham khảo (AWS chính thức, cập nhật đến 2026)

💡 Lời khuyên thực tế: Trong production, luôn kiểm tra logs DAX (CloudWatch) để xác nhận cache hit rate trước khi scale. Nếu cần strong consistency hiếm hoi, dùng DynamoDB trực tiếp thay vì DAX! 🚀

Câu 176
A company is running its critical production workload on a 500 GB Amazon Aurora MySQL DB cluster. A database engineer must move the workload to a new
Amazon Aurora Serverless MySQL DB cluster without data loss.
Which solution will accomplish the move with the LEAST downtime and the LEAST application impact?
  1. A Modify the existing DB cluster and update the Aurora configuration to ג€Serverless.ג€
  2. B Create a snapshot of the existing DB cluster and restore it to a new Aurora Serverless DB cluster.
  3. C Create an Aurora Serverless replica from the existing DB cluster and promote it to primary when the replica lag is minimal.
  4. D Replicate the data between the existing DB cluster and a new Aurora Serverless DB cluster by using AWS Database Migration Service (AWS DMS) with change data capture (CDC) enabled.
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi tập trung vào việc di chuyển workload sản xuất quan trọng (critical production workload) từ một Amazon Aurora MySQL DB cluster provisioned (dung lượng 500 GB) sang Amazon Aurora Serverless MySQL DB cluster mà không mất dữ liệu (no data loss). Yêu cầu chính là chọn giải pháp mang lại downtime thấp nhất (LEAST downtime) và tác động đến ứng dụng thấp nhất (LEAST application impact).

🛠️ Bối cảnh kỹ thuật:

  • Aurora provisioned: Cluster có tài nguyên cố định (instance sizing), phù hợp workload ổn định.
  • Aurora Serverless (phiên bản mới nhất đến 2026: Serverless v2 hỗ trợ scaling tự động tốt hơn, multi-AZ, nhưng vẫn cần migration cẩn thận từ provisioned).
  • Thách thức: Không thể chuyển trực tiếp giữa provisioned và Serverless mà không gián đoạn; cần đồng bộ dữ liệu liên tục (ongoing replication) để ứng dụng chỉ switch endpoint một lần ngắn.

Mục tiêu: Zero data loss, minimal downtime (chỉ vài phút khi promote/cutover), không ảnh hưởng lớn đến app (app vẫn write/read từ source trong quá trình sync).

✅ Đáp án đúng

Replicate the data between the existing DB cluster and a new Aurora Serverless DB cluster by using AWS Database Migration Service (AWS DMS) with change data capture (CDC) enabled.

Lý do lựa chọn:

  • AWS DMS với CDC (Change Data Capture) cho phép replicate dữ liệu full load + ongoing changes từ source (Aurora provisioned) sang target (Aurora Serverless) một cách liên tục, real-time.
  • Downtime thấp nhất: Chỉ downtime ngắn (vài giây đến phút) lúc cutover (switch endpoint app sang target sau khi lag = 0).
  • No data loss: CDC capture mọi thay đổi binlog từ source.
  • Least app impact: App tiếp tục chạy trên source; chỉ update connection string cuối cùng.
  • Cập nhật 2026: DMS hỗ trợ Aurora Serverless v2 đầy đủ (endpoint riêng), tối ưu cho MySQL 8.0+ với ít lag hơn nhờ Graviton processors.

❌ Giải thích tất cả các phương án

  • Modify the existing DB cluster and update the Aurora configuration to "Serverless."
    ❌ Sai: Không thể modify trực tiếp cluster provisioned thành Serverless (v1 hoặc v2). Aurora không hỗ trợ "in-place upgrade" này; phải tạo cluster mới. Thao tác này sẽ fail và gây outage lớn.

  • Create a snapshot of the existing DB cluster and restore it to a new Aurora Serverless DB cluster.
    ❌ Sai: Snapshot restore tạo cluster mới từ backup, nhưng không hỗ trợ ongoing replication. Phải dừng app để snapshot → restore (downtime hàng giờ với 500 GB) → switch → validate. Không đạt "LEAST downtime" (có thể >1 giờ).

  • Create an Aurora Serverless replica from the existing DB cluster and promote it to primary when the replica lag is minimal.
    ❌ Sai: Aurora Serverless v1 không hỗ trợ replicas từ provisioned cluster (chỉ internal replicas). Serverless v2 hỗ trợ cross-engine replicas nhưng không trực tiếp từ provisioned MySQL sang Serverless mà không dùng DMS; promote gây downtime failover (5-10 phút+), lag có thể cao với workload critical.

  • Replicate the data between the existing DB cluster and a new Aurora Serverless DB cluster by using AWS Database Migration Service (AWS DMS) with change data capture (CDC) enabled.
    ✅ Đúng: Như giải thích trên, đây là best practice cho migration live với minimal downtime/no data loss. DMS tự động handle full load + CDC qua binlog.

📘 Tài liệu tham khảo (AWS cập nhật đến 2026)

🛠️ Lời khuyên DevOps: Test đầy đủ với DMS validation tasks trước cutover; monitor CloudWatch DMS metrics (lag, errors). Scale DMS replication instance nếu workload cao!

Câu 177
A company is building a web application on AWS. The application requires the database to support read and write operations in multiple AWS Regions simultaneously. The database also needs to propagate data changes between Regions as the changes occur. The application must be highly available and must provide latency of single-digit milliseconds.
Which solution meets these requirements?
  1. A Amazon DynamoDB global tables
  2. B Amazon DynamoDB streams with AWS Lambda to replicate the data
  3. C An Amazon ElastiCache for Redis cluster with cluster mode enabled and multiple shards
  4. D An Amazon Aurora global database
Xem giải thích

🧩 Phân tích chi tiết nội dung câu hỏi

Câu hỏi tập trung vào việc lựa chọn giải pháp cơ sở dữ liệu NoSQL (vì DynamoDB được đề cập) trên AWS để xây dựng ứng dụng web đa vùng (multi-Region). Các yêu cầu chính bao gồm:

  • Hỗ trợ đọc (read) và ghi (write) đồng thời ở nhiều AWS Region: Nghĩa là ứng dụng có thể thực hiện cả read/write từ bất kỳ Region nào mà không bị giới hạn.
  • Lan truyền thay đổi dữ liệu giữa các Region ngay khi thay đổi xảy ra (as the changes occur): Replication phải gần như thời gian thực (near real-time).
  • Tính sẵn sàng cao (highly available): Hệ thống phải chịu lỗi tốt, tự động failover.
  • Độ trễ thấp: single-digit milliseconds (dưới 10ms), đảm bảo hiệu suất cao cho ứng dụng web.

Đây là kịch bản disaster recovery và active-active multi-Region với độ trễ cực thấp, phù hợp cho ứng dụng toàn cầu cần multi-master replication (ghi ở mọi nơi). Kiến thức cập nhật đến 2026: AWS DynamoDB Global Tables (ra mắt 2017, cải tiến liên tục) là giải pháp chuẩn cho yêu cầu này, hỗ trợ replication <1 giây và latency read/write ~single-digit ms ở multi-Region. 📘 Nguồn tham khảo: AWS DynamoDB Developer Guide - Global Tables.

✅ Đáp án đúng: Amazon DynamoDB global tables

Lý do lựa chọn:

  • DynamoDB Global Tables cho phép multi-master replication tự động: Ứng dụng có thể read/write đồng thời ở mọi Region đã thiết lập.
  • Thay đổi dữ liệu được replicate near real-time (thường <1 giây, latency end-to-end single-digit ms nhờ DynamoDB Accelerator - DAX nếu cần cache).
  • Highly available: Mỗi Region là một replica độc lập, tự động failover, SLA 99.999% durability.
  • Hoàn hảo cho workload web-scale với độ trễ thấp. 🛠️ Đây là giải pháp managed service của AWS, không cần code custom.

📋 Phân tích tất cả các phương án (đúng/sai)

  • ✅ Amazon DynamoDB global tables
    Đúng vì: Giải pháp này được thiết kế chính xác cho multi-Region active-active, hỗ trợ write/read ở mọi Region với replication eventual consistency nhưng latency thấp (single-digit ms cho local reads, cross-Region <1s). Tính sẵn sàng cao nhờ multi-AZ replicas tự động. Không cần quản lý thủ công, scale tự động. 🏆

  • ❌ Amazon DynamoDB streams with AWS Lambda to replicate the data
    Sai vì: DynamoDB Streams + Lambda chỉ replicate one-way hoặc custom, không hỗ trợ multi-Region write đồng thời (phải code logic xử lý conflict). Độ trễ cao hơn (Lambda invoke ~100ms+, cộng queueing), không đạt single-digit ms. Phức tạp, dễ lỗi, không highly available native. 🐌

  • ❌ An Amazon ElastiCache for Redis cluster with cluster mode enabled and multiple shards
    Sai vì: ElastiCache Redis là in-memory cache, không phải persistent database cho read/write chính. Multi-shard chỉ intra-Region (không multi-Region native replication real-time). Cross-Region replication thủ công qua Global Datastore (Redis 6+), nhưng latency cao (>100ms), không hỗ trợ write đồng thời multi-Region mà không conflict. Không phù hợp cho dữ liệu quan trọng. ⚠️

  • ❌ An Amazon Aurora global database
    Sai vì: Aurora Global DB chỉ one-writer (primary Region) cho writes, secondary Regions chỉ read replicas (async replication, latency 1s+). Không hỗ trợ write multi-Region đồng thời. Mặc dù highly available và low latency intra-Region, nhưng không đáp ứng "read and write operations in multiple AWS Regions simultaneously". (Cập nhật 2026: Vẫn giữ model primary-secondary). 🚫

Kết luận: Chỉ Amazon DynamoDB global tables đáp ứng toàn bộ yêu cầu một cách tối ưu, tiết kiệm chi phí và managed. Nếu triển khai, dùng AWS Console/CLI để tạo Global Table với 2+ Regions. 🎯 Tài liệu bổ sung: AWS Well-Architected Framework - Reliability Pillar.

Câu 178
A company is using Amazon Neptune as the graph database for one of its products. The company's data science team accidentally created large amounts of temporary information during an ETL process. The Neptune DB cluster automatically increased the storage space to accommodate the new data, but the data science team deleted the unused information.
What should a database specialist do to avoid unnecessary charges for the unused cluster volume space?
  1. A Take a snapshot of the cluster volume. Restore the snapshot in another cluster with a smaller volume size.
  2. B Use the AWS CLI to turn on automatic resizing of the cluster volume.
  3. C Export the cluster data into a new Neptune DB cluster.
  4. D Add a Neptune read replica to the cluster. Promote this replica as a new primary DB instance. Reset the storage space of the cluster.
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi xoay quanh Amazon Neptune – một dịch vụ graph database quản lý hoàn toàn của AWS, được sử dụng để lưu trữ dữ liệu đồ thị cho sản phẩm của công ty. 🔍
Trong quá trình ETL (Extract, Transform, Load), đội ngũ data science đã vô tình tạo ra lượng lớn dữ liệu tạm thời, khiến Neptune DB cluster tự động tăng dung lượng lưu trữ (storage autoscaling) để chứa dữ liệu mới. Sau khi xóa dữ liệu không sử dụng, dung lượng lưu trữ vẫn giữ nguyên kích thước lớn, dẫn đến chi phí không cần thiết (unnecessary charges) vì Neptune không tự động thu nhỏ storage sau khi dữ liệu bị xóa.

📌 Vấn đề cốt lõi: Làm thế nào để giảm dung lượng lưu trữ chưa sử dụng một cách hiệu quả, tránh lãng phí chi phí? (Dựa trên tính năng Neptune mới nhất đến 2026: Storage autoscaling chỉ tăng lên, không giảm tự động; phải dùng phương pháp export/import để resize.)

✅ Đáp án đúng: Export the cluster data into a new Neptune DB cluster.

Lý do chọn đáp án này:
🛠️ Đây là phương pháp chuẩn và được AWS khuyến nghị để resize storage cho Neptune. Quy trình:

  1. Export dữ liệu từ cluster hiện tại ra Amazon S3 (hỗ trợ định dạng Gremlin CSV hoặc RDF, chỉ export dữ liệu cần thiết, loại bỏ dữ liệu tạm thời).
  2. Tạo Neptune cluster mới với dung lượng lưu trữ nhỏ hơn (chỉ định allocated storage chính xác).
  3. Load dữ liệu từ S3 vào cluster mới qua lệnh neptune-export hoặc console.
    Kết quả: Cluster mới có storage tối ưu, không charge cho space unused, downtime thấp (có thể dùng blue-green deployment). ✅
    (Kiến thức cập nhật 2026: Neptune hỗ trợ Neptune Loader cho import nhanh từ S3, tích hợp IAM roles cho security.)

📋 Giải thích chi tiết tất cả các phương án

Dưới đây là phân tích từng lựa chọn giữ nguyên văn bản gốc bằng tiếng Anh, kèm giải thích đúng/sai bằng tiếng Việt:

  • ❌ Take a snapshot of the cluster volume. Restore the snapshot in another cluster with a smaller volume size.
    Phương án này sai vì Neptune không hỗ trợ resize storage khi restore snapshot. Snapshot giữ nguyên kích thước volume gốc, restore sẽ tạo cluster mới với cùng dung lượng lớn, không giảm được space unused. Chỉ dùng snapshot cho backup/DR, không phải resize. 🗑️

  • ❌ Use the AWS CLI to turn on automatic resizing of the cluster volume.
    Phương án này sai vì Neptune chỉ hỗ trợ autoscaling tăng storage (từ 100GB+), không có tính năng tự động thu nhỏ (downscale). AWS CLI không có lệnh "turn on automatic resizing" cho downscaling storage. Nếu bật autoscaling, nó chỉ tăng thêm, không giải quyết vấn đề. 🚫

  • ✅ Export the cluster data into a new Neptune DB cluster.
    Như đã giải thích ở phần đáp án đúng: Đúng hoàn toàn, đây là cách tối ưu nhất để tái tạo cluster với storage nhỏ hơn, loại bỏ dữ liệu tạm thời hiệu quả. Hỗ trợ full data migration mà không mất mát. 🎯

  • ❌ Add a Neptune read replica to the cluster. Promote this replica as a new primary DB instance. Reset the storage space of the cluster.
    Phương án này sai vì Neptune không có read replicas như RDS (Neptune dùng multi-AZ replication cho HA, không phải read replicas độc lập). Không thể promote replica để resize storage, và không có lệnh "reset storage space". Read replicas (nếu có) cũng kế thừa storage size gốc. 🔒

📘 Tài liệu tham khảo (AWS cập nhật mới nhất 2026)

  • AWS Neptune Documentation: Managing storage autoscaling – Xác nhận autoscaling chỉ tăng, không giảm.
  • Resize Neptune storage: Export and load data & Neptune Loader – Hướng dẫn chính thức export/import để resize.
  • AWS Well-Architected Framework (DevOps Pillar): Khuyến nghị migration dữ liệu để optimize cost cho managed DB.
    (Kiểm tra console AWS Neptune hoặc AWS CLI aws neptune describe-db-clusters để verify storage.)

Hy vọng phân tích này giúp bạn nắm vững! 🚀 Nếu cần demo CLI hoặc lab thực hành, hãy hỏi thêm nhé! 😊

Câu 179
A database specialist is responsible for designing a highly available solution for online transaction processing (OLTP) using Amazon RDS for MySQL production databases. Disaster recovery requirements include a cross-Region deployment along with an RPO of 5 minutes and RTO of 30 minutes.
What should the database specialist do to align to the high availability and disaster recovery requirements?
  1. A Use a Multi-AZ deployment in each Region.
  2. B Use read replica deployments in all Availability Zones of the secondary Region.
  3. C Use Multi-AZ and read replica deployments within a Region.
  4. D Use Multi-AZ and deploy a read replica in a secondary Region.
Xem giải thích

🧩 Phân tích nội dung câu hỏi

Câu hỏi yêu cầu thiết kế giải pháp highly available (HA) và disaster recovery (DR) cho hệ thống xử lý giao dịch trực tuyến (OLTP) sử dụng Amazon RDS for MySQL trong môi trường production. Các yêu cầu cụ thể bao gồm:

  • Triển khai cross-Region (giữa các Region khác nhau) để đảm bảo DR.
  • RPO (Recovery Point Objective) = 5 phút: Mất dữ liệu tối đa không quá 5 phút (tức là dữ liệu phải được replicate với độ trễ thấp).
  • RTO (Recovery Time Objective) = 30 phút: Thời gian khôi phục hệ thống không quá 30 phút.

Mục tiêu là chọn phương án tối ưu nhất kết hợp Multi-AZ (cho HA trong Region chính) và cơ chế replicate cross-Region để đáp ứng đầy đủ các tiêu chí trên. Kiến thức dựa trên tính năng RDS mới nhất (tính đến 2026), nơi read replicas hỗ trợ cross-Region với lag thấp (thường <5 phút) và promote nhanh chóng.

✅ Đáp án đúng: Use Multi-AZ and deploy a read replica in a secondary Region.

Lý do lựa chọn:

  • Multi-AZ đảm bảo HA trong Region chính với synchronous replication giữa primary và standby instance (RPO gần 0, RTO ~60 giây tự động failover). 🛡️
  • Read replica cross-Region (asynchronous replication) ở Region phụ cung cấp DR, với lag replication thường chỉ vài giây đến dưới 5 phút (đáp ứng RPO 5 phút). Trong trường hợp DR, promote read replica thành primary mới chỉ mất ~1-5 phút (dễ dàng đạt RTO 30 phút). 🚀
  • Kết hợp này là best practice AWS cho OLTP production: HA local + DR global, hỗ trợ MySQL version mới nhất (8.0+ với binary log replication tối ưu).
  • Không cần snapshot thủ công vì read replica tự động cập nhật liên tục.

❌ Giải thích tất cả các phương án

  • Use a Multi-AZ deployment in each Region.
    ❌ Sai vì Multi-AZ chỉ replicate synchronous trong cùng Region (không cross-Region). Nếu Region chính outage, Region phụ không có dữ liệu replicate → vi phạm DR cross-Region, RPO/RTO không được đảm bảo (phải restore từ snapshot, mất hàng giờ).

  • Use read replica deployments in all Availability Zones of the secondary Region.
    ❌ Sai vì chỉ dùng read replicas ở Region phụ (không có Multi-AZ cho primary ở Region chính). Read replicas chỉ read-only, không đảm bảo HA cho primary nếu AZ outage trong Region chính → thiếu HA local, và promote cross-Region vẫn chậm nếu primary không HA.

  • Use Multi-AZ and read replica deployments within a Region.
    ❌ Sai vì tất cả chỉ within một Region (không cross-Region). Nếu toàn Region outage (ví dụ thiên tai), không có DR → vi phạm yêu cầu cross-Region, RTO có thể vượt 30 phút (phải tạo DB mới từ snapshot).

  • Use Multi-AZ and deploy a read replica in a secondary Region.
    ✅ Đúng (như giải thích ở trên). Hoàn hảo cho OLTP với HA + DR, lag thấp, promote nhanh.

📘 Tài liệu tham khảo (AWS cập nhật 2026)

Phương án này là gold standard cho RDS OLTP production! 💡 Nếu cần code Terraform/CloudFormation deploy, hỏi thêm nhé! 🛠️

Câu 180
A media company wants to use zero-downtime patching (ZDP) for its Amazon Aurora MySQL database. Multiple processing applications are using SSL certificates to connect to database endpoints and the read replicas.
Which factor will have the LEAST impact on the success of ZDP?
  1. A Binary logging is enabled, or binary log replication is in progress.
  2. B Current SSL connections are open to the database.
  3. C Temporary tables or table locks are in use.
  4. D The value of the lower_case_table_names server parameter was set to 0 when the tables were created.
Xem giải thích

🧩 Giải thích nội dung câu hỏi

Câu hỏi xoay quanh việc triển khai Zero-Downtime Patching (ZDP) cho cơ sở dữ liệu Amazon Aurora MySQL của một công ty truyền thông. ZDP là tính năng cho phép cập nhật bản vá (patching) mà không gây gián đoạn dịch vụ (zero-downtime), bằng cách vá writer instance trước, sau đó vá các read replicas và thực hiện failover mượt mà.

Các ứng dụng xử lý dữ liệu kết nối đến database endpoints và read replicas qua SSL certificates. Câu hỏi yêu cầu xác định yếu tố nào có TÁC ĐỘNG ÍT NHẤT (LEAST impact) đến sự thành công của ZDP. Nghĩa là, trong số các lựa chọn, yếu tố nào không gây cản trở hoặc ảnh hưởng thấp nhất đến quá trình ZDP (dựa trên tài liệu AWS Aurora MySQL phiên bản mới nhất đến 2026, hỗ trợ ZDP từ Aurora MySQL 3.x và 2.10+ với các hạn chế cụ thể).

✅ Đáp án đúng

Phương án đúng: The value of the lower_case_table_names server parameter was set to 0 when the tables were created.

Lý do chọn đáp án này:
Parameter lower_case_table_names là cài đặt hệ thống MySQL kiểm soát độ nhạy cảm chữ hoa/thường của tên bảng (set = 0 nghĩa là case-sensitive, phù hợp với hệ thống file Linux của Aurora). Yếu tố này KHÔNG ảnh hưởng trực tiếp đến quá trình ZDP, vì ZDP chỉ liên quan đến replication, kết nối SSL, và trạng thái session (như temp tables/locks). Nó chỉ ảnh hưởng đến cách lưu trữ tên bảng lúc tạo, không cản trở việc vá bản cập nhật engine. Do đó, đây là yếu tố có tác động ÍT NHẤT so với các lựa chọn khác. 🛠️

📋 Phân tích chi tiết tất cả các phương án

Dưới đây là phân tích từng lựa chọn, giữ nguyên văn bản gốc bằng tiếng Anh. Mỗi phương án được đánh giá dựa trên hạn chế chính thức của ZDP trong Aurora MySQL (theo AWS docs: ZDP yêu cầu không có binary log, không SSL connections mở, không temp tables/locks để tránh gián đoạn replication/failover).

  • ❌ Binary logging is enabled, or binary log replication is in progress.
    Sai: Yếu tố này có TÁC ĐỘNG LỚN đến ZDP. Binary logging (binlog) được dùng cho replication, nhưng trong ZDP, nó gây xung đột với quá trình vá writer/replicas vì cần tạm dừng replication. AWS yêu cầu tắt binlog trước ZDP để tránh lỗi failover. Nếu đang enabled hoặc replication đang diễn ra, ZDP sẽ thất bại ngay. (High impact! 🚫)

  • ❌ Current SSL connections are open to the database.
    Sai: Yếu tố này có TÁC ĐỘNG CAO. Các kết nối SSL đang mở (như ứng dụng trong câu hỏi sử dụng SSL đến endpoints/read replicas) sẽ ngăn ZDP, vì quá trình vá yêu cầu đóng tất cả SSL sessions để rotate certificates và failover an toàn. AWS docs chỉ rõ: Phải đóng tất cả SSL connections trước khi chạy ZDP, nếu không sẽ rollback. (Critical blocker! 🔒)

  • ❌ Temporary tables or table locks are in use.
    Sai: Yếu tố này có TÁC ĐỘNG TRỰC TIẾP VÀ LỚN. Temp tables hoặc table locks (do session đang active) sẽ chặn ZDP vì chúng không replicate được sang replicas mới, dẫn đến inconsistency khi failover. AWS khuyến cáo phải giải phóng tất cả temp tables/locks trước ZDP bằng cách kill sessions liên quan. (Major issue! ⏳)

  • ✅ The value of the lower_case_table_names server parameter was set to 0 when the tables were created.
    Đúng: Như đã giải thích, parameter này chỉ ảnh hưởng đến case sensitivity của tên bảng lúc tạo, không liên quan đến patching engine, replication, hay connections. ZDP hoàn toàn bỏ qua yếu tố này, nên nó có tác động ÍT NHẤT (least impact). Không có yêu cầu thay đổi parameter này trong ZDP workflow. (No issue! 👍)

📘 Tài liệu tham khảo

  • AWS Official Docs (cập nhật 2026): Amazon Aurora Zero-Downtime Patching (ZDP) – Chi tiết prerequisites: No binlog, no SSL, no temp tables/locks.
  • Aurora MySQL Reference: lower_case_table_names parameter – Không đề cập trong ZDP limitations.
  • Best Practices: AWS re:Post và Well-Architected Framework (Reliability pillar) khuyến nghị kiểm tra các yếu tố trên trước patching.

Hy vọng phân tích này giúp bạn ôn thi AWS Certified DevOps Engineer Professional hiệu quả! 🚀 Nếu cần thêm ví dụ thực tế, hãy hỏi nhé!