Contoh penghitungan harga

Halaman ini menyertakan contoh cara penghitungan unit penagihan dalam beberapa skenario yang paling umum. Perhatikan bahwa setiap kueri mungkin berbeda dalam data yang diproses berdasarkan faktor seperti rencana kueri, bentuk data, dan indeks yang tersedia.

Sebaiknya gunakan fitur Query Explain untuk lebih memahami biaya dan performa kueri tertentu Anda.

Operasi baca

Sebagian besar operasi baca memerlukan pembacaan titik dokumen tertentu atau pemindaian rentang data berdasarkan ID. Operasi baca menggunakan unit baca. Unit baca dihitung dalam tranche 4 KiB. Lihat contoh berikut.

Pembacaan titik

Contoh penagihan untuk pembacaan titik:

  • Baca titik dari satu dokumen 1 KiB. Mengonsumsi: 1 unit baca
  • Baca titik dari satu dokumen 4 KiB. Mengonsumsi: 1 unit baca
  • Pembacaan titik dari satu dokumen 1 MiB. Mengonsumsi: 256 unit baca
  • Pembacaan titik dari 100 dokumen, masing-masing berukuran 1 KiB. Mengonsumsi: 100 unit baca

Memindai

Contoh berikut mencakup skenario yang memindai dokumen atau entri indeks.

Memindai Dokumen

  • Kueri yang memindai 100 dokumen, masing-masing berukuran 1 KiB. Menggunakan: 25 unit baca

Memindai indeks

Biaya pemindaian, dalam hal byte, sama, terlepas dari apakah itu dokumen atau indeks yang dipindai. Namun, ukuran entri indeks sering kali lebih kecil. Akibatnya, mereka sering kali dapat memberikan cara pemindaian data yang lebih hemat biaya.

  • Kueri yang memindai 100 entri indeks, masing-masing berukuran 1 KiB. Menggunakan: 25 unit baca.
  • Kueri yang memindai 100 entri indeks, masing-masing berukuran 128 byte. Menggunakan: 4 unit baca.

Ukuran dokumen atau entri indeks minimum

Dalam situasi tertentu, Anda mungkin tidak perlu membaca konten dokumen atau entri indeks untuk memenuhi kueri. Hal ini mencakup kueri jumlah sederhana seperti menghitung jumlah total dokumen dalam koleksi. Dalam situasi ini, biaya minimum 32 byte berlaku per item yang dipindai.

  • Menghitung jumlah dokumen dalam koleksi. Kueri memindai 1.000 item dalam koleksi. Mengkonsumsi: 8 unit baca.

Kombinasi pemindaian dan pembacaan titik

Banyak kueri melakukan kombinasi pemindaian dan pembacaan titik untuk memenuhi operasi.

  • Kueri yang memindai 128 entri indeks, masing-masing 256 byte, dan melakukan pembacaan titik dari 128 dokumen, masing-masing 4 KiB. Mengkonsumsi: 136 unit baca, yang terdiri dari:
    • 128 unit baca untuk pembacaan titik
    • 8 unit baca untuk pemindaian indeks

Query Explain

Query Explain membantu Anda memahami cara database menjalankan kueri. Detail yang diberikan dapat membantu Anda mengoptimalkan kueri.

Biaya berikut berlaku saat menggunakan Query Explain:

  • Query Explain yang menjalankan kueri: Biaya kueri berlaku.
  • Query Explain menggunakan opsi hanya rencana. Mengkonsumsi: 1 unit baca (biaya minimum kueri)

Operasi tulis

Operasi tulis (membuat, memperbarui, dan menghapus) dikenai biaya berdasarkan ukuran dokumen dan indeks yang dibuat, diubah, atau dihapus selama operasi. Operasi tulis menggunakan unit tulis. Unit tulis dihitung dalam 1 tranche KiB.

Operasi tulis sederhana, seperti pembaruan menurut ID dokumen, hanya menimbulkan biaya operasi tulis. Operasi tulis yang memerlukan kueri untuk memenuhi operasi juga akan dikenai biaya baca yang terkait dengan kueri.

Lihat contoh berikut.

Membuat

  • Buat dokumen baru berukuran 10 KiB tanpa indeks. Menggunakan: 10 unit operasi tulis
  • Buat dokumen 1 KiB dengan 1 entri indeks 256 byte di koleksi. Menggunakan: 2 unit tulis

Update

  • Temukan dokumen 10 KiB berdasarkan ID dokumen dan perbarui tanpa indeks pada koleksi. Menggunakan: 10 unit operasi tulis
  • Temukan dokumen 1 KiB berdasarkan ID dokumen dan perbarui 1 kolom dengan 1 entri indeks 256 byte. Menggunakan: 3 unit operasi tulis. Catatan: Memperbarui entri indeks dalam situasi ini memerlukan 2 unit operasi tulis – satu untuk menghapus dan satu untuk membuat ulang entri indeks.
  • Temukan dokumen 1 KiB berdasarkan ID dokumen dan jangan perbarui apa pun (tidak ada perubahan). Mengkonsumsi: 1 unit tulis (biaya tulis minimum)
  • Buat kueri semua dokumen 1 KiB dalam koleksi, yang memindai 1.000 dokumen, dan sisipkan kolom 256 byte baru tanpa indeks pada koleksi: 1.000 unit baca dan 1.000 unit tulis.

Penghapusan

  • Menghapus dokumen 1 KiB, yang memiliki 1 indeks di koleksi. Menggunakan: 2 unit operasi tulis
  • Menghapus dokumen 1 KiB, yang tidak memiliki indeks di koleksi. Menggunakan: 1 unit operasi tulis

Build indeks

Build indeks mengenakan biaya untuk entri indeks yang dibuat atau diubah selama operasi build. Biaya ini dikenakan setiap kali definisi indeks ditambahkan atau dihapus. Entri indeks ditagih secara identik dengan operasi tulis yang menimbulkan 1 unit tulis per 1 KiB.

  • Buat indeks baru untuk koleksi yang berisi 500 dokumen, setiap entri indeks yang dibuat berukuran 1 KiB. Menghabiskan 500 unit operasi tulis.
  • Menghapus indeks yang ada untuk koleksi yang berisi 500 dokumen, setiap entri indeks yang dihapus berukuran 1 KiB. Menghabiskan 500 unit operasi tulis.