Trong Cloud Bigtable, các hàng được sắp xếp theo thứ tự từ điển dựa trên khóa hàng (row key).
- Nếu thiết kế khóa hàng bắt đầu bằng trường ngày giờ (
datetime), tất cả các giao dịch mới ghi vào hệ thống sẽ được ghi vào cùng một phân vùng vật lý (tablet) gần nhau theo thời gian thực. Điều này tạo ra một điểm nóng (hotspotting), khiến một máy chủ Bigtable phải chịu tải cực cao trong khi các máy chủ khác nhàn rỗi, dẫn đến suy giảm hiệu năng nghiêm trọng.
- A. Thay đổi cú pháp khóa hàng (row key) trong bảng Cloud Bigtable để bắt đầu bằng ký hiệu mã cổ phiếu (stock symbol) (ví dụ:
[stock_symbol]#[datetime]) giúp:
- Phân tán đồng đều dữ liệu và tải trọng ghi/đọc trên nhiều máy chủ khác nhau dựa trên các mã cổ phiếu khác nhau, loại bỏ hotspotting.
- Tối ưu hóa các truy vấn tìm giá cổ phiếu trung bình của một công ty cụ thể vì dữ liệu của công ty đó được lưu trữ gần nhau, cho phép thực hiện quét theo phạm vi (range scan) nhanh chóng.
Các lựa chọn khác không tối ưu:
- B (số ngẫu nhiên ở đầu) ngăn cản việc quét theo phạm vi của một mã cổ phiếu cụ thể.
- C (sử dụng BigQuery) có độ trễ truy vấn cao hơn Bigtable và không phù hợp cho hàng nghìn người dùng đồng thời truy xuất ứng dụng thời gian thực.
- D làm tăng độ phức tạp hệ thống một cách không cần thiết.
(Đáp án được gợi ý bởi AI)