Trang này có các ví dụ về cách tính toán đơ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 quả của các truy vấn cụ thể.
Thao tác đọc
Hầu hết các thao tác đọc đều liên quan đến việc 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 phạm vi dữ liệu dựa trên một mã nhận dạng. Các thao tác đọc tiêu thụ đơn vị đọc. Hãy xem các ví dụ sau.
Tìm kiếm toàn bộ văn bản
Các khoản phí cho truy vấn tìm kiếm toàn bộ văn bả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 bởi độ 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ừ), việc 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 mô tả các khoản phí liên quan đến việc thực thi truy vấn 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, với mỗi tài liệu trang thông tin sản phẩm là 2KiB và kích thước chỉ mục 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 đã tiêu thụ cho mỗi truy vấn | Chi phí ước tính (khu vực: us-central1 bằng USD) |
|---|---|---|---|
| Tìm kiếm một sản phẩm khay phẳng hiếm gặp "nước khô", dẫn đến việc truy xuất 3 tài liệu. | |
Tổng cộng 10 đơn vị đọc Dựa trên 7 đơn vị cho tìm kiếm toàn bộ văn bản và 3 đơn vị bổ sung cho các tài liệu được trả về. |
0,50 USD cho mỗi triệu truy vấn |
| Tìm kiếm tất cả cây có múi trong nhà, dẫn đến việc truy xuất 36 tài liệu. | |
Tổng cộng 42 đơn vị đã đọc Dựa trên 6 đơn vị cho 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,10 USD cho mỗi triệu truy vấn |
| Tìm kiếm chậu trồng cây trên ban công khi có nhiều kết quả phù hợp với sản phẩm. 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 cộng 75 đơn vị đã đọc Dựa trên 25 đơn vị cho tìm kiếm toàn bộ văn bản và 50 đơn vị bổ sung cho các tài liệu được trả về. |
3,75 USD cho mỗi triệu truy vấn |
Các ví dụ này minh hoạ cách các mẫu truy vấn khác nhau ảnh hưởng đến chi phí:
- Truy vấn"nước khô" bao gồm một cụm từ (
"dry water") và các cụm từ bổ sung. Tìm kiếm cụm từ phức tạp hơn vì công cụ truy vấn cần kiểm tra khoảng cách và thứ tự của mã thông báo, đóng góp vào 7 đơn vị đọc cho giai đoạn tìm kiếm. Vì có rất ít tài liệu phù hợp, nên chi phí truy xuất tài liệu thấp. - Truy vấn"trong nhà" "có múi" "cây" tìm kiếm 3 cụm từ riêng biệt. Mặc dù ít phức tạp hơn một chút cho mỗi cụm từ so với tìm kiếm cụm từ, nhưng vẫn cần tra cứu nhiều mã thông báo. Chi phí quét chỉ mục tìm kiếm thấp hơn một chút là 6 đơn vị đọc so với ví dụ "nước khô", nhưng 36 tài liệu được trả về, làm tăng tổng chi phí.
- Truy vấn chậu trồng cây trên ban công có chi phí tìm kiếm toàn bộ văn bản cao nhất là 25 đơn vị theo một biên độ đáng kể. Điều này chủ yếu là do truy vấn yêu cầu sắp xếp kết quả
theo mức độ liên quan (
.sort({score: {$meta: "textScore"}})) trên các cụm từ phù hợp với nhiều tài liệu. Để xác định 50 kết quả liên quan nhất hàng đầu, công cụ truy vấn phải tìm tất cả kết quả phù hợp tiềm năng cho "ban công" hoặc "chậu trồng cây", tính điểm mức độ liên quan cho từng kết quả, sau đó sắp xếp chúng. Quá trình tính điểm và sắp xếp này trên một số lượng lớn ứng viên 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. Tính rộng rãi của các cụm từ kết hợp với chi phí chung của việc tính điểm mức độ liên quan làm cho giai đoạn tìm kiếm tốn kém hơn.
Truy vấn không gian địa lý
Các khoản phí cho truy vấn không gian địa lý được xác định bởi độ phức tạp của truy vấn và các điều kiện và sắp xếp cụ thể được sử dụng, cũng như các 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 mô tả các khoản phí liên quan đến việc thực thi truy vấn không gian địa lý cho ứ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 địa điểm yêu thích, với mỗi tài liệu địa đ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 đã tiêu thụ cho mỗi truy vấn | Chi phí ước tính (khu vực: us-central1 bằng USD) |
|---|---|---|---|
| Tìm tất cả điểm tham quan trong vòng 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 các tài liệu được trả về. |
0,80 USD cho mỗi triệu truy vấn |
| Tìm tất cả điểm tham quan với khoảng cách tối đa là 100 km và trả về 10 điểm tham quan 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 các tài liệu được trả về. |
0,95 USD cho mỗi triệu truy vấn |
Các ví dụ này minh hoạ cách các mẫu truy vấn khác nhau ảnh hưởng đế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 (vì
$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 phủ một khu vực rộng lớn hơn nhiều. Truy vấn tìm thấy 1.000 kết quả phù hợp tiềm năng trong bán kính 100 km. Để đáp ứng yêu cầu về 10 điểm gần nhất hàng đầu, 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 ứng viên 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 để sàng lọc và xếp hạng nhiều điểm hơn là lý do khiến 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ề thanh toán 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. Tiêu thụ: 25 đơn vị đọc
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 đó, chúng thường có thể cung cấp một cách quét dữ liệu hiệu quả hơn về chi phí.
- 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 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 áp dụng 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 thao tác đọ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 thao tác đọc điểm
- 8 đơn vị đọc cho thao tác 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 truy vấ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 áp dụng khi 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ỉ sử dụ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
Các 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 được tạo, sửa đổi hoặc xoá trong thao tác. Các thao tác ghi tiêu thụ đơn vị ghi. Các đơn vị ghi được tính theo các phần 1 KiB.
Các thao tác ghi đơn giản, như cập nhật theo mã tài liệu, chỉ phát sinh chi phí ghi. Các 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 10 KiB mới mà không có chỉ mục. Tiêu thụ: 10 đơn vị ghi
- Tạo một tài liệu 1 KiB với 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 với 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 tiêu thụ 2 đơn vị ghi – một để xoá và một để 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 mà không có chỉ mục trên tập hợp: 1.000 đơn vị đọc và 1.000 đơn vị ghi.
Nội dung đã xóa
- 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 trên tập hợp. Tiêu thụ: 1 đơn vị ghi
Tạo chỉ mục
Việc tạo chỉ mục tính phí cho các mục nhập chỉ mục được tạo hoặc sửa đổi trong thao tác tạo chỉ mục. 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 thao tác ghi, phát sinh 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 là 1 KiB mỗi mục. Tiêu thụ 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, các mục nhập chỉ mục bị xoá là 1KiB mỗi mục. Tiêu thụ 500 đơn vị ghi.