Câu hỏi phỏng vấn Cosmos DB
Câu hỏi

Chế độ chỉ mục None trong Cosmos DB được sử dụng khi nào?

Câu trả lời

Chế độ chỉ mục None trong Azure Cosmos DB được sử dụng trong các trường hợp đặc biệt khi bạn không cần thực hiện truy vấn trên các tài liệu trong một container, hoặc khi các truy vấn không cần sử dụng chỉ mục. Đây là một cấu hình quan trọng để tối ưu hóa hiệu suất và giảm chi phí, đặc biệt trong các tình huống sau:

1. Chỉ Đọc và Ghi Dựa trên ID

Khi các hoạt động trên container chỉ bao gồm đọc và ghi dựa trên ID của tài liệu (còn gọi là Point Read), không cần truy vấn dựa trên các thuộc tính khác. Vì Point Read sử dụng ID tài liệu và partition key để truy cập trực tiếp vào tài liệu mà không cần đến chỉ mục, việc thiết lập chỉ mục là không cần thiết.

2. Tối Ưu Hóa Chi Phí

Chế độ chỉ mục None giúp giảm chi phí lưu trữ và chi phí tính toán liên quan đến việc duy trì chỉ mục. Nếu bạn biết rằng các truy vấn trên container sẽ không được thực hiện hoặc chỉ thực hiện các truy vấn đơn giản không cần chỉ mục, việc vô hiệu hóa chỉ mục có thể là một lựa chọn chi phí hiệu quả.

3. Tối Ưu Hóa Hiệu Suất

Trong một số trường hợp, việc duy trì chỉ mục có thể ảnh hưởng đến hiệu suất ghi dữ liệu. Nếu ứng dụng của bạn yêu cầu hiệu suất ghi cực cao và không cần truy vấn dữ liệu thường xuyên, bạn có thể chọn vô hiệu hóa chỉ mục để tăng tốc độ ghi.

4. Dữ Liệu Lưu Trữ Tạm Thời

Trong trường hợp dữ liệu chỉ được lưu trữ tạm thời và sẽ được xử lý hoặc xóa sau một khoảng thời gian ngắn, việc duy trì chỉ mục có thể không cần thiết và làm lãng phí tài nguyên.

Cách Thiết Lập Chế Độ Chỉ Mục None

Bạn có thể thiết lập chế độ chỉ mục None cho một container trong Cosmos DB bằng cách sử dụng Azure Portal hoặc thông qua SDK. Dưới đây là ví dụ về cách thiết lập này bằng Azure CLI:

bash Copy
az cosmosdb sql container create \
    --account-name <AccountName> \
    --database-name <DatabaseName> \
    --name <ContainerName> \
    --partition-key-path "/partitionKey" \
    --indexing-policy '{ "indexingMode": "none" }'

Kết Luận

Chế độ chỉ mục None là một công cụ quan trọng trong việc tối ưu hóa hiệu suất và chi phí cho các ứng dụng Cosmos DB. Tuy nhiên, cần cân nhắc kỹ lưỡng khi sử dụng chế độ này để đảm bảo rằng nó phù hợp với yêu cầu của ứng dụng và không ảnh hưởng tiêu cực đến khả năng truy vấn dữ liệu khi cần.

senior

senior

Gợi ý câu hỏi phỏng vấn

middle

Làm thế nào để chọn khóa phân vùng phù hợp cho container trong CosmosDB?

expert

Cosmos DB cung cấp những tùy chọn bảo mật nào?

expert

Những hạn chế của Phân vùng Vật lý là gì và tại sao việc theo dõi chúng lại quan trọng?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào