Trang này cung cấp ví dụ về cách tính đơn vị thanh toán trong một số trường hợp phổ biến nhất. Xin lưu ý rằng mỗi truy vấn có thể khác nhau về dữ liệu được xử lý dựa trên các yếu tố như kế hoạch truy vấn, hình dạng của dữ liệu và các chỉ mục có sẵn.
Bạn nên sử dụng tính năng Giải thích truy vấn để hiểu rõ hơn về chi phí và hiệu suất của các truy vấn cụ thể.
Thao tác đọc
Hầu hết các thao tác đọc đều đòi hỏi phải thực hiện thao tác đọc điểm của một tài liệu cụ thể hoặc quét một dải dữ liệu dựa trên giá trị nhận dạng. Thao tác đọc sẽ tiêu tốn đơn vị đọc. Hãy xem các ví dụ sau.
Tìm kiếm toàn bộ văn bản
Phí cho các truy vấn tìm kiếm toàn văn được phân biệt giữa chi phí để thực hiện tìm kiếm trên chỉ mục văn bản và chi phí để truy xuất tài liệu. Chi phí để thực hiện tìm kiếm trên chỉ mục văn bản được xác định theo độ phức tạp của truy vấn và lượng dữ liệu được quét trong chỉ mục để tìm kết quả. Các yếu tố ảnh hưởng đến chi phí này bao gồm số lượng và bản chất của cụm từ tìm kiếm (ví dụ: cụm từ, cụm từ), liệu có áp dụng tính điểm mức độ liên quan hay không và số lượng mục nhập chỉ mục cần được kiểm tra. Chi phí truy xuất tài liệu có liên quan dựa trên số lượng và kích thước của tài liệu được tìm nạp sau khi giai đoạn tìm kiếm hoàn tất.
Bảng sau đây trình bày các khoản phí liên quan đến việc thực thi cụm từ tìm kiếm toàn bộ văn bản cho danh mục sản phẩm thương mại điện tử của một vườn ươm cây. Ví dụ này giả định một tập hợp gồm 200.000 trang thông tin sản phẩm trong một tập hợp, trong đó mỗi tài liệu trang thông tin sản phẩm là 2KiB và kích thước chỉ mục của Tìm kiếm văn bản tương ứng là khoảng 100MiB.
| Truy vấn | Ví dụ về mã | Số đơn vị đọc ước tính được sử dụng cho mỗi truy vấn | Chi phí ước tính (khu vực: us-central1, tính bằng USD) |
|---|---|---|---|
| Tìm kiếm sản phẩm khay phẳng xếp chồng "nước khô" hiếm, kết quả là truy xuất được 3 tài liệu. | |
Tổng cộng 10 đơn vị đọc Dựa trên 7 đơn vị cho tính năng tìm kiếm toàn bộ văn bản và 3 đơn vị bổ sung cho tài liệu được trả về. |
0,5 USD/triệu truy vấn |
| Tìm kiếm tất cả cây họ cam quýt trong nhà, kết quả là truy xuất được 36 tài liệu. | |
Tổng cộng 42 đơn vị đọc Dựa trên 6 đơn vị cho tính năng tìm kiếm toàn bộ văn bản và 36 đơn vị bổ sung cho các tài liệu được trả về. |
2,1 USD/triệu truy vấn |
| Tìm kiếm chậu trồng cây ban công, nơi có nhiều sản phẩm phù hợp. Sắp xếp kết quả theo mức độ liên quan và giới hạn ở 50 kết quả tìm kiếm hàng đầu. | |
Tổng số đơn vị đọc là 75 Dựa trên 25 đơn vị cho phương thức tìm kiếm toàn bộ văn bản và 50 đơn vị bổ sung cho tài liệu được trả về. |
3,75 USD/triệu truy vấn |
Các ví dụ sau đây minh hoạ mức độ ảnh hưởng của các mẫu truy vấn khác nhau đến chi phí:
- Cụm từ tìm kiếm "dry water" bao gồm một cụm từ (
"dry water") và các cụm từ bổ sung. Các lượt tìm kiếm theo cụm từ phức tạp hơn vì công cụ truy vấn cần kiểm tra thứ tự và mức độ tương cận của mã thông báo, góp phần tạo nên 7 đơn vị đọc cho giai đoạn tìm kiếm. Vì có rất ít tài liệu khớp nên chi phí truy xuất tài liệu thấp. - Cụm từ tìm kiếm"indoor" "citrus" "tree" tìm kiếm ba cụm từ riêng biệt. Mặc dù mỗi cụm từ ít phức tạp hơn một chút so với cụm từ tìm kiếm, nhưng bạn vẫn cần tra cứu nhiều mã thông báo. Chi phí quét chỉ mục của Tìm kiếm của truy vấn này là 6 đơn vị đọc, thấp hơn một chút so với ví dụ về "nước khô", nhưng có 36 tài liệu được trả về, làm tăng tổng chi phí.
- Cụm từ tìm kiếm chậu cây ban công có chi phí tìm kiếm toàn bộ văn bản cao nhất là 25 đơn vị, cao hơn đáng kể so với các cụm từ tìm kiếm khác. Điều này chủ yếu là do truy vấn yêu cầu kết quả
được sắp xếp theo mức độ liên quan (
.sort({score: {$meta: "textScore"}})) dựa trên các cụm từ khớp với nhiều tài liệu. Để xác định 50 kết quả phù hợp nhất, công cụ truy vấn phải tìm tất cả kết quả có thể khớp với "ban công" hoặc "chậu cây", tính điểm mức độ liên quan cho từng kết quả rồi sắp xếp chúng. Quá trình chấm điểm và sắp xếp này trên một số lượng lớn các đề xuất trong chỉ mục đòi hỏi nhiều tài nguyên tính toán, mặc dù cuối cùng chỉ có 50 tài liệu được truy xuất. Phạm vi rộng của các cụm từ kết hợp với mức hao tổn của việc chấm điểm mức độ liên quan khiến giai đoạn tìm kiếm tốn kém hơn.
Truy vấn không gian địa lý
Phí cho các truy vấn không gian địa lý được xác định theo độ phức tạp của truy vấn, các điều kiện và cách sắp xếp cụ thể được sử dụng, cũng như tài nguyên cần thiết để quét tất cả dữ liệu trong chỉ mục không gian địa lý có liên quan.
Bảng sau đây trình bày các khoản phí liên quan đến việc thực thi truy vấn không gian địa lý cho một ứng dụng bản đồ. Ví dụ này giả định một tập hợp gồm 1.000.000 tài liệu đại diện cho các điểm yêu thích, trong đó mỗi tài liệu điểm yêu thích là 1KiB và kích thước chỉ mục không gian địa lý tương ứng là khoảng 60MiB.
| Truy vấn | Ví dụ về mã | Số đơn vị đọc ước tính được sử dụng cho mỗi truy vấn | Chi phí ước tính (khu vực: us-central1, tính bằng USD) |
|---|---|---|---|
| Tìm tất cả các điểm yêu thích trong phạm vi tối đa 10 km, trả về 10 kết quả phù hợp. | |
Tổng cộng 16 đơn vị đọc. Dựa trên 6 đơn vị đọc cho truy vấn không gian địa lý và 10 đơn vị bổ sung cho tài liệu được trả về. |
0,8 USD/triệu truy vấn |
| Tìm tất cả địa điểm yêu thích trong khoảng cách tối đa là 100 km và trả về 10 địa điểm yêu thích gần nhất trong số 1.000 kết quả phù hợp | |
Tổng cộng 19 đơn vị đọc. Dựa trên 9 đơn vị đọc cho truy vấn không gian địa lý và 10 đơn vị bổ sung cho tài liệu được trả về. |
0,95 USD/triệu truy vấn |
Các ví dụ sau đây minh hoạ mức độ ảnh hưởng của các mẫu truy vấn khác nhau đến chi phí:
- Truy vấn bán kính 10 km: Truy vấn này quét một khu vực địa lý nhỏ hơn. Vì chỉ tìm thấy 10 kết quả phù hợp trong bán kính 10 km này, nên công cụ truy vấn phải thực hiện ít công việc hơn để xác định và sắp xếp các điểm này theo khoảng cách (như
$nearngầm thực hiện). Điều này dẫn đến chi phí quét chỉ mục thấp hơn là 6 đơn vị đọc. - Truy vấn bán kính 100 km: Truy vấn này bao gồm một khu vực lớn hơn nhiều. Cụm từ tìm kiếm này tìm thấy 1.000 kết quả trùng khớp tiềm năng trong bán kính 100 km. Để thực hiện yêu cầu về 10 điểm gần nhất, công cụ truy vấn cần tính toán khoảng cách và sắp xếp một tập hợp các điểm đề xuất lớn hơn nhiều (tối đa 1.000 điểm) trong chỉ mục. Công việc tính toán bổ sung này là sàng lọc và xếp hạng nhiều điểm hơn, đó là lý do tại sao chi phí truy vấn không gian địa lý cao hơn ở mức 9 đơn vị đọc, so với truy vấn 10 km, mặc dù cũng chỉ trả về 10 tài liệu.
Đọc điểm
Ví dụ về cách tính phí cho thao tác đọc điểm:
- Đọc điểm của một tài liệu 1 KiB. Tiêu thụ: 1 đơn vị đọc
- Đọc điểm của một tài liệu 4 KiB. Tiêu thụ: 1 đơn vị đọc
- Đọc điểm của một tài liệu 1 MiB. Tiêu thụ: 256 đơn vị đọc
- Đọc điểm của 100 tài liệu, mỗi tài liệu 1 KiB. Tiêu thụ: 100 đơn vị đọc
Đang quét
Các ví dụ sau đây bao gồm các trường hợp quét tài liệu hoặc mục nhập chỉ mục.
Quét tài liệu
- Truy vấn quét 100 tài liệu, mỗi tài liệu 1 KiB. Sử dụng: 25 đơn vị đọc
Đang quét chỉ mục
Chi phí quét (tính theo byte) là như nhau, bất kể đó là tài liệu hay chỉ mục đang được quét. Tuy nhiên, các mục nhập chỉ mục thường có kích thước nhỏ hơn. Do đó, các công cụ này thường có thể cung cấp một cách quét dữ liệu tiết kiệm chi phí hơn.
- Truy vấn quét 100 mục nhập chỉ mục, mỗi mục nhập 1 KiB. Tiêu thụ: 25 đơn vị đọc.
- Truy vấn quét 100 mục nhập chỉ mục, mỗi mục nhập 128 byte. Tiêu thụ: 4 đơn vị đọc.
Kích thước tối thiểu của tài liệu hoặc mục nhập chỉ mục
Trong một số trường hợp, bạn có thể không cần đọc nội dung của tài liệu hoặc mục nhập chỉ mục để đáp ứng một truy vấn. Điều này bao gồm các truy vấn đếm đơn giản như đếm tổng số tài liệu trong một tập hợp. Trong những trường hợp này, chi phí tối thiểu là 32 byte cho mỗi mục được quét.
- Đếm số lượng tài liệu trong một tập hợp. Truy vấn quét 1000 mục trong tập hợp. Tiêu thụ: 8 đơn vị đọc.
Kết hợp quét và đọc điểm
Nhiều truy vấn thực hiện kết hợp quét và đọc điểm để đáp ứng một thao tác.
- Truy vấn quét 128 mục nhập chỉ mục, mỗi mục nhập 256 byte và thực hiện một
lần đọc điểm của 128 tài liệu, mỗi tài liệu 4 KiB. Tiêu thụ: 136 đơn vị đọc, bao gồm:
- 128 đơn vị đọc cho các lần đọc điểm
- 8 đơn vị đọc cho các lần quét chỉ mục
Giải thích truy vấn
Giải thích truy vấn giúp bạn hiểu cách cơ sở dữ liệu thực thi các truy vấn của bạn. Thông tin chi tiết được cung cấp có thể giúp bạn tối ưu hoá truy vấn.
Các chi phí sau đây sẽ áp dụng khi bạn sử dụng tính năng Giải thích truy vấn:
- Giải thích truy vấn thực thi truy vấn: Áp dụng chi phí truy vấn.
- Giải thích truy vấn chỉ bằng tuỳ chọn kế hoạch. Tiêu thụ: 1 đơn vị đọc (chi phí tối thiểu của một truy vấn)
Thao tác ghi
Thao tác ghi (tạo, cập nhật và xoá) được tính phí dựa trên kích thước của tài liệu và chỉ mục đang được tạo, sửa đổi hoặc xoá trong quá trình thao tác. Thao tác ghi sẽ tiêu tốn đơn vị ghi. Đơn vị ghi được tính theo từng phần 1 KiB.
Các thao tác ghi đơn giản, chẳng hạn như cập nhật theo mã tài liệu, chỉ phải chịu chi phí ghi. Thao tác ghi yêu cầu truy vấn để đáp ứng thao tác sẽ phát sinh thêm chi phí đọc liên quan đến truy vấn.
Hãy xem các ví dụ sau.
Tạo
- Tạo một tài liệu mới có kích thước 10 KiB và không có chỉ mục. Tiêu thụ: 10 đơn vị ghi
- Tạo một tài liệu 1 KiB có 1 mục nhập chỉ mục 256 byte trên tập hợp. Tiêu thụ: 2 đơn vị ghi
Cập nhật
- Tìm một tài liệu 10 KiB theo mã tài liệu và cập nhật mà không có chỉ mục trên tập hợp. Tiêu thụ: 10 đơn vị ghi
- Tìm một tài liệu 1 KiB theo mã tài liệu và cập nhật 1 trường có 1 mục nhập chỉ mục 256 byte. Tiêu thụ: 3 đơn vị ghi. Lưu ý: Việc cập nhật một mục nhập chỉ mục trong trường hợp này sẽ tiêu tốn 2 đơn vị ghi – một đơn vị để xoá và một đơn vị để tạo lại mục nhập chỉ mục.
- Tìm một tài liệu 1 KiB theo mã tài liệu và không cập nhật gì (không có thay đổi). Tiêu thụ: 1 đơn vị ghi (chi phí ghi tối thiểu)
- Truy vấn tất cả tài liệu 1 KiB trong một tập hợp (quét 1.000 tài liệu) và chèn một trường 256 byte mới không có chỉ mục vào tập hợp: 1.000 đơn vị đọc và 1.000 đơn vị ghi.
Xoá
- Xoá một tài liệu 1 KiB có 1 chỉ mục trên tập hợp. Tiêu thụ: 2 đơn vị ghi
- Xoá một tài liệu 1 KiB không có chỉ mục trong tập hợp. Tiêu thụ: 1 đơn vị ghi
Bản dựng chỉ mục
Các bản dựng chỉ mục tính phí cho các mục chỉ mục được tạo hoặc sửa đổi trong quá trình tạo bản dựng. Các chi phí này phát sinh bất cứ khi nào một định nghĩa chỉ mục được thêm hoặc xoá. Các mục nhập chỉ mục được tính phí giống như các lượt ghi, tức là 1 đơn vị ghi cho mỗi 1KiB.
- Tạo một chỉ mục mới cho một tập hợp chứa 500 tài liệu, các mục nhập chỉ mục được tạo có kích thước 1 KiB mỗi mục. Sử dụng 500 đơn vị ghi.
- Xoá một chỉ mục hiện có cho một tập hợp chứa 500 tài liệu, mỗi mục nhập chỉ mục bị xoá có kích thước 1KiB. Sử dụng 500 đơn vị ghi.