เกี่ยวข้องกับ Cloud Firestore Enterprise Edition เท่านั้น |
หน้านี้มีตัวอย่างวิธีกำหนดหน่วยการเรียกเก็บเงินใน สถานการณ์ที่พบบ่อยที่สุด โปรดทราบว่าการค้นหาแต่ละครั้งอาจมีข้อมูลที่ ประมวลผลแตกต่างกันไปตามปัจจัยต่างๆ เช่น แผนการค้นหา รูปแบบของข้อมูล และดัชนีที่ใช้ได้
เราขอแนะนำให้ใช้ฟีเจอร์อธิบายคำค้นหาเพื่อให้เข้าใจต้นทุนและประสิทธิภาพของคำค้นหาที่เฉพาะเจาะจงได้ดียิ่งขึ้น
การดำเนินการอ่าน
การดำเนินการอ่านส่วนใหญ่เกี่ยวข้องกับการอ่านแบบจุดของเอกสารที่เฉพาะเจาะจง หรือการสแกนช่วงข้อมูลตามตัวระบุ การดำเนินการอ่านจะใช้หน่วยอ่าน ระบบจะคำนวณหน่วยการอ่านเป็นส่วนๆ ขนาด 4 KiB โปรดดูตัวอย่างต่อไปนี้
การอ่านแบบชี้
ตัวอย่างการเรียกเก็บเงินสำหรับการอ่านข้อมูลจุด
- การอ่านแบบชี้ของเอกสารขนาด 1 KiB รายการเดียว ใช้: หน่วยการอ่าน 1 หน่วย
- การอ่านแบบจุดของเอกสารขนาด 4 KiB เดียว ใช้: หน่วยการอ่าน 1 หน่วย
- การอ่านแบบเจาะจงของเอกสารขนาด 1 MiB เดียว ใช้: 256 หน่วยการอ่าน
- อ่านแบบชี้ตำแหน่งของเอกสาร 100 รายการ โดยแต่ละรายการมีขนาด 1 KiB ใช้: หน่วยการอ่าน 100 หน่วย
กำลังสแกน
ตัวอย่างต่อไปนี้รวมถึงสถานการณ์ที่สแกนเอกสารหรือรายการดัชนี
การสแกนเอกสาร
- คําค้นหาที่สแกนเอกสาร 100 รายการ ขนาด 1 KiB ต่อรายการ ใช้: หน่วยการอ่าน 25 หน่วย
การสแกนดัชนี
ค่าใช้จ่ายในการสแกนในแง่ของไบต์จะเหมือนกันไม่ว่าจะเป็นการสแกนเอกสารหรือดัชนี อย่างไรก็ตาม รายการดัชนีมักจะมีขนาดเล็กกว่า ด้วยเหตุนี้ จึงมักเป็นวิธีที่คุ้มค่ากว่าในการสแกนข้อมูล
- การค้นหาที่สแกนรายการดัชนี 100 รายการ โดยแต่ละรายการมีขนาด 1 KiB ใช้: 25 หน่วยการอ่าน
- คําค้นหาที่สแกนรายการดัชนี 100 รายการ โดยแต่ละรายการมีขนาด 128 ไบต์ ใช้: 4 หน่วยการอ่าน
ขนาดขั้นต่ำของเอกสารหรือรายการดัชนี
ในบางสถานการณ์ คุณอาจไม่จำเป็นต้องอ่านเนื้อหาของเอกสารหรือรายการดัชนีเพื่อตอบคำค้นหา ซึ่งรวมถึงการค้นหาการนับอย่างง่าย เช่น การนับจำนวนเอกสารทั้งหมดในคอลเล็กชัน ในกรณีเช่นนี้ ระบบจะคิดค่าใช้จ่ายขั้นต่ำ 32 ไบต์ต่อสินค้าที่สแกน
- นับจำนวนเอกสารในคอลเล็กชัน การค้นหาจะสแกนรายการ 1,000 รายการในคอลเล็กชัน ใช้: 8 หน่วยการอ่าน
การผสมผสานระหว่างการสแกนและการอ่านจุด
การค้นหาหลายรายการจะทำการสแกนและการอ่านแบบเจาะจงร่วมกันเพื่อดำเนินการ
- การค้นหาที่สแกนรายการดัชนี 128 รายการ โดยแต่ละรายการมีขนาด 256 ไบต์ และทำการอ่านแบบเจาะจงของเอกสาร 128 รายการ โดยแต่ละรายการมีขนาด 4 KiB ใช้: หน่วยการอ่าน 136 หน่วย ซึ่งประกอบด้วย
- หน่วยการอ่าน 128 หน่วยสำหรับการอ่านแบบชี้
- หน่วยอ่าน 8 หน่วยสำหรับการสแกนดัชนี
อธิบายการค้นหา
คำอธิบายการค้นหาช่วยให้คุณเข้าใจวิธีที่ฐานข้อมูล ดำเนินการค้นหา รายละเอียดที่ระบุจะช่วยเพิ่มประสิทธิภาพคำค้นหาได้
ค่าใช้จ่ายต่อไปนี้จะมีผลเมื่อใช้คำอธิบายการค้นหา
- Query Explain which executes the query: Query cost applies.
- อธิบายการค้นหาโดยใช้ตัวเลือกแผนเท่านั้น ใช้: หน่วยการอ่าน 1 หน่วย (ค่าใช้จ่ายขั้นต่ำของการค้นหา)
การดำเนินการเขียน
ระบบจะเรียกเก็บเงินสำหรับการดำเนินการเขียน (สร้าง อัปเดต และลบ) ตาม ขนาดของเอกสารและดัชนีที่สร้าง แก้ไข หรือลบในระหว่าง การดำเนินการ การดำเนินการเขียนจะใช้หน่วยการเขียน ระบบจะคำนวณหน่วยการเขียนใน กลุ่ม KiB
การดำเนินการเขียนอย่างง่าย เช่น การอัปเดตตามรหัสเอกสาร จะมีค่าใช้จ่ายเฉพาะการเขียนเท่านั้น การดำเนินการเขียนที่ต้องมีการค้นหาเพื่อให้การดำเนินการสำเร็จ จะทำให้เกิดค่าใช้จ่ายในการอ่านที่เชื่อมโยงกับการค้นหาด้วย
โปรดดูตัวอย่างต่อไปนี้
สร้าง
- สร้างเอกสารใหม่ขนาด 10 KiB ที่ไม่มีดัชนี ใช้: หน่วยการเขียน 10 หน่วย
- สร้างเอกสารขนาด 1 KiB ที่มีรายการดัชนี 1 รายการขนาด 256 ไบต์ในคอลเล็กชัน ใช้: 2 หน่วยการเขียน
อัปเดต
- ค้นหาเอกสารขนาด 10 KiB ตามรหัสเอกสารและอัปเดตโดยไม่มีดัชนีในคอลเล็กชัน ใช้: หน่วยการเขียน 10 หน่วย
- ค้นหาเอกสารขนาด 1 KiB ตามรหัสเอกสารและอัปเดต 1 ฟิลด์ด้วยรายการดัชนี 1 รายการขนาด 256 ไบต์ ใช้: 3 หน่วยการเขียน หมายเหตุ: การอัปเดตรายการดัชนีในสถานการณ์นี้จะใช้หน่วยการเขียน 2 หน่วย ได้แก่ หน่วยสำหรับลบและหน่วยสำหรับสร้างรายการดัชนีใหม่
- ค้นหาเอกสารขนาด 1 KiB ตามรหัสเอกสารและไม่อัปเดตอะไรเลย (ไม่มีการเปลี่ยนแปลง) ใช้: 1 หน่วยการเขียน (ค่าใช้จ่ายในการเขียนขั้นต่ำ)
- ค้นหาเอกสารขนาด 1 KiB ทั้งหมดในคอลเล็กชัน ซึ่งจะสแกนเอกสาร 1, 000 รายการ และ แทรกฟิลด์ใหม่ขนาด 256 ไบต์โดยไม่มีดัชนีในคอลเล็กชัน: หน่วยการอ่าน 1,000 หน่วยและหน่วยการเขียน 1, 000 หน่วย
การลบ
- ลบเอกสารขนาด 1 KiB ซึ่งมีดัชนี 1 รายการในคอลเล็กชัน ใช้: 2 หน่วยการเขียน
- ลบเอกสารขนาด 1 KiB ซึ่งไม่มีดัชนีในคอลเล็กชัน ใช้: หน่วยการเขียน 1 หน่วย
เวอร์ชันดัชนี
การสร้างดัชนีจะเรียกเก็บเงินสำหรับรายการดัชนีที่สร้างหรือแก้ไขในระหว่างการดำเนินการสร้าง ค่าใช้จ่ายเหล่านี้จะเกิดขึ้นทุกครั้งที่มีการเพิ่มหรือนำคำจำกัดความดัชนีออก ระบบจะเรียกเก็บเงินรายการดัชนีเหมือนกับการเขียน โดยจะมีการเขียน 1 หน่วย ต่อ 1 KiB
- สร้างดัชนีใหม่สำหรับคอลเล็กชันที่มีเอกสาร 500 รายการ โดยรายการดัชนี ที่สร้างจะมีขนาด 1 KiB ใช้หน่วยการเขียน 500 หน่วย
- ลบดัชนีที่มีอยู่สำหรับคอลเล็กชันที่มีเอกสาร 500 รายการ รายการดัชนีที่ลบมีขนาด 1 KiB ต่อรายการ ใช้หน่วยการเขียน 500 หน่วย