Câu hỏi yêu cầu chọn ba cơ sở dữ liệu NoSQL phù hợp cho dữ liệu telemetry từ hàng triệu thiết bị IoT, với tốc độ tăng trưởng 100TB/năm, mỗi bản ghi có khoảng 100 thuộc tính, không yêu cầu ACID nhưng cần tính sẵn sàng cao, độ trễ thấp và có khả năng truy vấn theo từng trường riêng lẻ.
- B. HBase: Là một cơ sở dữ liệu cột rộng (wide-column store) phân tán được xây dựng trên nền tảng Hadoop (tương thích với Bigtable trên GCP). Nó rất phù hợp cho các tập dữ liệu lớn, phân tán, có khả năng mở rộng (scalable) cao và cung cấp độ trễ thấp cho các truy vấn theo hàng hoặc theo phạm vi, lý tưởng cho dữ liệu telemetry.
- D. MongoDB: Là một cơ sở dữ liệu tài liệu (document database) có khả năng mở rộng cao và hỗ trợ mô hình không có cấu trúc cố định (schema-less). Nó lưu trữ các tài liệu dạng JSON/BSON, cho phép truy vấn mạnh mẽ dựa trên các trường con riêng lẻ trong tài liệu.
- E. Cassandra: Là một cơ sở dữ liệu cột rộng phân tán, có khả năng chịu lỗi cực tốt, không có điểm lỗi duy nhất (single point of failure) và có khả năng mở rộng tuyến tính. Nó được thiết kế cho các hệ thống có tính sẵn sàng cao và độ trễ thấp, rất lý tưởng cho dữ liệu telemetry.
Các lựa chọn không phù hợp:
- A. Redis: Là cơ sở dữ liệu in-memory cặp khóa-giá trị (key-value store). Mặc dù có độ trễ cực thấp, nó không phù hợp để lưu trữ lượng dữ liệu khổng lồ (100TB/năm) một cách bền bị và tiết kiệm chi phí.
- C. MySQL: Là cơ sở dữ liệu quan hệ (RDBMS) tuân thủ ACID. Nó không được thiết kế để xử lý hiệu quả lượng dữ liệu ghi khổng lồ và không cấu trúc từ hàng triệu thiết bị IoT ở quy mô 100TB/năm.
- F. HDFS với Hive: Hive được thiết kế cho các truy vấn phân tích hàng loạt (batch analytics) trên HDFS và có độ trễ cao, không đáp ứng được yêu cầu về độ trễ thấp (low latency) của hệ thống.
(Đáp án được gợi ý bởi AI)